mirror of
https://github.com/rclone/rclone.git
synced 2024-11-25 09:54:44 +01:00
Test compilation of all arches
* Add compile_all step to Makefile * Add this to travis * Add -compile-only flag to cross-compile.go to save time making the zips
This commit is contained in:
parent
92d2e1f8d7
commit
ee6a35d750
@ -15,6 +15,7 @@ install:
|
|||||||
script:
|
script:
|
||||||
- make check
|
- make check
|
||||||
- make quicktest
|
- make quicktest
|
||||||
|
- make compile_all
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- GOTAGS=cmount
|
- GOTAGS=cmount
|
||||||
|
7
Makefile
7
Makefile
@ -123,6 +123,13 @@ upload_beta:
|
|||||||
rclone --config bin/travis.rclone.conf -v copy --include '*beta-latest*' build/ memstore:beta-rclone-org
|
rclone --config bin/travis.rclone.conf -v copy --include '*beta-latest*' build/ memstore:beta-rclone-org
|
||||||
@echo Beta release ready at $(BETA_URL)
|
@echo Beta release ready at $(BETA_URL)
|
||||||
|
|
||||||
|
compile_all:
|
||||||
|
ifdef GO_LATEST
|
||||||
|
go run bin/cross-compile.go -parallel 8 -compile-only $(BUILDTAGS) $(TAG)β
|
||||||
|
else
|
||||||
|
@echo Skipping compile all as not on Go stable
|
||||||
|
endif
|
||||||
|
|
||||||
travis_beta:
|
travis_beta:
|
||||||
git log $(LAST_TAG).. > /tmp/git-log.txt
|
git log $(LAST_TAG).. > /tmp/git-log.txt
|
||||||
go run bin/cross-compile.go -release beta-latest -git-log /tmp/git-log.txt -exclude "^windows/" -parallel 8 $(BUILDTAGS) $(TAG)β
|
go run bin/cross-compile.go -release beta-latest -git-log /tmp/git-log.txt -exclude "^windows/" -parallel 8 $(BUILDTAGS) $(TAG)β
|
||||||
|
@ -19,15 +19,16 @@ import (
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
// Flags
|
// Flags
|
||||||
debug = flag.Bool("d", false, "Print commands instead of running them.")
|
debug = flag.Bool("d", false, "Print commands instead of running them.")
|
||||||
parallel = flag.Int("parallel", runtime.NumCPU(), "Number of commands to run in parallel.")
|
parallel = flag.Int("parallel", runtime.NumCPU(), "Number of commands to run in parallel.")
|
||||||
copyAs = flag.String("release", "", "Make copies of the releases with this name")
|
copyAs = flag.String("release", "", "Make copies of the releases with this name")
|
||||||
gitLog = flag.String("git-log", "", "git log to include as well")
|
gitLog = flag.String("git-log", "", "git log to include as well")
|
||||||
include = flag.String("include", "^.*$", "os/arch regexp to include")
|
include = flag.String("include", "^.*$", "os/arch regexp to include")
|
||||||
exclude = flag.String("exclude", "^$", "os/arch regexp to exclude")
|
exclude = flag.String("exclude", "^$", "os/arch regexp to exclude")
|
||||||
cgo = flag.Bool("cgo", false, "Use cgo for the build")
|
cgo = flag.Bool("cgo", false, "Use cgo for the build")
|
||||||
noClean = flag.Bool("no-clean", false, "Don't clean the build directory before running.")
|
noClean = flag.Bool("no-clean", false, "Don't clean the build directory before running.")
|
||||||
tags = flag.String("tags", "", "Space separated list of build tags")
|
tags = flag.String("tags", "", "Space separated list of build tags")
|
||||||
|
compileOnly = flag.Bool("compile-only", false, "Just build the binary, not the zip.")
|
||||||
)
|
)
|
||||||
|
|
||||||
// GOOS/GOARCH pairs we build for
|
// GOOS/GOARCH pairs we build for
|
||||||
@ -117,20 +118,22 @@ func compileArch(version, goos, goarch, dir string) {
|
|||||||
env = append(env, flags...)
|
env = append(env, flags...)
|
||||||
}
|
}
|
||||||
runEnv(args, env)
|
runEnv(args, env)
|
||||||
// Now build the zip
|
if !*compileOnly {
|
||||||
run("cp", "-a", "../MANUAL.txt", filepath.Join(dir, "README.txt"))
|
// Now build the zip
|
||||||
run("cp", "-a", "../MANUAL.html", filepath.Join(dir, "README.html"))
|
run("cp", "-a", "../MANUAL.txt", filepath.Join(dir, "README.txt"))
|
||||||
run("cp", "-a", "../rclone.1", dir)
|
run("cp", "-a", "../MANUAL.html", filepath.Join(dir, "README.html"))
|
||||||
if *gitLog != "" {
|
run("cp", "-a", "../rclone.1", dir)
|
||||||
run("cp", "-a", *gitLog, dir)
|
if *gitLog != "" {
|
||||||
|
run("cp", "-a", *gitLog, dir)
|
||||||
|
}
|
||||||
|
zip := dir + ".zip"
|
||||||
|
run("zip", "-r9", zip, dir)
|
||||||
|
if *copyAs != "" {
|
||||||
|
copyAsZip := strings.Replace(zip, "-"+version, "-"+*copyAs, 1)
|
||||||
|
run("ln", zip, copyAsZip)
|
||||||
|
}
|
||||||
|
run("rm", "-rf", dir)
|
||||||
}
|
}
|
||||||
zip := dir + ".zip"
|
|
||||||
run("zip", "-r9", zip, dir)
|
|
||||||
if *copyAs != "" {
|
|
||||||
copyAsZip := strings.Replace(zip, "-"+version, "-"+*copyAs, 1)
|
|
||||||
run("ln", zip, copyAsZip)
|
|
||||||
}
|
|
||||||
run("rm", "-rf", dir)
|
|
||||||
log.Printf("Done compiling %s/%s", goos, goarch)
|
log.Printf("Done compiling %s/%s", goos, goarch)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user