ci: reduce gitlab pipelines significantly
This commit is contained in:
parent
f3b806b471
commit
aa34dfad3e
232
.gitlab-ci.yml
232
.gitlab-ci.yml
@ -1,7 +1,6 @@
|
||||
stages:
|
||||
- test
|
||||
- build
|
||||
- package
|
||||
- publish
|
||||
- docs
|
||||
|
||||
@ -10,7 +9,6 @@ image: parity/rust:gitlab-ci
|
||||
variables:
|
||||
CI_SERVER_NAME: "GitLab CI"
|
||||
CARGO_HOME: "${CI_PROJECT_DIR}/cargo"
|
||||
|
||||
BUILD_TARGET: ubuntu
|
||||
BUILD_ARCH: amd64
|
||||
CARGO_TARGET: x86_64-unknown-linux-gnu
|
||||
@ -23,16 +21,10 @@ cache:
|
||||
|
||||
.releaseable_branches: # list of git refs for building GitLab artifacts (think "pre-release binaries")
|
||||
only: &releaseable_branches
|
||||
- master
|
||||
- stable
|
||||
- beta
|
||||
- tags
|
||||
|
||||
.publishable_branches: # list of git refs for publishing builds to the "production" locations
|
||||
only: &publishable_branches
|
||||
- nightly # Our nightly builds from schedule, on `master`
|
||||
- /^v2.*$/ # Our version tags
|
||||
|
||||
.collect_artifacts: &collect_artifacts
|
||||
artifacts:
|
||||
name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
|
||||
@ -51,7 +43,7 @@ cache:
|
||||
|
||||
#### stage: test
|
||||
|
||||
test-linux-rust-stable: &test
|
||||
test-linux:
|
||||
stage: test
|
||||
variables:
|
||||
RUN_TESTS: "true"
|
||||
@ -60,27 +52,7 @@ test-linux-rust-stable: &test
|
||||
tags:
|
||||
- rust-stable
|
||||
|
||||
test-linux-rust-beta:
|
||||
stage: test
|
||||
variables:
|
||||
RUN_TESTS: "true"
|
||||
script:
|
||||
- scripts/gitlab/test.sh beta
|
||||
tags:
|
||||
- rust-stable
|
||||
allow_failure: true
|
||||
|
||||
test-linux-rust-nightly:
|
||||
stage: test
|
||||
variables:
|
||||
RUN_TESTS: "true"
|
||||
script:
|
||||
- scripts/gitlab/test.sh nightly
|
||||
tags:
|
||||
- rust-stable
|
||||
allow_failure: true
|
||||
|
||||
test-darwin-rust-stable:
|
||||
test-darwin:
|
||||
stage: test
|
||||
variables:
|
||||
CARGO_TARGET: x86_64-apple-darwin
|
||||
@ -91,27 +63,14 @@ test-darwin-rust-stable:
|
||||
- scripts/gitlab/test.sh stable
|
||||
tags:
|
||||
- osx
|
||||
allow_failure: true
|
||||
|
||||
test-android-rust-stable:
|
||||
stage: test
|
||||
image: parity/rust-android:gitlab-ci
|
||||
variables:
|
||||
CARGO_TARGET: armv7-linux-androideabi
|
||||
script:
|
||||
- scripts/gitlab/test.sh stable
|
||||
tags:
|
||||
- rust-arm
|
||||
allow_failure: true
|
||||
|
||||
test-windows-rust-stable:
|
||||
test-windows:
|
||||
stage: test
|
||||
cache:
|
||||
key: "${CI_JOB_NAME}"
|
||||
paths:
|
||||
- "%CI_PROJECT_DIR%/target/"
|
||||
- "%CI_PROJECT_DIR%/cargo/"
|
||||
# No cargo caching, since fetch-locking on Windows gets stuck
|
||||
variables:
|
||||
CARGO_TARGET: x86_64-pc-windows-msvc
|
||||
RUN_TESTS: "true"
|
||||
@ -119,34 +78,10 @@ test-windows-rust-stable:
|
||||
- sh scripts/gitlab/test.sh stable
|
||||
tags:
|
||||
- rust-windows
|
||||
allow_failure: true
|
||||
|
||||
.optional_test: &optional_test
|
||||
<<: *test
|
||||
allow_failure: true
|
||||
only:
|
||||
- master
|
||||
|
||||
test-lint-rustfmt:
|
||||
<<: *optional_test
|
||||
script:
|
||||
- scripts/gitlab/rustfmt.sh
|
||||
|
||||
test-lint-clippy:
|
||||
<<: *optional_test
|
||||
script:
|
||||
- scripts/gitlab/clippy.sh
|
||||
|
||||
test-coverage-kcov:
|
||||
<<: *optional_test
|
||||
script:
|
||||
- scripts/gitlab/coverage.sh
|
||||
tags:
|
||||
- shell
|
||||
|
||||
#### stage: build
|
||||
|
||||
build-linux-ubuntu-amd64: &build
|
||||
build-linux:
|
||||
stage: build
|
||||
only: *releaseable_branches
|
||||
variables:
|
||||
@ -157,49 +92,7 @@ build-linux-ubuntu-amd64: &build
|
||||
tags:
|
||||
- rust-stable
|
||||
|
||||
build-linux-ubuntu-i386:
|
||||
<<: *build
|
||||
only: *releaseable_branches
|
||||
image: parity/rust-i686:gitlab-ci
|
||||
variables:
|
||||
CARGO_TARGET: i686-unknown-linux-gnu
|
||||
tags:
|
||||
- rust-i686
|
||||
allow_failure: true
|
||||
|
||||
build-linux-ubuntu-arm64:
|
||||
<<: *build
|
||||
only: *releaseable_branches
|
||||
image: parity/rust-arm64:gitlab-ci
|
||||
variables:
|
||||
CARGO_TARGET: aarch64-unknown-linux-gnu
|
||||
tags:
|
||||
- rust-arm
|
||||
allow_failure: true
|
||||
|
||||
build-linux-ubuntu-armhf:
|
||||
<<: *build
|
||||
only: *releaseable_branches
|
||||
image: parity/rust-armv7:gitlab-ci
|
||||
variables:
|
||||
CARGO_TARGET: armv7-unknown-linux-gnueabihf
|
||||
tags:
|
||||
- rust-arm
|
||||
allow_failure: true
|
||||
|
||||
build-linux-android-armhf:
|
||||
stage: build
|
||||
only: *releaseable_branches
|
||||
image: parity/rust-android:gitlab-ci
|
||||
variables:
|
||||
CARGO_TARGET: armv7-linux-androideabi
|
||||
script:
|
||||
- scripts/gitlab/build-unix.sh
|
||||
tags:
|
||||
- rust-arm
|
||||
allow_failure: true
|
||||
|
||||
build-darwin-macos-x86_64:
|
||||
build-darwin:
|
||||
stage: build
|
||||
only: *releaseable_branches
|
||||
variables:
|
||||
@ -212,7 +105,7 @@ build-darwin-macos-x86_64:
|
||||
- osx
|
||||
<<: *collect_artifacts
|
||||
|
||||
build-windows-msvc-x86_64:
|
||||
build-windows:
|
||||
stage: build
|
||||
only: *releaseable_branches
|
||||
cache:
|
||||
@ -220,7 +113,6 @@ build-windows-msvc-x86_64:
|
||||
paths:
|
||||
- "%CI_PROJECT_DIR%/target/"
|
||||
- "%CI_PROJECT_DIR%/cargo/"
|
||||
# No cargo caching, since fetch-locking on Windows gets stuck
|
||||
variables:
|
||||
CARGO_TARGET: x86_64-pc-windows-msvc
|
||||
script:
|
||||
@ -229,123 +121,39 @@ build-windows-msvc-x86_64:
|
||||
- rust-windows
|
||||
<<: *collect_artifacts
|
||||
|
||||
#### stage: package
|
||||
|
||||
package-linux-snap-amd64: &package_snap
|
||||
stage: package
|
||||
only: *releaseable_branches
|
||||
except:
|
||||
- master
|
||||
image: parity/snapcraft:gitlab-ci
|
||||
cache: {}
|
||||
before_script: *determine_version
|
||||
variables:
|
||||
CARGO_TARGET: x86_64-unknown-linux-gnu
|
||||
dependencies:
|
||||
- build-linux-ubuntu-amd64
|
||||
script:
|
||||
- scripts/gitlab/package-snap.sh
|
||||
tags:
|
||||
- rust-stable
|
||||
<<: *collect_artifacts
|
||||
|
||||
package-linux-snap-i386:
|
||||
<<: *package_snap
|
||||
variables:
|
||||
BUILD_ARCH: i386
|
||||
CARGO_TARGET: i686-unknown-linux-gnu
|
||||
dependencies:
|
||||
- build-linux-ubuntu-i386
|
||||
|
||||
package-linux-snap-arm64:
|
||||
<<: *package_snap
|
||||
variables:
|
||||
BUILD_ARCH: arm64
|
||||
CARGO_TARGET: aarch64-unknown-linux-gnu
|
||||
dependencies:
|
||||
- build-linux-ubuntu-arm64
|
||||
|
||||
package-linux-snap-armhf:
|
||||
<<: *package_snap
|
||||
variables:
|
||||
BUILD_ARCH: armhf
|
||||
CARGO_TARGET: armv7-unknown-linux-gnueabihf
|
||||
dependencies:
|
||||
- build-linux-ubuntu-armhf
|
||||
|
||||
#### stage: publish
|
||||
|
||||
publish-linux-snap-amd64: &publish_snap
|
||||
publish-docker:
|
||||
stage: publish
|
||||
only: *publishable_branches
|
||||
image: parity/snapcraft:gitlab-ci
|
||||
cache: {}
|
||||
before_script: *determine_version
|
||||
variables:
|
||||
BUILD_ARCH: amd64
|
||||
dependencies:
|
||||
- package-linux-snap-amd64
|
||||
script:
|
||||
- scripts/gitlab/publish-snap.sh
|
||||
tags:
|
||||
- rust-stable
|
||||
|
||||
publish-linux-snap-i386:
|
||||
<<: *publish_snap
|
||||
variables:
|
||||
BUILD_ARCH: i386
|
||||
dependencies:
|
||||
- package-linux-snap-i386
|
||||
|
||||
publish-linux-snap-arm64:
|
||||
<<: *publish_snap
|
||||
variables:
|
||||
BUILD_ARCH: arm64
|
||||
dependencies:
|
||||
- package-linux-snap-arm64
|
||||
|
||||
publish-linux-snap-armhf:
|
||||
<<: *publish_snap
|
||||
variables:
|
||||
BUILD_ARCH: armhf
|
||||
dependencies:
|
||||
- package-linux-snap-armhf
|
||||
|
||||
publish-docker-parity-amd64: &publish_docker
|
||||
stage: publish
|
||||
only: *releaseable_branches
|
||||
only:
|
||||
- master
|
||||
- stable
|
||||
- beta
|
||||
- tags
|
||||
cache: {}
|
||||
dependencies:
|
||||
- build-linux-ubuntu-amd64
|
||||
- build-linux
|
||||
tags:
|
||||
- shell
|
||||
script:
|
||||
- scripts/gitlab/publish-docker.sh parity
|
||||
|
||||
publish-docker-parityevm-amd64:
|
||||
<<: *publish_docker
|
||||
script:
|
||||
- scripts/gitlab/publish-docker.sh parity-evm
|
||||
|
||||
publish-github-and-s3:
|
||||
publish-awss3:
|
||||
stage: publish
|
||||
only: *publishable_branches
|
||||
only:
|
||||
- nightly
|
||||
- /^v2.*$/
|
||||
cache: {}
|
||||
dependencies:
|
||||
- build-linux-ubuntu-amd64
|
||||
- build-linux-ubuntu-i386
|
||||
- build-linux-ubuntu-armhf
|
||||
- build-linux-ubuntu-arm64
|
||||
- build-darwin-macos-x86_64
|
||||
- build-windows-msvc-x86_64
|
||||
- build-linux
|
||||
- build-darwin
|
||||
- build-windows
|
||||
before_script: *determine_version
|
||||
script:
|
||||
- scripts/gitlab/push.sh
|
||||
tags:
|
||||
- shell
|
||||
|
||||
####stage: docs
|
||||
|
||||
docs-rpc-json:
|
||||
stage: docs
|
||||
only:
|
||||
|
Loading…
Reference in New Issue
Block a user