forked from cerc-io/plugeth
travis: build to all supported linux architectures (#3235)
This commit is contained in:
parent
2ad5dba50a
commit
afe41de6b3
17
.travis.yml
17
.travis.yml
@ -20,6 +20,7 @@ matrix:
|
|||||||
# This builder does the Ubuntu PPA and Linux Azure uploads
|
# This builder does the Ubuntu PPA and Linux Azure uploads
|
||||||
- os: linux
|
- os: linux
|
||||||
dist: trusty
|
dist: trusty
|
||||||
|
sudo: required
|
||||||
go: 1.7
|
go: 1.7
|
||||||
env:
|
env:
|
||||||
- ubuntu-ppa
|
- ubuntu-ppa
|
||||||
@ -27,17 +28,31 @@ matrix:
|
|||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- gcc-multilib
|
|
||||||
- devscripts
|
- devscripts
|
||||||
- debhelper
|
- debhelper
|
||||||
- dput
|
- dput
|
||||||
|
- gcc-multilib
|
||||||
script:
|
script:
|
||||||
|
# Build for the primary platforms that Trusty can manage
|
||||||
- go run build/ci.go debsrc -signer "Felix Lange (Geth CI Testing Key) <fjl@twurst.com>" -upload ppa:lp-fjl/geth-ci-testing
|
- go run build/ci.go debsrc -signer "Felix Lange (Geth CI Testing Key) <fjl@twurst.com>" -upload ppa:lp-fjl/geth-ci-testing
|
||||||
- go run build/ci.go install
|
- go run build/ci.go install
|
||||||
- go run build/ci.go archive -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
|
- go run build/ci.go archive -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
|
||||||
- go run build/ci.go install -arch 386
|
- go run build/ci.go install -arch 386
|
||||||
- go run build/ci.go archive -arch 386 -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
|
- go run build/ci.go archive -arch 386 -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
|
||||||
|
|
||||||
|
# Switch over GCC to cross compilation (breaks 386, hence why do it here only)
|
||||||
|
- sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install gcc-arm-linux-gnueabi libc6-dev-armel-cross gcc-arm-linux-gnueabihf libc6-dev-armhf-cross gcc-aarch64-linux-gnu libc6-dev-arm64-cross
|
||||||
|
- sudo ln -s /usr/include/asm-generic /usr/include/asm
|
||||||
|
|
||||||
|
- GOARM=5 CC=arm-linux-gnueabi-gcc go run build/ci.go install -arch arm
|
||||||
|
- GOARM=5 go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
|
||||||
|
- GOARM=6 CC=arm-linux-gnueabi-gcc go run build/ci.go install -arch arm
|
||||||
|
- GOARM=6 go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
|
||||||
|
- GOARM=7 CC=arm-linux-gnueabihf-gcc go run build/ci.go install -arch arm
|
||||||
|
- GOARM=7 go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
|
||||||
|
- CC=aarch64-linux-gnu-gcc go run build/ci.go install -arch arm64
|
||||||
|
- go run build/ci.go archive -arch arm64 -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
|
||||||
|
|
||||||
# This builder does the OSX Azure uploads
|
# This builder does the OSX Azure uploads
|
||||||
- os: osx
|
- os: osx
|
||||||
go: 1.7
|
go: 1.7
|
||||||
|
10
build/ci.go
10
build/ci.go
@ -158,6 +158,13 @@ func doInstall(cmdline []string) {
|
|||||||
build.MustRun(goinstall)
|
build.MustRun(goinstall)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
// If we are cross compiling to ARMv5 ARMv6 or ARMv7, clean any prvious builds
|
||||||
|
if *arch == "arm" {
|
||||||
|
os.RemoveAll(filepath.Join(runtime.GOROOT(), "pkg", runtime.GOOS+"_arm"))
|
||||||
|
for _, path := range filepath.SplitList(build.GOPATH()) {
|
||||||
|
os.RemoveAll(filepath.Join(path, "pkg", runtime.GOOS+"_arm"))
|
||||||
|
}
|
||||||
|
}
|
||||||
// Seems we are cross compiling, work around forbidden GOBIN
|
// Seems we are cross compiling, work around forbidden GOBIN
|
||||||
goinstall := goToolArch(*arch, "install", buildFlags(env)...)
|
goinstall := goToolArch(*arch, "install", buildFlags(env)...)
|
||||||
goinstall.Args = append(goinstall.Args, "-v")
|
goinstall.Args = append(goinstall.Args, "-v")
|
||||||
@ -318,6 +325,9 @@ func doArchive(cmdline []string) {
|
|||||||
|
|
||||||
func archiveBasename(arch string, env build.Environment) string {
|
func archiveBasename(arch string, env build.Environment) string {
|
||||||
platform := runtime.GOOS + "-" + arch
|
platform := runtime.GOOS + "-" + arch
|
||||||
|
if arch == "arm" {
|
||||||
|
platform += os.Getenv("GOARM")
|
||||||
|
}
|
||||||
archive := platform + "-" + build.VERSION()
|
archive := platform + "-" + build.VERSION()
|
||||||
if isUnstableBuild(env) {
|
if isUnstableBuild(env) {
|
||||||
archive += "-unstable"
|
archive += "-unstable"
|
||||||
|
Loading…
Reference in New Issue
Block a user