github.com/dominant-strategies/go-quai@v0.28.2/.travis.yml (about) 1 language: go 2 go_import_path: github.com/dominant-strategies/go-quai 3 sudo: false 4 jobs: 5 allow_failures: 6 - stage: build 7 os: osx 8 go: 1.15.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.16.x 20 env: 21 - lint 22 git: 23 submodules: false 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.16.x 35 env: 36 - docker 37 services: 38 - docker 39 git: 40 submodules: false 41 before_install: 42 - export DOCKER_CLI_EXPERIMENTAL=enabled 43 script: 44 - go run build/ci.go docker -image -manifest amd64,arm64 -upload dominant-strategies/go-quai 45 46 - stage: build 47 if: type = push 48 os: linux 49 arch: arm64 50 dist: bionic 51 go: 1.16.x 52 env: 53 - docker 54 services: 55 - docker 56 git: 57 submodules: false 58 before_install: 59 - export DOCKER_CLI_EXPERIMENTAL=enabled 60 script: 61 - go run build/ci.go docker -image -manifest amd64,arm64 -upload dominant-strategies/go-quai 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.16.x 69 env: 70 - ubuntu-ppa 71 - GO111MODULE=on 72 git: 73 submodules: false 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 -upload dominant-strategies/quai -sftp-user quai-ci -signer "Go Quai Linux Builder <team@dominantstrategies.io>" 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.16.x 94 env: 95 - azure-linux 96 - GO111MODULE=on 97 git: 98 submodules: false 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 quaistore/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 quaistore/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 quaistore/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 quaistore/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 quaistore/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 quaistore/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.16.x 131 env: 132 - azure-linux-mips 133 - GO111MODULE=on 134 git: 135 submodules: false 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 quaistore/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 quaistore/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 quaistore/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 quaistore/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 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/dominant-strategies 188 - ln -s `pwd` $GOPATH/src/github.com/dominant-strategies/go-quai 189 - go run build/ci.go aar -signer ANDROID_SIGNING_KEY -signify SIGNIFY_KEY -deploy https://oss.sonatype.org -upload quaistore/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.16.x 196 env: 197 - azure-osx 198 - azure-ios 199 - cocoapods-ios 200 - GO111MODULE=on 201 git: 202 submodules: false 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 quaistore/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 - export CGO_CFLAGS_ALLOW='-fmodules|-fblocks|-fobjc-arc' 219 - go run build/ci.go xcode -signer IOS_SIGNING_KEY -signify SIGNIFY_KEY -deploy trunk -upload quaistore/builds 220 221 # These builders run the tests 222 - stage: build 223 os: linux 224 arch: amd64 225 dist: bionic 226 go: 1.16.x 227 env: 228 - GO111MODULE=on 229 script: 230 - go run build/ci.go test -coverage $TEST_PACKAGES 231 232 - stage: build 233 if: type = pull_request 234 os: linux 235 arch: arm64 236 dist: bionic 237 go: 1.16.x 238 env: 239 - GO111MODULE=on 240 script: 241 - go run build/ci.go test -coverage $TEST_PACKAGES 242 243 - stage: build 244 os: linux 245 dist: bionic 246 go: 1.15.x 247 env: 248 - GO111MODULE=on 249 script: 250 - go run build/ci.go test -coverage $TEST_PACKAGES 251 252 # This builder does the Azure archive purges to avoid accumulating junk 253 - stage: build 254 if: type = cron 255 os: linux 256 dist: bionic 257 go: 1.16.x 258 env: 259 - azure-purge 260 - GO111MODULE=on 261 git: 262 submodules: false 263 script: 264 - go run build/ci.go purge -store quaistore/builds -days 14