Introducing CI/CD configs for Linux and Windows builds. Mac pending.
This commit is contained in:
140
.travis.yml
140
.travis.yml
@@ -1,105 +1,71 @@
|
|||||||
<<<<<<< HEAD
|
|
||||||
language: cpp
|
|
||||||
|
|
||||||
compiler:
|
|
||||||
- gcc
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
- sudo add-apt-repository --yes ppa:ubuntu-sdk-team/ppa
|
|
||||||
- sudo apt-get update -qq
|
|
||||||
- sudo apt-get install build-essential pkg-config libcurl3-gnutls-dev libc6-dev libevent-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python zlib1g-dev wget bsdmainutils automake libssl-dev libprotobuf-dev protobuf-compiler libdb++-dev ntp ntpdate
|
|
||||||
#install:
|
|
||||||
|
|
||||||
script:
|
|
||||||
- ./zcutil/build.sh -j 5
|
|
||||||
|
|
||||||
notifications:
|
|
||||||
irc:
|
|
||||||
channels:
|
|
||||||
- "chat.freenode.net#komodoplatform"
|
|
||||||
template:
|
|
||||||
- "%{repository}/%{branch} (%{commit} - %{author}): %{message}"
|
|
||||||
- "Alt Message : %{repository_slug} - (%{commit} - %{author}): %{message}, Build Time: %{duration}"
|
|
||||||
- "Change view : %{compare_url}"
|
|
||||||
- "Build details : %{build_url}"
|
|
||||||
=======
|
|
||||||
# errata:
|
|
||||||
# - A travis bug causes caches to trample eachother when using the same
|
|
||||||
# compiler key (which we don't use anyway). This is worked around for now by
|
|
||||||
# replacing the "compilers" with a build name prefixed by the no-op ":"
|
|
||||||
# command. See: https://github.com/travis-ci/travis-ci/issues/4393
|
|
||||||
# - sudo/dist/group are set so as to get Blue Box VMs, necessary for [loopback]
|
|
||||||
# IPv6 support
|
|
||||||
|
|
||||||
sudo: required
|
sudo: required
|
||||||
dist: precise
|
|
||||||
group: legacy
|
|
||||||
|
|
||||||
os: linux
|
os: linux
|
||||||
|
dist: xenial
|
||||||
language: cpp
|
language: cpp
|
||||||
compiler: gcc
|
compiler:
|
||||||
|
- gcc
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- MAKEJOBS=-j3
|
- SDK_URL=https://bitcoincore.org/depends-sources/sdks
|
||||||
- RUN_TESTS=false
|
- KOMODO_BUILD_DIR=Komodo-build
|
||||||
- BOOST_TEST_RANDOM=1$TRAVIS_BUILD_ID
|
- COMPRESSED_BUILD=Komodo-build.tar.gz
|
||||||
- CCACHE_SIZE=100M
|
- CCACHE_SIZE=100M
|
||||||
- CCACHE_TEMPDIR=/tmp/.ccache-temp
|
- CCACHE_TEMPDIR=/tmp/.ccache-temp
|
||||||
- CCACHE_COMPRESS=1
|
- CCACHE_COMPRESS=1
|
||||||
- BASE_OUTDIR=$TRAVIS_BUILD_DIR/out
|
|
||||||
- SDK_URL=https://bitcoincore.org/depends-sources/sdks
|
|
||||||
- PYTHON_DEBUG=1
|
|
||||||
- WINEDEBUG=fixme-all
|
|
||||||
cache:
|
cache:
|
||||||
apt: true
|
apt: true
|
||||||
directories:
|
directories:
|
||||||
- depends/built
|
- depends/built
|
||||||
- depends/sdk-sources
|
- depends/sdk-sources
|
||||||
- $HOME/.ccache
|
- "$HOME/google-cloud-sdk/"
|
||||||
|
- "$HOME/.ccache"
|
||||||
matrix:
|
matrix:
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
include:
|
include:
|
||||||
- compiler: ": ARM"
|
- compiler: ": Linux"
|
||||||
env: HOST=arm-linux-gnueabihf PACKAGES="g++-arm-linux-gnueabihf" DEP_OPTS="" GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
|
env: 'HOST=x86_64-unknown-linux-gnu TARGET_PLATFORM=Linux64 BUILD_SCRIPT=build.sh
|
||||||
- compiler: ": Win32"
|
TRAVIS_OS_NAME=linux PACKAGES="build-essential pkg-config libc6-dev m4 g++-multilib
|
||||||
env: HOST=i686-w64-mingw32 PACKAGES="nsis gcc-mingw-w64-i686 g++-mingw-w64-i686 binutils-mingw-w64-i686 mingw-w64-dev wine bc" RUN_TESTS=true GOAL="deploy" BITCOIN_CONFIG="--enable-reduce-exports" MAKEJOBS="-j2"
|
autoconf libtool ncurses-dev unzip python zlib1g-dev wget bsdmainutils automake
|
||||||
- compiler: ": 32-bit + dash"
|
libssl-dev libprotobuf-dev protobuf-compiler libqrencode-dev libdb++-dev software-properties-common
|
||||||
env: HOST=i686-pc-linux-gnu PACKAGES="g++-multilib bc python-zmq" PPA="ppa:chris-lea/zeromq" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" USE_SHELL="/bin/dash"
|
libcurl4-openssl-dev curl" PPA="ppa:chris-lea/zeromq" KOMODO_EXEC_SET=src/komodod\
|
||||||
- compiler: ": Win64"
|
src/komodo-cli COMPRESSED_BUILD=Komodo-build.tar.gz
|
||||||
env: HOST=x86_64-w64-mingw32 PACKAGES="nsis gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 binutils-mingw-w64-x86-64 mingw-w64-dev wine bc" RUN_TESTS=true GOAL="deploy" BITCOIN_CONFIG="--enable-reduce-exports" MAKEJOBS="-j2"
|
|
||||||
- compiler: ": bitcoind"
|
'
|
||||||
env: HOST=x86_64-unknown-linux-gnu PACKAGES="bc python-zmq" PPA="ppa:chris-lea/zeromq" DEP_OPTS="DEBUG=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports CPPFLAGS=-DDEBUG_LOCKORDER"
|
- compiler: ": Windows"
|
||||||
- compiler: ": No wallet"
|
env: 'HOST=x86_64-w64-mingw32 TARGET_PLATFORM=Win64 RUST_TARGET=x86_64-pc-windows-gnu
|
||||||
env: HOST=x86_64-unknown-linux-gnu DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
|
BUILD_SCRIPT=build-win.sh PACKAGES="build-essential pkg-config libcurl3-gnutls-dev
|
||||||
- compiler: ": Cross-Mac"
|
libc6-dev libevent-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git
|
||||||
env: HOST=x86_64-apple-darwin11 PACKAGES="cmake libcap-dev libz-dev libbz2-dev" BITCOIN_CONFIG="--enable-reduce-exports" OSX_SDK=10.9 GOAL="deploy"
|
python zlib1g-dev wget bsdmainutils automake libssl-dev libprotobuf-dev protobuf-compiler
|
||||||
|
libdb++-dev ntp ntpdate mingw-w64 wine bc" KOMODO_EXEC_SET=src/komodod.exe\
|
||||||
|
src/komodo-cli.exe\ src/komodo-tx.exe KOMODO_BUILD_DIR=Komodo-build COMPRESSED_BUILD=Komodo-build.tar.gz
|
||||||
|
|
||||||
|
'
|
||||||
exclude:
|
exclude:
|
||||||
- compiler: gcc
|
- compiler: gcc
|
||||||
install:
|
install:
|
||||||
- if [ -n "$PACKAGES" ]; then sudo rm -f /etc/apt/sources.list.d/travis_ci_zeromq3-source.list; fi
|
- if [ ! -d "$HOME/google-cloud-sdk/bin" ]; then rm -rf $HOME/google-cloud-sdk; export
|
||||||
- if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get update; fi
|
CLOUDSDK_CORE_DISABLE_PROMPTS=1; curl https://sdk.cloud.google.com | bash; fi
|
||||||
- if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES; fi
|
- source /home/travis/google-cloud-sdk/path.bash.inc
|
||||||
|
- sudo rm -f /etc/apt/sources.list.d/travis_ci_zeromq3-source.list
|
||||||
|
- travis_retry sudo apt-get -y update && sudo apt-get -y install -qq $PACKAGES
|
||||||
|
- if [ $TARGET_PLATFORM = Win64 ]; then curl -sSf https://build.travis-ci.org/files/rustup-init.sh
|
||||||
|
| sh -s -- --default-toolchain stable -y && export PATH=$PATH:$HOME/.cargo/bin:$PATH;
|
||||||
|
fi
|
||||||
|
- if [ $TARGET_PLATFORM = Win64 ]; then rustup target add $RUST_TARGET; fi
|
||||||
before_script:
|
before_script:
|
||||||
- unset CC; unset CXX
|
- unset CC; unset CXX
|
||||||
- mkdir -p depends/SDKs depends/sdk-sources
|
- mkdir -p depends/SDKs depends/sdk-sources
|
||||||
- if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
|
|
||||||
- if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
|
|
||||||
- make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS
|
|
||||||
script:
|
script:
|
||||||
- if [ -n "$USE_SHELL" ]; then export CONFIG_SHELL="$USE_SHELL"; fi
|
- "./zcutil/fetch-params.sh"
|
||||||
- OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST
|
- "./zcutil/$BUILD_SCRIPT -j2"
|
||||||
- BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib"
|
|
||||||
- depends/$HOST/native/bin/ccache --max-size=$CCACHE_SIZE
|
|
||||||
- if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then export CCACHE_READONLY=1; fi
|
|
||||||
- test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh
|
|
||||||
- ./configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
|
|
||||||
- make distdir PACKAGE=bitcoin VERSION=$HOST
|
|
||||||
- cd bitcoin-$HOST
|
|
||||||
- ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
|
|
||||||
- make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false )
|
|
||||||
- export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib
|
|
||||||
- if [ "$RUN_TESTS" = "true" ]; then make check; fi
|
|
||||||
- if [ "$RUN_TESTS" = "true" ]; then qa/pull-tester/rpc-tests.sh; fi
|
|
||||||
after_script:
|
after_script:
|
||||||
- if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then (echo "Upload goes here. Something like: scp -r $BASE_OUTDIR server" || echo "upload failed"); fi
|
- if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then gcloud auth activate-service-account
|
||||||
>>>>>>> zcash/master
|
--key-file AUTH_KEY.json; fi
|
||||||
|
- if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then mkdir -p src/komodo-build && cp $KOMODO_EXEC_SET
|
||||||
|
src/komodo-build && cd src && tar -czvf $COMPRESSED_BUILD komodo-build; fi
|
||||||
|
- if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then gsutil cp $COMPRESSED_BUILD gs://$BUCKET/$PROJECT/$TRAVIS_BRANCH/$TARGET_PLATFORM/;
|
||||||
|
fi
|
||||||
|
before_install:
|
||||||
|
- openssl aes-256-cbc -K $encrypted_c502152b68fb_key -iv $encrypted_c502152b68fb_iv
|
||||||
|
-in AUTH_KEY.json.enc -out AUTH_KEY.json -d
|
||||||
|
|
||||||
|
|||||||
BIN
AUTH_KEY.json.enc
Normal file
BIN
AUTH_KEY.json.enc
Normal file
Binary file not shown.
Reference in New Issue
Block a user