github.com/shrimpyuk/bor@v0.2.15-0.20220224151350-fb4ec6020bae/.travis.yml (about) 1 language: go 2 go_import_path: github.com/ethereum/go-ethereum 3 sudo: false 4 jobs: 5 allow_failures: 6 - stage: build 7 os: osx 8 go: 1.17.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: bionic 19 go: 1.17.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 # These builders create the Docker sub-images for multi-arch push and each 28 # will attempt to push the multi-arch image if they are the last builder 29 - stage: build 30 if: type = push 31 os: linux 32 arch: amd64 33 dist: bionic 34 go: 1.17.x 35 env: 36 - docker 37 services: 38 - docker 39 git: 40 submodules: false # avoid cloning ethereum/tests 41 before_install: 42 - export DOCKER_CLI_EXPERIMENTAL=enabled 43 script: 44 - go run build/ci.go docker -image -manifest amd64,arm64 -upload ethereum/client-go 45 46 - stage: build 47 if: type = push 48 os: linux 49 arch: arm64 50 dist: bionic 51 go: 1.17.x 52 env: 53 - docker 54 services: 55 - docker 56 git: 57 submodules: false # avoid cloning ethereum/tests 58 before_install: 59 - export DOCKER_CLI_EXPERIMENTAL=enabled 60 script: 61 - go run build/ci.go docker -image -manifest amd64,arm64 -upload ethereum/client-go 62 63 # This builder does the Ubuntu PPA upload 64 - stage: build 65 if: type = push 66 os: linux 67 dist: bionic 68 go: 1.17.x 69 env: 70 - ubuntu-ppa 71 - GO111MODULE=on 72 git: 73 submodules: false # avoid cloning ethereum/tests 74 addons: 75 apt: 76 packages: 77 - devscripts 78 - debhelper 79 - dput 80 - fakeroot 81 - python-bzrlib 82 - python-paramiko 83 script: 84 - echo '|1|7SiYPr9xl3uctzovOTj4gMwAC1M=|t6ReES75Bo/PxlOPJ6/GsGbTrM0= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0aKz5UTUndYgIGG7dQBV+HaeuEZJ2xPHo2DS2iSKvUL4xNMSAY4UguNW+pX56nAQmZKIZZ8MaEvSj6zMEDiq6HFfn5JcTlM80UwlnyKe8B8p7Nk06PPQLrnmQt5fh0HmEcZx+JU9TZsfCHPnX7MNz4ELfZE6cFsclClrKim3BHUIGq//t93DllB+h4O9LHjEUsQ1Sr63irDLSutkLJD6RXchjROXkNirlcNVHH/jwLWR5RcYilNX7S5bIkK8NlWPjsn/8Ua5O7I9/YoE97PpO6i73DTGLh5H9JN/SITwCKBkgSDWUt61uPK3Y11Gty7o2lWsBjhBUm2Y38CBsoGmBw==' >> ~/.ssh/known_hosts 85 - 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>" 86 87 # This builder does the Linux Azure uploads 88 - stage: build 89 if: type = push 90 os: linux 91 dist: bionic 92 sudo: required 93 go: 1.17.x 94 env: 95 - azure-linux 96 - GO111MODULE=on 97 git: 98 submodules: false # avoid cloning ethereum/tests 99 addons: 100 apt: 101 packages: 102 - gcc-multilib 103 script: 104 # Build for the primary platforms that Trusty can manage 105 - go run build/ci.go install -dlgo 106 - go run build/ci.go archive -type tar -signer LINUX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds 107 - go run build/ci.go install -dlgo -arch 386 108 - go run build/ci.go archive -arch 386 -type tar -signer LINUX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds 109 110 # Switch over GCC to cross compilation (breaks 386, hence why do it here only) 111 - 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 112 - sudo ln -s /usr/include/asm-generic /usr/include/asm 113 114 - GOARM=5 go run build/ci.go install -dlgo -arch arm -cc arm-linux-gnueabi-gcc 115 - GOARM=5 go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds 116 - GOARM=6 go run build/ci.go install -dlgo -arch arm -cc arm-linux-gnueabi-gcc 117 - GOARM=6 go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds 118 - GOARM=7 go run build/ci.go install -dlgo -arch arm -cc arm-linux-gnueabihf-gcc 119 - GOARM=7 go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds 120 - go run build/ci.go install -dlgo -arch arm64 -cc aarch64-linux-gnu-gcc 121 - go run build/ci.go archive -arch arm64 -type tar -signer LINUX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds 122 123 # This builder does the Linux Azure MIPS xgo uploads 124 - stage: build 125 if: type = push 126 os: linux 127 dist: bionic 128 services: 129 - docker 130 go: 1.17.x 131 env: 132 - azure-linux-mips 133 - GO111MODULE=on 134 git: 135 submodules: false # avoid cloning ethereum/tests 136 script: 137 - go run build/ci.go xgo --alltools -- --targets=linux/mips --ldflags '-extldflags "-static"' -v 138 - for bin in build/bin/*-linux-mips; do mv -f "${bin}" "${bin/-linux-mips/}"; done 139 - go run build/ci.go archive -arch mips -type tar -signer LINUX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds 140 141 - go run build/ci.go xgo --alltools -- --targets=linux/mipsle --ldflags '-extldflags "-static"' -v 142 - for bin in build/bin/*-linux-mipsle; do mv -f "${bin}" "${bin/-linux-mipsle/}"; done 143 - go run build/ci.go archive -arch mipsle -type tar -signer LINUX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds 144 145 - go run build/ci.go xgo --alltools -- --targets=linux/mips64 --ldflags '-extldflags "-static"' -v 146 - for bin in build/bin/*-linux-mips64; do mv -f "${bin}" "${bin/-linux-mips64/}"; done 147 - go run build/ci.go archive -arch mips64 -type tar -signer LINUX_SIGNING_KEY signify SIGNIFY_KEY -upload gethstore/builds 148 149 - go run build/ci.go xgo --alltools -- --targets=linux/mips64le --ldflags '-extldflags "-static"' -v 150 - for bin in build/bin/*-linux-mips64le; do mv -f "${bin}" "${bin/-linux-mips64le/}"; done 151 - go run build/ci.go archive -arch mips64le -type tar -signer LINUX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds 152 153 # This builder does the Android Maven and Azure uploads 154 - stage: build 155 if: type = push 156 os: linux 157 dist: bionic 158 addons: 159 apt: 160 packages: 161 - openjdk-8-jdk 162 env: 163 - azure-android 164 - maven-android 165 - GO111MODULE=on 166 git: 167 submodules: false # avoid cloning ethereum/tests 168 before_install: 169 # Install Android and it's dependencies manually, Travis is stale 170 - export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 171 - curl https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip -o android.zip 172 - unzip -q android.zip -d $HOME/sdk && rm android.zip 173 - mv $HOME/sdk/cmdline-tools $HOME/sdk/latest && mkdir $HOME/sdk/cmdline-tools && mv $HOME/sdk/latest $HOME/sdk/cmdline-tools 174 - export PATH=$PATH:$HOME/sdk/cmdline-tools/latest/bin 175 - export ANDROID_HOME=$HOME/sdk 176 177 - yes | sdkmanager --licenses >/dev/null 178 - sdkmanager "platform-tools" "platforms;android-15" "platforms;android-19" "platforms;android-24" "ndk-bundle" 179 180 # Install Go to allow building with 181 - curl https://dl.google.com/go/go1.16.linux-amd64.tar.gz | tar -xz 182 - export PATH=`pwd`/go/bin:$PATH 183 - export GOROOT=`pwd`/go 184 - export GOPATH=$HOME/go 185 script: 186 # Build the Android archive and upload it to Maven Central and Azure 187 - mkdir -p $GOPATH/src/github.com/ethereum 188 - ln -s `pwd` $GOPATH/src/github.com/ethereum/go-ethereum 189 - go run build/ci.go aar -signer ANDROID_SIGNING_KEY -signify SIGNIFY_KEY -deploy https://oss.sonatype.org -upload gethstore/builds 190 191 # This builder does the OSX Azure, iOS CocoaPods and iOS Azure uploads 192 - stage: build 193 if: type = push 194 os: osx 195 go: 1.17.x 196 env: 197 - azure-osx 198 - azure-ios 199 - cocoapods-ios 200 - GO111MODULE=on 201 git: 202 submodules: false # avoid cloning ethereum/tests 203 script: 204 - go run build/ci.go install -dlgo 205 - go run build/ci.go archive -type tar -signer OSX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds 206 207 # Build the iOS framework and upload it to CocoaPods and Azure 208 - gem uninstall cocoapods -a -x 209 - gem install cocoapods 210 211 - mv ~/.cocoapods/repos/master ~/.cocoapods/repos/master.bak 212 - sed -i '.bak' 's/repo.join/!repo.join/g' $(dirname `gem which cocoapods`)/cocoapods/sources_manager.rb 213 - if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then git clone --depth=1 https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master && pod setup --verbose; fi 214 215 - xctool -version 216 - xcrun simctl list 217 218 # Workaround for https://github.com/golang/go/issues/23749 219 - export CGO_CFLAGS_ALLOW='-fmodules|-fblocks|-fobjc-arc' 220 - go run build/ci.go xcode -signer IOS_SIGNING_KEY -signify SIGNIFY_KEY -deploy trunk -upload gethstore/builds 221 222 # These builders run the tests 223 - stage: build 224 os: linux 225 arch: amd64 226 dist: bionic 227 go: 1.17.x 228 env: 229 - GO111MODULE=on 230 script: 231 - go run build/ci.go test -coverage $TEST_PACKAGES 232 233 - stage: build 234 if: type = pull_request 235 os: linux 236 arch: arm64 237 dist: bionic 238 go: 1.17.x 239 env: 240 - GO111MODULE=on 241 script: 242 - go run build/ci.go test -coverage $TEST_PACKAGES 243 244 - stage: build 245 os: linux 246 dist: bionic 247 go: 1.16.x 248 env: 249 - GO111MODULE=on 250 script: 251 - go run build/ci.go test -coverage $TEST_PACKAGES 252 253 # This builder does the Azure archive purges to avoid accumulating junk 254 - stage: build 255 if: type = cron 256 os: linux 257 dist: bionic 258 go: 1.17.x 259 env: 260 - azure-purge 261 - GO111MODULE=on 262 git: 263 submodules: false # avoid cloning ethereum/tests 264 script: 265 - go run build/ci.go purge -store gethstore/builds -days 14 266 267 # This builder executes race tests 268 - stage: build 269 if: type = cron 270 os: linux 271 dist: bionic 272 go: 1.17.x 273 env: 274 - GO111MODULE=on 275 script: 276 - go run build/ci.go test -race -coverage $TEST_PACKAGES 277