github.com/matthieu/go-ethereum@v1.13.2/.travis.yml (about) 1 language: go 2 go_import_path: github.com/matthieu/go-ethereum 3 sudo: false 4 jobs: 5 allow_failures: 6 - stage: build 7 os: osx 8 go: 1.14.x 9 env: 10 - azure-osx 11 - azure-ios 12 - cocoapods-ios 13 14 include: 15 # This builder only tests code linters on latest version of Go 16 - stage: lint 17 os: linux 18 dist: xenial 19 go: 1.14.x 20 env: 21 - lint 22 git: 23 submodules: false # avoid cloning ethereum/tests 24 script: 25 - go run build/ci.go lint 26 27 - stage: build 28 os: linux 29 dist: xenial 30 go: 1.13.x 31 env: 32 - GO111MODULE=on 33 script: 34 - go run build/ci.go install 35 - go run build/ci.go test -coverage $TEST_PACKAGES 36 37 # These are the latest Go versions. 38 - stage: build 39 os: linux 40 arch: amd64 41 dist: xenial 42 go: 1.14.x 43 env: 44 - GO111MODULE=on 45 script: 46 - go run build/ci.go install 47 - go run build/ci.go test -coverage $TEST_PACKAGES 48 49 - stage: build 50 if: type = pull_request 51 os: linux 52 arch: arm64 53 dist: xenial 54 go: 1.14.x 55 env: 56 - GO111MODULE=on 57 script: 58 - go run build/ci.go install 59 - go run build/ci.go test -coverage $TEST_PACKAGES 60 61 - stage: build 62 os: osx 63 osx_image: xcode11.3 64 go: 1.14.x 65 env: 66 - GO111MODULE=on 67 script: 68 - echo "Increase the maximum number of open file descriptors on macOS" 69 - NOFILE=20480 70 - sudo sysctl -w kern.maxfiles=$NOFILE 71 - sudo sysctl -w kern.maxfilesperproc=$NOFILE 72 - sudo launchctl limit maxfiles $NOFILE $NOFILE 73 - sudo launchctl limit maxfiles 74 - ulimit -S -n $NOFILE 75 - ulimit -n 76 - unset -f cd # workaround for https://github.com/travis-ci/travis-ci/issues/8703 77 - go run build/ci.go install 78 - go run build/ci.go test -coverage $TEST_PACKAGES 79 80 # This builder does the Ubuntu PPA upload 81 - stage: build 82 if: type = push 83 os: linux 84 dist: xenial 85 go: 1.14.x 86 env: 87 - ubuntu-ppa 88 - GO111MODULE=on 89 git: 90 submodules: false # avoid cloning ethereum/tests 91 addons: 92 apt: 93 packages: 94 - devscripts 95 - debhelper 96 - dput 97 - fakeroot 98 - python-bzrlib 99 - python-paramiko 100 script: 101 - echo '|1|7SiYPr9xl3uctzovOTj4gMwAC1M=|t6ReES75Bo/PxlOPJ6/GsGbTrM0= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0aKz5UTUndYgIGG7dQBV+HaeuEZJ2xPHo2DS2iSKvUL4xNMSAY4UguNW+pX56nAQmZKIZZ8MaEvSj6zMEDiq6HFfn5JcTlM80UwlnyKe8B8p7Nk06PPQLrnmQt5fh0HmEcZx+JU9TZsfCHPnX7MNz4ELfZE6cFsclClrKim3BHUIGq//t93DllB+h4O9LHjEUsQ1Sr63irDLSutkLJD6RXchjROXkNirlcNVHH/jwLWR5RcYilNX7S5bIkK8NlWPjsn/8Ua5O7I9/YoE97PpO6i73DTGLh5H9JN/SITwCKBkgSDWUt61uPK3Y11Gty7o2lWsBjhBUm2Y38CBsoGmBw==' >> ~/.ssh/known_hosts 102 - go run build/ci.go debsrc -goversion 1.14.2 -upload ethereum/ethereum -sftp-user geth-ci -signer "Go Ethereum Linux Builder <geth-ci@ethereum.org>" 103 104 # This builder does the Linux Azure uploads 105 - stage: build 106 if: type = push 107 os: linux 108 dist: xenial 109 sudo: required 110 go: 1.14.x 111 env: 112 - azure-linux 113 - GO111MODULE=on 114 git: 115 submodules: false # avoid cloning ethereum/tests 116 addons: 117 apt: 118 packages: 119 - gcc-multilib 120 script: 121 # Build for the primary platforms that Trusty can manage 122 - go run build/ci.go install 123 - go run build/ci.go archive -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds 124 - go run build/ci.go install -arch 386 125 - go run build/ci.go archive -arch 386 -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds 126 127 # Switch over GCC to cross compilation (breaks 386, hence why do it here only) 128 - 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 129 - sudo ln -s /usr/include/asm-generic /usr/include/asm 130 131 - GOARM=5 go run build/ci.go install -arch arm -cc arm-linux-gnueabi-gcc 132 - GOARM=5 go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds 133 - GOARM=6 go run build/ci.go install -arch arm -cc arm-linux-gnueabi-gcc 134 - GOARM=6 go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds 135 - GOARM=7 go run build/ci.go install -arch arm -cc arm-linux-gnueabihf-gcc 136 - GOARM=7 go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds 137 - go run build/ci.go install -arch arm64 -cc aarch64-linux-gnu-gcc 138 - go run build/ci.go archive -arch arm64 -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds 139 140 # This builder does the Linux Azure MIPS xgo uploads 141 - stage: build 142 if: type = push 143 os: linux 144 dist: xenial 145 services: 146 - docker 147 go: 1.14.x 148 env: 149 - azure-linux-mips 150 - GO111MODULE=on 151 git: 152 submodules: false # avoid cloning ethereum/tests 153 script: 154 - go run build/ci.go xgo --alltools -- --targets=linux/mips --ldflags '-extldflags "-static"' -v 155 - for bin in build/bin/*-linux-mips; do mv -f "${bin}" "${bin/-linux-mips/}"; done 156 - go run build/ci.go archive -arch mips -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds 157 158 - go run build/ci.go xgo --alltools -- --targets=linux/mipsle --ldflags '-extldflags "-static"' -v 159 - for bin in build/bin/*-linux-mipsle; do mv -f "${bin}" "${bin/-linux-mipsle/}"; done 160 - go run build/ci.go archive -arch mipsle -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds 161 162 - go run build/ci.go xgo --alltools -- --targets=linux/mips64 --ldflags '-extldflags "-static"' -v 163 - for bin in build/bin/*-linux-mips64; do mv -f "${bin}" "${bin/-linux-mips64/}"; done 164 - go run build/ci.go archive -arch mips64 -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds 165 166 - go run build/ci.go xgo --alltools -- --targets=linux/mips64le --ldflags '-extldflags "-static"' -v 167 - for bin in build/bin/*-linux-mips64le; do mv -f "${bin}" "${bin/-linux-mips64le/}"; done 168 - go run build/ci.go archive -arch mips64le -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds 169 170 # This builder does the Android Maven and Azure uploads 171 - stage: build 172 if: type = push 173 os: linux 174 dist: xenial 175 addons: 176 apt: 177 packages: 178 - oracle-java8-installer 179 - oracle-java8-set-default 180 language: android 181 android: 182 components: 183 - platform-tools 184 - tools 185 - android-15 186 - android-19 187 - android-24 188 env: 189 - azure-android 190 - maven-android 191 - GO111MODULE=on 192 git: 193 submodules: false # avoid cloning ethereum/tests 194 before_install: 195 - curl https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz | tar -xz 196 - export PATH=`pwd`/go/bin:$PATH 197 - export GOROOT=`pwd`/go 198 - export GOPATH=$HOME/go 199 script: 200 # Build the Android archive and upload it to Maven Central and Azure 201 - curl https://dl.google.com/android/repository/android-ndk-r19b-linux-x86_64.zip -o android-ndk-r19b.zip 202 - unzip -q android-ndk-r19b.zip && rm android-ndk-r19b.zip 203 - mv android-ndk-r19b $ANDROID_HOME/ndk-bundle 204 205 - mkdir -p $GOPATH/src/github.com/matthieu 206 - ln -s `pwd` $GOPATH/src/github.com/matthieu/go-ethereum 207 - go run build/ci.go aar -signer ANDROID_SIGNING_KEY -deploy https://oss.sonatype.org -upload gethstore/builds 208 209 # This builder does the OSX Azure, iOS CocoaPods and iOS Azure uploads 210 - stage: build 211 if: type = push 212 os: osx 213 go: 1.14.x 214 env: 215 - azure-osx 216 - azure-ios 217 - cocoapods-ios 218 - GO111MODULE=on 219 git: 220 submodules: false # avoid cloning ethereum/tests 221 script: 222 - go run build/ci.go install 223 - go run build/ci.go archive -type tar -signer OSX_SIGNING_KEY -upload gethstore/builds 224 225 # Build the iOS framework and upload it to CocoaPods and Azure 226 - gem uninstall cocoapods -a -x 227 - gem install cocoapods 228 229 - mv ~/.cocoapods/repos/master ~/.cocoapods/repos/master.bak 230 - sed -i '.bak' 's/repo.join/!repo.join/g' $(dirname `gem which cocoapods`)/cocoapods/sources_manager.rb 231 - if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then git clone --depth=1 https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master && pod setup --verbose; fi 232 233 - xctool -version 234 - xcrun simctl list 235 236 # Workaround for https://github.com/golang/go/issues/23749 237 - export CGO_CFLAGS_ALLOW='-fmodules|-fblocks|-fobjc-arc' 238 - go run build/ci.go xcode -signer IOS_SIGNING_KEY -deploy trunk -upload gethstore/builds 239 240 # This builder does the Azure archive purges to avoid accumulating junk 241 - stage: build 242 if: type = cron 243 os: linux 244 dist: xenial 245 go: 1.14.x 246 env: 247 - azure-purge 248 - GO111MODULE=on 249 git: 250 submodules: false # avoid cloning ethereum/tests 251 script: 252 - go run build/ci.go purge -store gethstore/builds -days 14