stages: - test - js-build - push-release - build variables: SIMPLECOV: "true" RUST_BACKTRACE: "1" RUSTFLAGS: "" CARGOFLAGS: "" CI_SERVER_NAME: "GitLab CI" LIBSSL: "libssl1.0.0 (>=1.0.0)" CC: gcc CXX: g++ cache: key: "$CI_BUILD_STAGE/$CI_BUILD_REF_NAME" untracked: true linux-stable: stage: build image: parity/rust:gitlab-ci only: - beta - tags - stable - triggers script: - rustup default stable # ARGUMENTS: 1. BUILD_PLATFORM (target for binaries) 2. PLATFORM (target for cargo) 3. ARC (architecture) 4. & 5. CC & CXX flags - sh scripts/gitlab-build.sh x86_64-unknown-linux-gnu x86_64-unknown-linux-gnu amd64 tags: - rust-stable artifacts: paths: - parity.zip name: "stable-x86_64-unknown-linux-gnu_parity" linux-stable-debian: stage: build image: parity/rust-debian:gitlab-ci only: - beta - tags - stable - triggers script: - export LIBSSL="libssl1.1.0 (>=1.1.0)" - sh scripts/gitlab-build.sh x86_64-unknown-debian-gnu x86_64-unknown-linux-gnu amd64 tags: - rust-debian artifacts: paths: - parity.zip name: "stable-x86_64-unknown-debian-gnu_parity" linux-beta: stage: build image: parity/rust:gitlab-ci only: - beta - tags - stable - triggers script: - sh scripts/gitlab-build.sh rust-beta x86_64-unknown-linux-gnu tags: - rust-beta artifacts: paths: - parity.zip name: "beta-x86_64-unknown-linux-gnu_parity" allow_failure: true linux-nightly: stage: build image: parity/rust:gitlab-ci only: - beta - tags - stable - triggers script: - sh scripts/gitlab-build.sh rust-nightly x86_64-unknown-linux-gnu tags: - rust-nightly artifacts: paths: - parity.zip name: "nigthly-x86_64-unknown-linux-gnu_parity" allow_failure: true linux-centos: stage: build image: parity/rust-centos:gitlab-ci only: - beta - tags - stable - triggers script: - sh scripts/gitlab-build.sh x86_64-unknown-centos-gnu x86_64-unknown-linux-gnu tags: - rust-centos artifacts: paths: - parity.zip name: "x86_64-unknown-centos-gnu_parity" linux-i686: stage: build image: parity/rust-i686:gitlab-ci only: - beta - tags - stable - triggers script: - sh scripts/gitlab-build.sh i686-unknown-linux-gnu i686-unknown-linux-gnu i386 tags: - rust-i686 artifacts: paths: - parity.zip name: "i686-unknown-linux-gnu" linux-armv7: stage: build image: parity/rust-armv7:gitlab-ci only: - beta - tags - stable - triggers script: - sh scripts/gitlab-build.sh armv7-unknown-linux-gnueabihf armv7-unknown-linux-gnueabihf armhf arm-linux-gnueabihf-gcc arm-linux-gnueabihf-g++ tags: - rust-arm artifacts: paths: - parity.zip name: "armv7_unknown_linux_gnueabihf_parity" linux-arm: stage: build image: parity/rust-arm:gitlab-ci only: - beta - tags - stable - triggers script: - sh scripts/gitlab-build.sh arm-unknown-linux-gnueabihf arm-unknown-linux-gnueabihf armhf arm-linux-gnueabihf-gcc arm-linux-gnueabihf-g++ tags: - rust-arm artifacts: paths: - parity.zip name: "arm-unknown-linux-gnueabihf_parity" linux-aarch64: stage: build image: parity/rust-arm64:gitlab-ci only: - beta - tags - stable - triggers script: - sh scripts/gitlab-build.sh aarch64-unknown-linux-gnu aarch64-unknown-linux-gnu arm64 aarch64-linux-gnu-gcc aarch64-linux-gnu-g++ tags: - rust-arm artifacts: paths: - parity.zip name: "aarch64-unknown-linux-gnu_parity" linux-snap: stage: build image: parity/snapcraft:gitlab-ci only: - snap - stable - beta - tags - triggers script: - sh scripts/gitlab-build.sh x86_64-unknown-snap-gnu tags: - rust-stable artifacts: paths: - scripts/parity_*_amd64.snap name: "stable-x86_64-unknown-snap-gnu_parity" allow_failure: true darwin: stage: build only: - beta - tags - stable - triggers script: - sh scripts/gitlab-build.sh x86_64-apple-darwin x86_64-apple-darwin macos tags: - osx artifacts: paths: - parity.zip name: "x86_64-apple-darwin_parity" windows: cache: key: "%CI_BUILD_STAGE%/%CI_BUILD_REF_NAME%" untracked: true stage: build only: - beta - tags - stable - triggers script: - scripts/gitlab-build.sh x86_64-pc-windows-msvc tags: - rust-windows artifacts: paths: - target/release/parity.exe - nsis/InstallParity.exe name: "x86_64-pc-windows-msvc_parity" docker-build: stage: build only: - tags - triggers before_script: - docker info script: - if [ "$CI_BUILD_REF_NAME" == "beta-release" ]; then DOCKER_TAG="latest"; else DOCKER_TAG=$CI_BUILD_REF_NAME; fi - echo "Tag:" $DOCKER_TAG - docker login -u $Docker_Hub_User_Parity -p $Docker_Hub_Pass_Parity - sh scripts/docker-build.sh $DOCKER_TAG - docker logout tags: - docker test-coverage: stage: test only: - master script: - sh scripts/gitlab-test.sh test-coverage tags: - kcov allow_failure: true test-rust-stable: stage: test image: parity/rust:gitlab-ci script: - sh scripts/gitlab-test.sh stable tags: - rust-stable test-rust-beta: stage: test only: - triggers - master image: parity/rust:gitlab-ci script: - sh scripts/gitlab-test.sh beta tags: - rust-beta allow_failure: true test-rust-nightly: stage: test only: - triggers - master image: parity/rust:gitlab-ci script: - sh scripts/gitlab-test.sh nightly tags: - rust - rust-nightly allow_failure: true js-test: stage: test image: parity/rust:gitlab-ci script: - sh scripts/gitlab-test.sh js-test tags: - rust-stable js-release: stage: js-build only: - master - beta - stable - tags - triggers image: parity/rust:gitlab-ci script: - sh scripts/gitlab-test.sh js-release tags: - javascript push-release: stage: push-release only: - tags - triggers image: parity/rust:gitlab-ci script: - rustup default stable - curl --data "secret=$RELEASES_SECRET" http://update.parity.io:1337/push-release/$CI_BUILD_REF_NAME/$CI_BUILD_REF - curl --data "secret=$RELEASES_SECRET" http://update.parity.io:1338/push-release/$CI_BUILD_REF_NAME/$CI_BUILD_REF tags: - curl