2016-07-28 17:34:32 +02:00
stages :
2016-11-04 06:45:26 +01:00
- test
2016-11-04 09:59:17 +01:00
- js-build
2016-12-20 17:54:09 +01:00
- push-release
2016-11-04 10:16:40 +01:00
- build
2016-07-28 17:34:32 +02:00
variables :
GIT_DEPTH : "3"
2016-10-30 09:55:46 +01:00
SIMPLECOV : "true"
2016-07-28 17:34:32 +02:00
RUST_BACKTRACE : "1"
2016-10-31 09:47:47 +01:00
RUSTFLAGS : ""
2016-12-01 01:15:35 +01:00
CARGOFLAGS : ""
2016-07-28 17:34:32 +02:00
cache :
2016-11-07 15:07:37 +01:00
key : "$CI_BUILD_STAGE/$CI_BUILD_REF_NAME"
2016-07-28 17:34:32 +02:00
untracked : true
2016-11-04 07:59:48 +01:00
linux-stable :
stage : build
image : ethcore/rust:stable
only :
- beta
- tags
- stable
2016-11-07 15:07:37 +01:00
- triggers
2016-11-04 07:59:48 +01:00
script :
2016-12-17 14:36:30 +01:00
- cargo build -j $(nproc) --release --features final $CARGOFLAGS
2017-02-15 18:14:07 +01:00
- cargo build -j $(nproc) --release -p evmbin ethstore ethkey
2016-11-04 07:59:48 +01:00
- strip target/release/parity
2017-02-15 18:14:07 +01:00
- strip target/release/evmbin
- strip target/release/ethstore
- strip target/release/ethkey
2016-12-13 17:23:48 +01:00
- export SHA3=$(target/release/parity tools hash target/release/parity)
2016-11-09 13:44:48 +01:00
- md5sum target/release/parity > parity.md5
2016-11-04 07:59:48 +01:00
- sh scripts/deb-build.sh amd64
- cp target/release/parity deb/usr/bin/parity
2017-02-15 18:14:07 +01:00
- cp target/release/evmbin deb/usr/bin/evmbin
- cp target/release/ethstore deb/usr/bin/ethstore
- cp target/release/ethkey deb/usr/bin/ethkey
2016-11-04 07:59:48 +01:00
- export VER=$(grep -m 1 version Cargo.toml | awk '{print $3}' | tr -d '"' | tr -d "\n")
- dpkg-deb -b deb "parity_"$VER"_amd64.deb"
2016-11-09 13:44:48 +01:00
- md5sum "parity_"$VER"_amd64.deb" > "parity_"$VER"_amd64.deb.md5"
2016-11-04 07:59:48 +01:00
- aws configure set aws_access_key_id $s3_key
- aws configure set aws_secret_access_key $s3_secret
2016-11-24 12:36:02 +01:00
- if [[ $CI_BUILD_REF_NAME =~ ^(master|beta|stable)$ ]]; then export S3_BUCKET=builds-parity-published; else export S3_BUCKET=builds-parity; fi
2016-11-23 20:48:58 +01:00
- aws s3 rm --recursive s3://$S3_BUCKET/$CI_BUILD_REF_NAME/x86_64-unknown-linux-gnu
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/x86_64-unknown-linux-gnu/parity --body target/release/parity
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/x86_64-unknown-linux-gnu/parity.md5 --body parity.md5
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/x86_64-unknown-linux-gnu/"parity_"$VER"_amd64.deb" --body "parity_"$VER"_amd64.deb"
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/x86_64-unknown-linux-gnu/"parity_"$VER"_amd64.deb.md5" --body "parity_"$VER"_amd64.deb.md5"
2017-01-19 23:28:04 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1337/push-build/$CI_BUILD_REF_NAME/x86_64-unknown-linux-gnu
2017-01-09 11:16:21 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1338/push-build/$CI_BUILD_REF_NAME/x86_64-unknown-linux-gnu
2016-11-04 07:59:48 +01:00
tags :
- rust
- rust-stable
artifacts :
paths :
- target/release/parity
name : "stable-x86_64-unknown-linux-gnu_parity"
2017-01-19 20:32:52 +01:00
linux-stable-debian :
stage : build
2017-01-19 21:33:27 +01:00
image : ethcore/rust-debian:latest
2017-01-19 20:32:52 +01:00
only :
- beta
- tags
- stable
- triggers
script :
- cargo build -j $(nproc) --release --features final $CARGOFLAGS
- strip target/release/parity
- export SHA3=$(target/release/parity tools hash target/release/parity)
- md5sum target/release/parity > parity.md5
- sh scripts/deb-build.sh amd64
- cp target/release/parity deb/usr/bin/parity
- export VER=$(grep -m 1 version Cargo.toml | awk '{print $3}' | tr -d '"' | tr -d "\n")
- dpkg-deb -b deb "parity_"$VER"_amd64.deb"
- md5sum "parity_"$VER"_amd64.deb" > "parity_"$VER"_amd64.deb.md5"
- aws configure set aws_access_key_id $s3_key
- aws configure set aws_secret_access_key $s3_secret
- if [[ $CI_BUILD_REF_NAME =~ ^(master|beta|stable)$ ]]; then export S3_BUCKET=builds-parity-published; else export S3_BUCKET=builds-parity; fi
- aws s3 rm --recursive s3://$S3_BUCKET/$CI_BUILD_REF_NAME/x86_64-unknown-debian-gnu
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/x86_64-unknown-debian-gnu/parity --body target/release/parity
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/x86_64-unknown-debian-gnu/parity.md5 --body parity.md5
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/x86_64-unknown-debian-gnu/"parity_"$VER"_amd64.deb" --body "parity_"$VER"_amd64.deb"
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/x86_64-unknown-debian-gnu/"parity_"$VER"_amd64.deb.md5" --body "parity_"$VER"_amd64.deb.md5"
2017-01-19 23:28:04 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1337/push-build/$CI_BUILD_REF_NAME/x86_64-unknown-debian-gnu
2017-01-19 20:32:52 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1338/push-build/$CI_BUILD_REF_NAME/x86_64-unknown-debian-gnu
tags :
- rust
- rust-debian
artifacts :
paths :
- target/release/parity
name : "stable-x86_64-unknown-debian-gnu_parity"
2016-11-04 07:59:48 +01:00
linux-beta :
stage : build
image : ethcore/rust:beta
only :
- beta
- tags
- stable
2016-11-07 15:07:37 +01:00
- triggers
2016-11-04 07:59:48 +01:00
script :
2016-12-01 01:15:35 +01:00
- cargo build -j $(nproc) --release $CARGOFLAGS
2016-11-04 07:59:48 +01:00
- strip target/release/parity
tags :
- rust
- rust-beta
artifacts :
paths :
- target/release/parity
name : "beta-x86_64-unknown-linux-gnu_parity"
allow_failure : true
linux-nightly :
stage : build
image : ethcore/rust:nightly
only :
- beta
- tags
- stable
2016-11-07 15:07:37 +01:00
- triggers
2016-11-04 07:59:48 +01:00
script :
2016-12-01 01:15:35 +01:00
- cargo build -j $(nproc) --release $CARGOFLAGS
2016-11-04 07:59:48 +01:00
- strip target/release/parity
tags :
- rust
- rust-nightly
artifacts :
paths :
- target/release/parity
name : "nigthly-x86_64-unknown-linux-gnu_parity"
allow_failure : true
linux-centos :
stage : build
image : ethcore/rust-centos:latest
only :
- beta
- tags
- stable
2016-11-07 15:07:37 +01:00
- triggers
2016-11-04 07:59:48 +01:00
script :
- export CXX="g++"
- export CC="gcc"
2016-12-15 20:49:09 +01:00
- export PLATFORM=x86_64-unknown-centos-gnu
2016-12-17 14:36:30 +01:00
- cargo build -j $(nproc) --release --features final $CARGOFLAGS
2016-11-04 07:59:48 +01:00
- strip target/release/parity
2016-11-09 13:44:48 +01:00
- md5sum target/release/parity > parity.md5
2016-12-13 16:21:26 +01:00
- export SHA3=$(target/release/parity tools hash target/release/parity)
2016-11-04 07:59:48 +01:00
- aws configure set aws_access_key_id $s3_key
- aws configure set aws_secret_access_key $s3_secret
2016-11-24 12:36:02 +01:00
- if [[ $CI_BUILD_REF_NAME =~ ^(master|beta|stable)$ ]]; then export S3_BUCKET=builds-parity-published; else export S3_BUCKET=builds-parity; fi
2016-11-23 20:48:58 +01:00
- aws s3 rm --recursive s3://$S3_BUCKET/$CI_BUILD_REF_NAME/x86_64-unknown-centos-gnu
2016-11-04 07:59:48 +01:00
- aws s3api put-object --bucket builds-parity --key $CI_BUILD_REF_NAME/x86_64-unknown-centos-gnu/parity --body target/release/parity
- aws s3api put-object --bucket builds-parity --key $CI_BUILD_REF_NAME/x86_64-unknown-centos-gnu/parity.md5 --body parity.md5
2017-01-19 23:28:04 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1337/push-build/$CI_BUILD_REF_NAME/$PLATFORM
2017-01-09 11:16:21 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1338/push-build/$CI_BUILD_REF_NAME/$PLATFORM
2016-11-04 07:59:48 +01:00
tags :
- rust
- rust-centos
artifacts :
paths :
- target/release/parity
name : "x86_64-unknown-centos-gnu_parity"
2016-12-09 00:58:53 +01:00
linux-i686 :
stage : build
image : ethcore/rust-i686:latest
2016-11-07 15:07:37 +01:00
only :
- beta
- tags
- stable
- triggers
script :
- export HOST_CC=gcc
- export HOST_CXX=g++
2016-12-13 16:21:26 +01:00
- export COMMIT=$(git rev-parse HEAD)
- export PLATFORM=i686-unknown-linux-gnu
2016-12-17 14:36:30 +01:00
- cargo build -j $(nproc) --target i686-unknown-linux-gnu --features final --release $CARGOFLAGS
2016-12-13 16:21:26 +01:00
- strip target/$PLATFORM/release/parity
- md5sum target/$PLATFORM/release/parity > parity.md5
- export SHA3=$(target/$PLATFORM/release/parity tools hash target/$PLATFORM/release/parity)
2016-11-07 15:07:37 +01:00
- sh scripts/deb-build.sh i386
2016-12-13 16:21:26 +01:00
- cp target/$PLATFORM/release/parity deb/usr/bin/parity
2016-11-07 15:07:37 +01:00
- export VER=$(grep -m 1 version Cargo.toml | awk '{print $3}' | tr -d '"' | tr -d "\n")
- dpkg-deb -b deb "parity_"$VER"_i386.deb"
2016-11-09 13:44:48 +01:00
- md5sum "parity_"$VER"_i386.deb" > "parity_"$VER"_i386.deb.md5"
2016-11-07 15:07:37 +01:00
- aws configure set aws_access_key_id $s3_key
- aws configure set aws_secret_access_key $s3_secret
2016-11-24 12:36:02 +01:00
- if [[ $CI_BUILD_REF_NAME =~ ^(master|beta|stable)$ ]]; then export S3_BUCKET=builds-parity-published; else export S3_BUCKET=builds-parity; fi
2016-12-13 16:21:26 +01:00
- aws s3 rm --recursive s3://$S3_BUCKET/$CI_BUILD_REF_NAME/$PLATFORM
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/parity --body target/$PLATFORM/release/parity
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/parity.md5 --body parity.md5
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/"parity_"$VER"_i386.deb" --body "parity_"$VER"_i386.deb"
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/"parity_"$VER"_i386.deb.md5" --body "parity_"$VER"_i386.deb.md5"
2017-01-19 23:28:04 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1337/push-build/$CI_BUILD_REF_NAME/$PLATFORM
2017-01-09 11:16:21 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1338/push-build/$CI_BUILD_REF_NAME/$PLATFORM
2016-11-07 15:07:37 +01:00
tags :
- rust
- rust-i686
artifacts :
paths :
- target/i686-unknown-linux-gnu/release/parity
name : "i686-unknown-linux-gnu"
allow_failure : true
2016-11-04 07:59:48 +01:00
linux-armv7 :
stage : build
image : ethcore/rust-armv7:latest
only :
- beta
- tags
- stable
2016-11-07 15:07:37 +01:00
- triggers
2016-11-04 07:59:48 +01:00
script :
- export CC=arm-linux-gnueabihf-gcc
- export CXX=arm-linux-gnueabihf-g++
- export HOST_CC=gcc
- export HOST_CXX=g++
2016-12-20 00:21:19 +01:00
- export PLATFORM=armv7-unknown-linux-gnueabihf
2016-11-04 07:59:48 +01:00
- rm -rf .cargo
- mkdir -p .cargo
2016-12-20 00:21:19 +01:00
- echo "[target.$PLATFORM]" >> .cargo/config
2016-11-04 07:59:48 +01:00
- echo "linker= \"arm-linux-gnueabihf-gcc\"" >> .cargo/config
- cat .cargo/config
2016-12-20 00:21:19 +01:00
- cargo build -j $(nproc) --target $PLATFORM --features final --release $CARGOFLAGS
- arm-linux-gnueabihf-strip target/$PLATFORM/release/parity
- export SHA3=$(rhash --sha3-256 ~/Core/parity/target/release/parity -p %h)
- md5sum target/$PLATFORM/release/parity > parity.md5
2016-11-04 07:59:48 +01:00
- sh scripts/deb-build.sh armhf
2016-12-20 00:21:19 +01:00
- cp target/$PLATFORM/release/parity deb/usr/bin/parity
2016-11-04 07:59:48 +01:00
- export VER=$(grep -m 1 version Cargo.toml | awk '{print $3}' | tr -d '"' | tr -d "\n")
- dpkg-deb -b deb "parity_"$VER"_armhf.deb"
2016-11-09 13:44:48 +01:00
- md5sum "parity_"$VER"_armhf.deb" > "parity_"$VER"_armhf.deb.md5"
2016-11-04 07:59:48 +01:00
- aws configure set aws_access_key_id $s3_key
- aws configure set aws_secret_access_key $s3_secret
2016-11-24 12:36:02 +01:00
- if [[ $CI_BUILD_REF_NAME =~ ^(master|beta|stable)$ ]]; then export S3_BUCKET=builds-parity-published; else export S3_BUCKET=builds-parity; fi
2016-12-20 00:21:19 +01:00
- aws s3 rm --recursive s3://$S3_BUCKET/$CI_BUILD_REF_NAME/$PLATFORM
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/parity --body target/$PLATFORM/release/parity
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/parity.md5 --body parity.md5
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/"parity_"$VER"_armhf.deb" --body "parity_"$VER"_armhf.deb"
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/"parity_"$VER"_armhf.deb.md5" --body "parity_"$VER"_armhf.deb.md5"
2017-01-19 23:28:04 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1337/push-build/$CI_BUILD_REF_NAME/$PLATFORM
2017-01-09 11:16:21 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1338/push-build/$CI_BUILD_REF_NAME/$PLATFORM
2016-11-04 07:59:48 +01:00
tags :
- rust
- rust-arm
artifacts :
paths :
- target/armv7-unknown-linux-gnueabihf/release/parity
name : "armv7_unknown_linux_gnueabihf_parity"
allow_failure : true
linux-arm :
stage : build
image : ethcore/rust-arm:latest
only :
- beta
- tags
- stable
2016-11-07 15:07:37 +01:00
- triggers
2016-11-04 07:59:48 +01:00
script :
- export CC=arm-linux-gnueabihf-gcc
- export CXX=arm-linux-gnueabihf-g++
- export HOST_CC=gcc
- export HOST_CXX=g++
2016-12-20 00:21:19 +01:00
- export PLATFORM=arm-unknown-linux-gnueabihf
2016-11-04 07:59:48 +01:00
- rm -rf .cargo
- mkdir -p .cargo
2016-12-20 00:21:19 +01:00
- echo "[target.$PLATFORM]" >> .cargo/config
2016-11-04 07:59:48 +01:00
- echo "linker= \"arm-linux-gnueabihf-gcc\"" >> .cargo/config
- cat .cargo/config
2016-12-20 00:21:19 +01:00
- cargo build -j $(nproc) --target $PLATFORM --features final --release $CARGOFLAGS
- arm-linux-gnueabihf-strip target/$PLATFORM/release/parity
- export SHA3=$(rhash --sha3-256 ~/Core/parity/target/release/parity -p %h)
- md5sum target/$PLATFORM/release/parity > parity.md5
2016-11-04 07:59:48 +01:00
- sh scripts/deb-build.sh armhf
2016-12-20 00:21:19 +01:00
- cp target/$PLATFORM/release/parity deb/usr/bin/parity
2016-11-04 07:59:48 +01:00
- export VER=$(grep -m 1 version Cargo.toml | awk '{print $3}' | tr -d '"' | tr -d "\n")
- dpkg-deb -b deb "parity_"$VER"_armhf.deb"
2016-11-09 13:44:48 +01:00
- md5sum "parity_"$VER"_armhf.deb" > "parity_"$VER"_armhf.deb.md5"
2016-11-04 07:59:48 +01:00
- aws configure set aws_access_key_id $s3_key
- aws configure set aws_secret_access_key $s3_secret
2016-11-24 12:36:02 +01:00
- if [[ $CI_BUILD_REF_NAME =~ ^(master|beta|stable)$ ]]; then export S3_BUCKET=builds-parity-published; else export S3_BUCKET=builds-parity; fi
2016-12-20 00:21:19 +01:00
- aws s3 rm --recursive s3://$S3_BUCKET/$CI_BUILD_REF_NAME/$PLATFORM
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/parity --body target/$PLATFORM/release/parity
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/parity.md5 --body parity.md5
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/"parity_"$VER"_armhf.deb" --body "parity_"$VER"_armhf.deb"
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/"parity_"$VER"_armhf.deb.md5" --body "parity_"$VER"_armhf.deb.md5"
2017-01-19 23:28:04 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1337/push-build/$CI_BUILD_REF_NAME/$PLATFORM
2017-01-09 11:16:21 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1338/push-build/$CI_BUILD_REF_NAME/$PLATFORM
2016-11-04 07:59:48 +01:00
tags :
- rust
- rust-arm
artifacts :
paths :
- target/arm-unknown-linux-gnueabihf/release/parity
name : "arm-unknown-linux-gnueabihf_parity"
allow_failure : true
linux-armv6 :
stage : build
image : ethcore/rust-armv6:latest
only :
2016-12-14 20:17:59 +01:00
- beta
2016-11-30 10:15:45 +01:00
# - tags
# - stable
2016-12-14 20:14:15 +01:00
# - triggers
2016-11-04 07:59:48 +01:00
script :
- export CC=arm-linux-gnueabi-gcc
- export CXX=arm-linux-gnueabi-g++
- export HOST_CC=gcc
- export HOST_CXX=g++
2016-12-20 00:21:19 +01:00
- export PLATFORM=arm-unknown-linux-gnueabi
2016-11-04 07:59:48 +01:00
- rm -rf .cargo
- mkdir -p .cargo
2016-12-20 00:21:19 +01:00
- echo "[target.$PLATFORM]" >> .cargo/config
2016-11-04 07:59:48 +01:00
- echo "linker= \"arm-linux-gnueabi-gcc\"" >> .cargo/config
- cat .cargo/config
2016-12-20 00:21:19 +01:00
- cargo build -j $(nproc) --target $PLATFORM --features final --release $CARGOFLAGS
- arm-linux-gnueabi-strip target/$PLATFORM/release/parity
- export SHA3=$(rhash --sha3-256 ~/Core/parity/target/release/parity -p %h)
- md5sum target/$PLATFORM/release/parity > parity.md5
2016-11-04 07:59:48 +01:00
- aws configure set aws_access_key_id $s3_key
- aws configure set aws_secret_access_key $s3_secret
2016-11-24 12:36:02 +01:00
- if [[ $CI_BUILD_REF_NAME =~ ^(master|beta|stable)$ ]]; then export S3_BUCKET=builds-parity-published; else export S3_BUCKET=builds-parity; fi
2016-12-20 00:21:19 +01:00
- aws s3 rm --recursive s3://$S3_BUCKET/$CI_BUILD_REF_NAME/$PLATFORM
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/parity --body target/$PLATFORM/release/parity
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/parity.md5 --body parity.md5
2017-01-19 23:28:04 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1337/push-build/$CI_BUILD_REF_NAME/$PLATFORM
2017-01-09 11:16:21 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1338/push-build/$CI_BUILD_REF_NAME/$PLATFORM
2016-11-04 07:59:48 +01:00
tags :
- rust
- rust-arm
artifacts :
paths :
- target/arm-unknown-linux-gnueabi/release/parity
name : "arm-unknown-linux-gnueabi_parity"
allow_failure : true
linux-aarch64 :
stage : build
image : ethcore/rust-aarch64:latest
only :
- beta
- tags
- stable
2016-11-07 15:07:37 +01:00
- triggers
2016-11-04 07:59:48 +01:00
script :
- export CC=aarch64-linux-gnu-gcc
- export CXX=aarch64-linux-gnu-g++
- export HOST_CC=gcc
- export HOST_CXX=g++
2016-12-20 00:21:19 +01:00
- export PLATFORM=aarch64-unknown-linux-gnu
2016-11-04 07:59:48 +01:00
- rm -rf .cargo
- mkdir -p .cargo
2016-12-20 00:21:19 +01:00
- echo "[target.$PLATFORM]" >> .cargo/config
2016-11-04 07:59:48 +01:00
- echo "linker= \"aarch64-linux-gnu-gcc\"" >> .cargo/config
- cat .cargo/config
2016-12-20 00:21:19 +01:00
- cargo build -j $(nproc) --target $PLATFORM --features final --release $CARGOFLAGS
- aarch64-linux-gnu-strip target/$PLATFORM/release/parity
- export SHA3=$(rhash --sha3-256 ~/Core/parity/target/release/parity -p %h)
- md5sum target/$PLATFORM/release/parity > parity.md5
2016-11-04 07:59:48 +01:00
- sh scripts/deb-build.sh arm64
2016-12-20 00:21:19 +01:00
- cp target/$PLATFORM/release/parity deb/usr/bin/parity
2016-11-04 07:59:48 +01:00
- export VER=$(grep -m 1 version Cargo.toml | awk '{print $3}' | tr -d '"' | tr -d "\n")
- dpkg-deb -b deb "parity_"$VER"_arm64.deb"
2016-11-09 13:44:48 +01:00
- md5sum "parity_"$VER"_arm64.deb" > "parity_"$VER"_arm64.deb.md5"
2016-11-04 07:59:48 +01:00
- aws configure set aws_access_key_id $s3_key
- aws configure set aws_secret_access_key $s3_secret
2016-11-24 12:36:02 +01:00
- if [[ $CI_BUILD_REF_NAME =~ ^(master|beta|stable)$ ]]; then export S3_BUCKET=builds-parity-published; else export S3_BUCKET=builds-parity; fi
2016-12-20 00:21:19 +01:00
- aws s3 rm --recursive s3://$S3_BUCKET/$CI_BUILD_REF_NAME/$PLATFORM
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/parity.md5 --body parity.md5
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/"parity_"$VER"_arm64.deb" --body "parity_"$VER"_arm64.deb"
- aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/"parity_"$VER"_arm64.deb.md5" --body "parity_"$VER"_arm64.deb.md5"
2017-01-19 23:28:04 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1337/push-build/$CI_BUILD_REF_NAME/$PLATFORM
2017-01-09 11:16:21 +01:00
- curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1338/push-build/$CI_BUILD_REF_NAME/$PLATFORM
2016-11-04 07:59:48 +01:00
tags :
- rust
- rust-arm
artifacts :
paths :
- target/aarch64-unknown-linux-gnu/release/parity
name : "aarch64-unknown-linux-gnu_parity"
allow_failure : true
darwin :
stage : build
only :
- beta
- tags
- stable
2016-11-07 15:07:37 +01:00
- triggers
2017-02-02 13:24:44 +01:00
script : |
export COMMIT=$(git rev-parse HEAD)
export PLATFORM=x86_64-apple-darwin
cargo build -j 8 --features final --release #$CARGOFLAGS
cargo build -j 8 --features final --release -p ethstore #$CARGOFLAGS
rm -rf parity.md5
md5sum target/release/parity > parity.md5
export SHA3=$(target/release/parity tools hash target/release/parity)
cd mac
xcodebuild -configuration Release
cd ..
packagesbuild -v mac/Parity.pkgproj
productsign --sign 'Developer ID Installer : PARITY TECHNOLOGIES LIMITED (P2PX3JU8FT)' target/release/Parity\ Ethereum.pkg target/release/Parity\ Ethereum-signed.pkg
export VER=$(grep -m 1 version Cargo.toml | awk '{print $3}' | tr -d '"' | tr -d "\n")
mv target/release/Parity\ Ethereum-signed.pkg "parity-"$VER"-osx-installer-EXPERIMENTAL.pkg"
md5sum "parity-"$VER"-osx-installer-EXPERIMENTAL.pkg" >> "parity-"$VER"-osx-installer-EXPERIMENTAL.pkg.md5"
aws configure set aws_access_key_id $s3_key
aws configure set aws_secret_access_key $s3_secret
if [[ $CI_BUILD_REF_NAME =~ ^(master|beta|stable)$ ]]; then export S3_BUCKET=builds-parity-published; else export S3_BUCKET=builds-parity; fi
aws s3 rm --recursive s3://$S3_BUCKET/$CI_BUILD_REF_NAME/$PLATFORM
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/parity --body target/release/parity
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/parity.md5 --body parity.md5
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/"parity-"$VER"-osx-installer-EXPERIMENTAL.pkg" --body "parity-"$VER"-osx-installer-EXPERIMENTAL.pkg"
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$PLATFORM/"parity-"$VER"-osx-installer-EXPERIMENTAL.pkg.md5" --body "parity-"$VER"-osx-installer-EXPERIMENTAL.pkg.md5"
curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1337/push-build/$CI_BUILD_REF_NAME/$PLATFORM
curl --data "commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity&secret=$RELEASES_SECRET" http://update.parity.io:1338/push-build/$CI_BUILD_REF_NAME/$PLATFORM
2016-11-04 07:59:48 +01:00
tags :
- osx
artifacts :
paths :
- target/release/parity
name : "x86_64-apple-darwin_parity"
windows :
2016-11-07 15:07:37 +01:00
cache :
key : "%CI_BUILD_STAGE%/%CI_BUILD_REF_NAME%"
untracked : true
2016-11-04 07:59:48 +01:00
stage : build
only :
- beta
- tags
- stable
2016-11-07 15:07:37 +01:00
- triggers
2016-11-04 07:59:48 +01:00
script :
2016-12-13 16:21:26 +01:00
- set PLATFORM=x86_64-pc-windows-msvc
2016-11-04 07:59:48 +01:00
- set INCLUDE=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include;C:\vs2015\VC\include;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt
- set LIB=C:\vs2015\VC\lib;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\x64
- set RUST_BACKTRACE=1
2016-12-09 00:58:53 +01:00
- set RUSTFLAGS=%RUSTFLAGS%
2017-02-14 13:09:19 +01:00
- rustup default stable-x86_64-pc-windows-msvc
2016-12-17 14:36:30 +01:00
- cargo build --features final --release #%CARGOFLAGS%
2016-12-17 12:06:51 +01:00
- signtool sign /f %keyfile% /p %certpass% target\release\parity.exe
2016-12-16 15:12:35 +01:00
- target\release\parity.exe tools hash target\release\parity.exe > parity.sha3
2016-12-17 12:06:51 +01:00
- set /P SHA3=<parity.sha3
2016-11-04 07:59:48 +01:00
- curl -sL --url "https://github.com/ethcore/win-build/raw/master/SimpleFC.dll" -o nsis\SimpleFC.dll
- curl -sL --url "https://github.com/ethcore/win-build/raw/master/vc_redist.x64.exe" -o nsis\vc_redist.x64.exe
2016-11-08 10:23:23 +01:00
- msbuild windows\ptray\ptray.vcxproj /p:Platform=x64 /p:Configuration=Release
2016-11-08 11:07:18 +01:00
- signtool sign /f %keyfile% /p %certpass% windows\ptray\x64\release\ptray.exe
2016-11-04 07:59:48 +01:00
- cd nsis
- makensis.exe installer.nsi
- copy installer.exe InstallParity.exe
- signtool sign /f %keyfile% /p %certpass% InstallParity.exe
- md5sums InstallParity.exe > InstallParity.exe.md5
- zip win-installer.zip InstallParity.exe InstallParity.exe.md5
- md5sums win-installer.zip > win-installer.zip.md5
- cd ..\target\release\
- md5sums parity.exe parity.pdb > parity.md5
- md5sums parity.exe > parity.exe.md5
- zip parity.zip parity.exe parity.pdb parity.md5
- md5sums parity.zip > parity.zip.md5
- cd ..\..
- aws configure set aws_access_key_id %s3_key%
- aws configure set aws_secret_access_key %s3_secret%
2016-11-23 23:23:26 +01:00
- echo %CI_BUILD_REF_NAME%
2016-11-24 12:36:02 +01:00
- echo %CI_BUILD_REF_NAME% | findstr /R "master" >nul 2>&1 && set S3_BUCKET=builds-parity-published || set S3_BUCKET=builds-parity
- echo %CI_BUILD_REF_NAME% | findstr /R "beta" >nul 2>&1 && set S3_BUCKET=builds-parity-published || set S3_BUCKET=builds-parity
- echo %CI_BUILD_REF_NAME% | findstr /R "stable" >nul 2>&1 && set S3_BUCKET=builds-parity-published || set S3_BUCKET=builds-parity
2016-11-23 20:48:58 +01:00
- echo %S3_BUCKET%
2016-11-24 00:24:17 +01:00
- aws s3 rm --recursive s3://%S3_BUCKET%/%CI_BUILD_REF_NAME%/x86_64-pc-windows-msvc
2016-11-23 20:48:58 +01:00
- aws s3api put-object --bucket %S3_BUCKET% --key %CI_BUILD_REF_NAME%/x86_64-pc-windows-msvc/parity.exe --body target\release\parity.exe
- aws s3api put-object --bucket %S3_BUCKET% --key %CI_BUILD_REF_NAME%/x86_64-pc-windows-msvc/parity.exe.md5 --body target\release\parity.exe.md5
- aws s3api put-object --bucket %S3_BUCKET% --key %CI_BUILD_REF_NAME%/x86_64-pc-windows-msvc/parity.zip --body target\release\parity.zip
- aws s3api put-object --bucket %S3_BUCKET% --key %CI_BUILD_REF_NAME%/x86_64-pc-windows-msvc/parity.zip.md5 --body target\release\parity.zip.md5
- aws s3api put-object --bucket %S3_BUCKET% --key %CI_BUILD_REF_NAME%/x86_64-pc-windows-msvc/InstallParity.exe --body nsis\InstallParity.exe
- aws s3api put-object --bucket %S3_BUCKET% --key %CI_BUILD_REF_NAME%/x86_64-pc-windows-msvc/InstallParity.exe.md5 --body nsis\InstallParity.exe.md5
- aws s3api put-object --bucket %S3_BUCKET% --key %CI_BUILD_REF_NAME%/x86_64-pc-windows-msvc/win-installer.zip --body nsis\win-installer.zip
- aws s3api put-object --bucket %S3_BUCKET% --key %CI_BUILD_REF_NAME%/x86_64-pc-windows-msvc/win-installer.zip.md5 --body nsis\win-installer.zip.md5
2017-01-19 23:28:04 +01:00
- curl --data "commit=%CI_BUILD_REF%&sha3=%SHA3%&filename=parity.exe&secret=%RELEASES_SECRET%" http://update.parity.io:1337/push-build/%CI_BUILD_REF_NAME%/%PLATFORM%
2017-01-09 11:16:21 +01:00
- curl --data "commit=%CI_BUILD_REF%&sha3=%SHA3%&filename=parity.exe&secret=%RELEASES_SECRET%" http://update.parity.io:1338/push-build/%CI_BUILD_REF_NAME%/%PLATFORM%
2016-11-04 07:59:48 +01:00
tags :
- rust-windows
artifacts :
paths :
- target/release/parity.exe
- target/release/parity.pdb
- nsis/InstallParity.exe
name : "x86_64-pc-windows-msvc_parity"
2017-01-25 20:01:28 +01:00
docker-build :
2017-01-25 19:48:36 +01:00
stage : build
only :
- tags
before_script :
- docker info
script :
- cd docker/hub
- docker login -u $Docker_Hub_User -p $Docker_Hub_Pass
2017-02-16 19:58:41 +01:00
- docker build --no-cache=true --tag ethcore/parity:$CI_BUILD_REF_NAME .
2017-01-25 19:48:36 +01:00
- docker push ethcore/parity:$CI_BUILD_REF_NAME
tags :
- docker
2016-11-04 07:59:48 +01:00
test-darwin :
2016-11-24 00:05:07 +01:00
stage : test
2016-11-04 07:59:48 +01:00
only :
2016-11-07 15:07:37 +01:00
- triggers
2016-11-04 07:59:48 +01:00
before_script :
- git submodule update --init --recursive
2016-12-13 20:49:26 +01:00
- export RUST_FILES_MODIFIED=$(git --no-pager diff --name-only $CI_BUILD_REF^ $CI_BUILD_REF | grep -v -e ^js -e ^\\. -e ^LICENSE -e ^README.md -e ^appveyor.yml -e ^test.sh -e ^windows/ -e ^scripts/ -e^mac/ -e ^nsis/ | wc -l)
2016-11-04 07:59:48 +01:00
script :
- export RUST_BACKTRACE=1
2016-12-13 20:49:26 +01:00
- if [ $RUST_FILES_MODIFIED -eq 0 ]; then echo "Skipping Rust tests since no Rust files modified."; else ./test.sh $CARGOFLAGS; fi
2016-11-04 07:59:48 +01:00
tags :
- osx
2016-11-07 17:16:34 +01:00
allow_failure : true
2016-11-04 07:59:48 +01:00
test-windows :
2016-11-24 00:05:07 +01:00
stage : test
2016-11-04 07:59:48 +01:00
only :
2016-12-17 16:00:33 +01:00
- triggers
2016-11-04 07:59:48 +01:00
before_script :
- git submodule update --init --recursive
script :
- set RUST_BACKTRACE=1
2017-02-15 18:14:07 +01:00
- echo cargo test --features json-tests -p rlp -p ethash -p ethcore -p ethcore-bigint -p ethcore-dapps -p ethcore-rpc -p ethcore-signer -p ethcore-util -p ethcore-network -p ethcore-io -p ethkey -p ethstore -p ethsync -p ethcore-ipc -p ethcore-ipc-tests -p ethcore-ipc-nano -p parity %CARGOFLAGS% --verbose --release
2016-11-04 07:59:48 +01:00
tags :
- rust-windows
allow_failure : true
2016-11-04 08:29:16 +01:00
test-rust-stable :
2016-11-24 00:05:07 +01:00
stage : test
2016-11-04 06:45:26 +01:00
image : ethcore/rust:stable
2016-10-31 19:51:29 +01:00
before_script :
- git submodule update --init --recursive
2016-12-11 00:20:19 +01:00
- export RUST_FILES_MODIFIED=$(git --no-pager diff --name-only $CI_BUILD_REF^ $CI_BUILD_REF | grep -v -e ^js -e ^\\. -e ^LICENSE -e ^README.md -e ^appveyor.yml -e ^test.sh -e ^windows/ -e ^scripts/ -e^mac/ -e ^nsis/ | wc -l)
2016-10-31 19:51:29 +01:00
script :
- export RUST_BACKTRACE=1
2016-12-11 00:09:04 +01:00
- if [ $RUST_FILES_MODIFIED -eq 0 ]; then echo "Skipping Rust tests since no Rust files modified."; else ./test.sh $CARGOFLAGS; fi
2016-10-31 19:51:29 +01:00
tags :
2016-11-04 08:29:16 +01:00
- rust
- rust-stable
2016-11-25 19:57:58 +01:00
js-test :
stage : test
image : ethcore/rust:stable
before_script :
- git submodule update --init --recursive
2016-12-09 19:21:39 +01:00
- export JS_FILES_MODIFIED=$(git --no-pager diff --name-only $CI_BUILD_REF^ $CI_BUILD_REF | grep ^js/ | wc -l)
2016-12-11 00:09:04 +01:00
- if [ $JS_FILES_MODIFIED -eq 0 ]; then echo "Skipping JS deps install since no JS files modified."; else ./js/scripts/install-deps.sh;fi
2016-11-25 19:57:58 +01:00
script :
2016-12-11 00:09:04 +01:00
- if [ $JS_FILES_MODIFIED -eq 0 ]; then echo "Skipping JS lint since no JS files modified."; else ./js/scripts/lint.sh && ./js/scripts/test.sh && ./js/scripts/build.sh; fi
2016-11-25 19:57:58 +01:00
tags :
- rust
- rust-stable
2016-11-07 17:16:34 +01:00
test-rust-beta :
2016-11-24 00:05:07 +01:00
stage : test
2016-11-07 17:16:34 +01:00
only :
- triggers
image : ethcore/rust:beta
before_script :
- git submodule update --init --recursive
2016-12-13 20:49:26 +01:00
- export RUST_FILES_MODIFIED=$(git --no-pager diff --name-only $CI_BUILD_REF^ $CI_BUILD_REF | grep -v -e ^js -e ^\\. -e ^LICENSE -e ^README.md -e ^appveyor.yml -e ^test.sh -e ^windows/ -e ^scripts/ -e^mac/ -e ^nsis/ | wc -l)
2016-11-07 17:16:34 +01:00
script :
- export RUST_BACKTRACE=1
2016-12-13 20:49:26 +01:00
- if [ $RUST_FILES_MODIFIED -eq 0 ]; then echo "Skipping Rust tests since no Rust files modified."; else ./test.sh $CARGOFLAGS; fi
2016-11-07 17:16:34 +01:00
tags :
- rust
- rust-beta
allow_failure : true
test-rust-nightly :
2016-11-24 00:05:07 +01:00
stage : test
2016-11-07 17:16:34 +01:00
only :
- triggers
image : ethcore/rust:nightly
before_script :
- git submodule update --init --recursive
2016-12-13 20:49:26 +01:00
- export RUST_FILES_MODIFIED=$(git --no-pager diff --name-only $CI_BUILD_REF^ $CI_BUILD_REF | grep -v -e ^js -e ^\\. -e ^LICENSE -e ^README.md -e ^appveyor.yml -e ^test.sh -e ^windows/ -e ^scripts/ -e^mac/ -e ^nsis/ | wc -l)
2016-11-07 17:16:34 +01:00
script :
- export RUST_BACKTRACE=1
2016-12-13 20:49:26 +01:00
- if [ $RUST_FILES_MODIFIED -eq 0 ]; then echo "Skipping Rust tests since no Rust files modified."; else ./test.sh $CARGOFLAGS; fi
2016-11-07 17:16:34 +01:00
tags :
- rust
- rust-nightly
allow_failure : true
2016-11-04 09:46:27 +01:00
js-release :
2016-11-24 00:05:07 +01:00
stage : js-build
2016-11-04 09:59:17 +01:00
only :
- master
- beta
- stable
2017-01-31 17:39:11 +01:00
- tags
2016-11-04 09:46:27 +01:00
image : ethcore/rust:stable
2016-11-04 07:59:48 +01:00
before_script :
2016-12-09 19:21:39 +01:00
- export JS_FILES_MODIFIED=$(git --no-pager diff --name-only $CI_BUILD_REF^ $CI_BUILD_REF | grep ^js/ | wc -l)
2016-11-25 00:27:07 +01:00
- echo $JS_FILES_MODIFIED
2016-12-11 00:09:04 +01:00
- if [ $JS_FILES_MODIFIED -eq 0 ]; then echo "Skipping JS deps install since no JS files modified."; else ./js/scripts/install-deps.sh;fi
2016-11-04 07:59:48 +01:00
script :
2016-11-25 00:27:07 +01:00
- echo $JS_FILES_MODIFIED
2016-12-11 00:09:04 +01:00
- if [ $JS_FILES_MODIFIED -eq 0 ]; then echo "Skipping JS rebuild since no JS files modified."; else ./js/scripts/build.sh && ./js/scripts/release.sh; fi
2016-11-04 07:59:48 +01:00
tags :
2016-11-04 09:46:27 +01:00
- javascript
2016-12-20 17:54:09 +01:00
push-release :
stage : push-release
only :
- tags
image : ethcore/rust:stable
script :
2017-01-19 23:28:04 +01:00
- curl --data "secret=$RELEASES_SECRET" http://update.parity.io:1337/push-release/$CI_BUILD_REF_NAME/$CI_BUILD_REF
2017-01-09 11:16:21 +01:00
- curl --data "secret=$RELEASES_SECRET" http://update.parity.io:1338/push-release/$CI_BUILD_REF_NAME/$CI_BUILD_REF
2016-12-20 17:54:09 +01:00
tags :
- curl