stages: - test - push-release - build variables: RUST_BACKTRACE: "1" RUSTFLAGS: "" CARGOFLAGS: "" CI_SERVER_NAME: "GitLab CI" LIBSSL: "libssl1.0.0 (>=1.0.0)" cache: key: "$CI_BUILD_STAGE-$CI_BUILD_REF_NAME" paths: - target 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 6. binary identifier - scripts/gitlab-build.sh x86_64-unknown-linux-gnu x86_64-unknown-linux-gnu amd64 gcc g++ ubuntu 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 (>=1.1.0)" - scripts/gitlab-build.sh x86_64-unknown-debian-gnu x86_64-unknown-linux-gnu amd64 gcc g++ debian tags: - rust-debian artifacts: paths: - parity.zip name: "stable-x86_64-unknown-debian-gnu_parity" linux-centos: stage: build image: parity/rust-centos:gitlab-ci only: - beta - tags - stable - triggers script: - scripts/gitlab-build.sh x86_64-unknown-centos-gnu x86_64-unknown-linux-gnu x86_64 gcc g++ centos 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: - scripts/gitlab-build.sh i686-unknown-linux-gnu i686-unknown-linux-gnu i386 gcc g++ ubuntu 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: - scripts/gitlab-build.sh armv7-unknown-linux-gnueabihf armv7-unknown-linux-gnueabihf armhf arm-linux-gnueabihf-gcc arm-linux-gnueabihf-g++ ubuntu 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: - scripts/gitlab-build.sh arm-unknown-linux-gnueabihf arm-unknown-linux-gnueabihf armhf arm-linux-gnueabihf-gcc arm-linux-gnueabihf-g++ ubuntu 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: - scripts/gitlab-build.sh aarch64-unknown-linux-gnu aarch64-unknown-linux-gnu arm64 aarch64-linux-gnu-gcc aarch64-linux-gnu-g++ ubuntu tags: - rust-arm artifacts: paths: - parity.zip name: "aarch64-unknown-linux-gnu_parity" linux-snap: stage: build image: snapcore/snapcraft:stable only: - stable - beta - tags - triggers script: - scripts/gitlab-build.sh x86_64-unknown-snap-gnu x86_64-unknown-linux-gnu amd64 gcc g++ snap tags: - rust-stable artifacts: paths: - parity.zip name: "stable-x86_64-unknown-snap-gnu_parity" darwin: stage: build only: - beta - tags - stable - triggers script: - scripts/gitlab-build.sh x86_64-apple-darwin x86_64-apple-darwin macos gcc g++ 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: - sh scripts/gitlab-build.sh x86_64-pc-windows-msvc x86_64-pc-windows-msvc installer "" "" windows tags: - rust-windows artifacts: paths: - parity.zip 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 - scripts/docker-build.sh $DOCKER_TAG - docker logout tags: - docker test-coverage: stage: test only: - master script: - scripts/gitlab-test.sh test-coverage tags: - kcov allow_failure: true test-rust-stable: stage: test image: parity/rust:gitlab-ci script: - scripts/gitlab-test.sh stable tags: - rust-stable test-rust-beta: stage: test only: - triggers - master image: parity/rust:gitlab-ci script: - 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: - scripts/gitlab-test.sh nightly tags: - rust - rust-nightly allow_failure: true push-release: stage: push-release only: - tags - triggers image: parity/rust:gitlab-ci script: - scripts/gitlab-push-release.sh tags: - curl