7aab6b74da
* version: bump stable
* CI publish to aws (#10446)
* move publish aws from gitlab.yml to gitlab scripts
* gitlab.yml cleaning
move publish AWS to gitlab scripts
remove dependencies from android build
* Ensure static validator set changes are recognized (#10467)
* CI aws git checkout (#10451)
* Updating the CI system with the publication of releases and binary files on github
Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>
* move publish aws from gitlab.yml to gitlab scripts
Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>
* gitlab.yml cleaning
move publish AWS to gitlab scripts
remove dependencies from android build
Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>
* Revert "Updating the CI system with the publication of releases and binary files on github"
This reverts commit da87e06f2e4751dbca08a898b52926aef5ad0aba.
* remove no-git for aws
* microfix
* no need in no_git then
* Revert "CI aws git checkout (#10451)" (#10456)
* Revert "CI aws git checkout (#10451)"
This reverts commit 3e1d73126c
.
* Update .gitlab-ci.yml
revert aws script with small fixes
* Delete publish-aws.sh
* Tests parallelized (#10452)
* tests splitted, phase 1
* typo
* fix wrong launch commands
* typos
* rearrangements
* use `nproc` function for threads
* use nproc for threads
* let theads be auto, build-andriod no more in regular run
* split val chain and cargo check
* renamed some files
* wrong phase
* check rust files before test jobs
* lint error
* rust files modivied var
* test except changes
* add rust_changes except
* lint error
* fixes
* .gitlab-ci.yml can't be excluded
* pipeline shouldn't start
* pipeline must go
* pipeline must go 2
* pipeline must go 3
* pipeline must go 4
* pipeline must go 5
* pipeline must go 6
* pipeline must go 7
* pipeline must not go 1
* pipeline must go 8
* avoid skippng tests yet, reintroducing them after the caching
* test theory
* parallelized cargo check with combusting helicopters
* less uploads
* alias for cargo checks
* nice template
* Fix `ci-skip-issue` name
* Fix build flag
* Remove ci-skip-tests flag for stable
246 lines
6.9 KiB
YAML
246 lines
6.9 KiB
YAML
stages:
|
|
- test
|
|
- build
|
|
- publish
|
|
- optional
|
|
|
|
image: parity/rust-parity-ethereum-build:xenial
|
|
variables:
|
|
GIT_STRATEGY: fetch
|
|
GIT_SUBMODULE_STRATEGY: recursive
|
|
CI_SERVER_NAME: "GitLab CI"
|
|
CARGO_HOME: "${CI_PROJECT_DIR}/.cargo"
|
|
CARGO_TARGET: x86_64-unknown-linux-gnu
|
|
|
|
.no_git: &no_git #disable git strategy
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
GIT_SUBMODULE_STRATEGY: none
|
|
|
|
.releaseable_branches: # list of git refs for building GitLab artifacts (think "pre-release binaries")
|
|
only: &releaseable_branches
|
|
- stable
|
|
- beta
|
|
- tags
|
|
- schedules
|
|
|
|
.collect_artifacts: &collect_artifacts
|
|
artifacts:
|
|
name: "${CI_JOB_NAME}_${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}"
|
|
when: on_success
|
|
expire_in: 1 mos
|
|
paths:
|
|
- artifacts/
|
|
|
|
.docker-cache-status: &docker-cache-status
|
|
dependencies: []
|
|
before_script:
|
|
- sccache -s
|
|
after_script:
|
|
- sccache -s
|
|
tags:
|
|
- linux-docker
|
|
|
|
|
|
cargo-check 0 3:
|
|
stage: test
|
|
<<: *docker-cache-status
|
|
script:
|
|
- time cargo check --target $CARGO_TARGET --locked --no-default-features
|
|
|
|
cargo-check 1 3:
|
|
stage: test
|
|
<<: *docker-cache-status
|
|
script:
|
|
- time cargo check --target $CARGO_TARGET --locked --manifest-path util/io/Cargo.toml --no-default-features
|
|
|
|
cargo-check 2 3:
|
|
stage: test
|
|
<<: *docker-cache-status
|
|
script:
|
|
- time cargo check --target $CARGO_TARGET --locked --manifest-path util/io/Cargo.toml --features "mio"
|
|
|
|
cargo-audit:
|
|
stage: test
|
|
script:
|
|
- cargo audit
|
|
tags:
|
|
- linux-docker
|
|
|
|
validate-chainspecs:
|
|
stage: test
|
|
<<: *docker-cache-status
|
|
script:
|
|
- ./scripts/gitlab/validate-chainspecs.sh
|
|
|
|
test-cpp:
|
|
stage: build
|
|
<<: *docker-cache-status
|
|
script:
|
|
- ./scripts/gitlab/test-cpp.sh
|
|
|
|
test-linux:
|
|
stage: build
|
|
<<: *docker-cache-status
|
|
script:
|
|
- ./scripts/gitlab/test-linux.sh
|
|
|
|
build-linux: &build-linux
|
|
stage: build
|
|
only: *releaseable_branches
|
|
<<: *docker-cache-status
|
|
script:
|
|
- scripts/gitlab/build-linux.sh
|
|
<<: *collect_artifacts
|
|
|
|
build-linux-i386:
|
|
<<: *build-linux
|
|
image: parity/rust-parity-ethereum-build:i386
|
|
variables:
|
|
CARGO_TARGET: i686-unknown-linux-gnu
|
|
|
|
build-linux-arm64:
|
|
<<: *build-linux
|
|
image: parity/rust-parity-ethereum-build:arm64
|
|
variables:
|
|
CARGO_TARGET: aarch64-unknown-linux-gnu
|
|
|
|
build-linux-armhf:
|
|
<<: *build-linux
|
|
image: parity/rust-parity-ethereum-build:armhf
|
|
variables:
|
|
CARGO_TARGET: armv7-unknown-linux-gnueabihf
|
|
|
|
build-darwin:
|
|
stage: build
|
|
only: *releaseable_branches
|
|
variables:
|
|
CARGO_TARGET: x86_64-apple-darwin
|
|
CC: gcc
|
|
CXX: g++
|
|
script:
|
|
- scripts/gitlab/build-linux.sh
|
|
tags:
|
|
- rust-osx
|
|
<<: *collect_artifacts
|
|
|
|
build-windows:
|
|
stage: build
|
|
only: *releaseable_branches
|
|
variables:
|
|
CARGO_TARGET: x86_64-pc-windows-msvc
|
|
script:
|
|
- sh scripts/gitlab/build-windows.sh
|
|
tags:
|
|
- rust-windows
|
|
<<: *collect_artifacts
|
|
|
|
publish-docker:
|
|
stage: publish
|
|
only: *releaseable_branches
|
|
cache: {}
|
|
dependencies:
|
|
- build-linux
|
|
tags:
|
|
- shell
|
|
script:
|
|
- scripts/gitlab/publish-docker.sh parity
|
|
|
|
publish-snap: &publish-snap
|
|
stage: publish
|
|
only: *releaseable_branches
|
|
image: snapcore/snapcraft
|
|
variables:
|
|
BUILD_ARCH: amd64
|
|
cache: {}
|
|
dependencies:
|
|
- build-linux
|
|
tags:
|
|
- linux-docker
|
|
script:
|
|
- scripts/gitlab/publish-snap.sh
|
|
<<: *collect_artifacts
|
|
|
|
publish-snap-i386:
|
|
<<: *publish-snap
|
|
variables:
|
|
BUILD_ARCH: i386
|
|
dependencies:
|
|
- build-linux-i386
|
|
|
|
publish-snap-arm64:
|
|
<<: *publish-snap
|
|
variables:
|
|
BUILD_ARCH: arm64
|
|
dependencies:
|
|
- build-linux-arm64
|
|
|
|
publish-snap-armhf:
|
|
<<: *publish-snap
|
|
variables:
|
|
BUILD_ARCH: armhf
|
|
dependencies:
|
|
- build-linux-armhf
|
|
|
|
publish-onchain:
|
|
stage: publish
|
|
only: *releaseable_branches
|
|
cache: {}
|
|
dependencies:
|
|
- build-linux
|
|
- build-darwin
|
|
- build-windows
|
|
script:
|
|
- scripts/gitlab/publish-onchain.sh
|
|
tags:
|
|
- linux-docker
|
|
|
|
publish-awss3-release:
|
|
image: parity/awscli:latest
|
|
stage: publish
|
|
only: *releaseable_branches
|
|
<<: *no_git
|
|
cache: {}
|
|
dependencies:
|
|
- build-linux
|
|
- build-darwin
|
|
- build-windows
|
|
script:
|
|
- echo "__________Push binaries to AWS S3____________"
|
|
- case "${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}" in
|
|
(beta|stable|nightly)
|
|
export BUCKET=releases.parity.io/ethereum;
|
|
;;
|
|
(*)
|
|
export BUCKET=builds-parity;
|
|
;;
|
|
esac
|
|
- aws s3 sync ./artifacts s3://${BUCKET}/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}/
|
|
- echo "__________Read from S3____________"
|
|
- aws s3 ls s3://${BUCKET}/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}} --recursive --human-readable --summarize
|
|
tags:
|
|
- linux-docker
|
|
|
|
publish-docs:
|
|
stage: publish
|
|
only:
|
|
- tags
|
|
except:
|
|
- nightly
|
|
cache: {}
|
|
script:
|
|
- scripts/gitlab/publish-docs.sh
|
|
tags:
|
|
- linux-docker
|
|
|
|
build-android:
|
|
stage: build
|
|
image: parity/rust-android:gitlab-ci
|
|
variables:
|
|
CARGO_TARGET: armv7-linux-androideabi
|
|
script:
|
|
- scripts/gitlab/build-linux.sh
|
|
tags:
|
|
- linux-docker
|
|
<<: *collect_artifacts
|