openethereum/.gitlab-ci.yml

191 lines
4.7 KiB
YAML
Raw Normal View History

stages:
2016-11-04 06:45:26 +01:00
- test
2017-03-08 23:34:00 +01:00
- build
- publish
- misc
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
cache:
key: "${CI_JOB_NAME}"
paths:
- ${CI_PROJECT_DIR}/target/
- ${CI_PROJECT_DIR}/cargo/
.releaseable_branches: # list of git refs for building GitLab artifacts (think "pre-release binaries")
only: &releaseable_branches
- stable
- beta
- tags
.collect_artifacts: &collect_artifacts
artifacts:
name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
when: on_success
expire_in: 1 mos
paths:
- artifacts/
.determine_version: &determine_version
- VERSION="$(sed -r -n '1,/^version/s/^version = "([^"]+)".*$/\1/p' Cargo.toml)"
- DATE_STR="$(date +%Y%m%d)"
- ID_SHORT="$(echo ${CI_COMMIT_SHA} | cut -c 1-7)"
- test "${CI_COMMIT_REF_NAME}" = "nightly" && VERSION="${VERSION}-${ID_SHORT}-${DATE_STR}"
- export VERSION
- echo "Version = ${VERSION}"
test-linux:
stage: test
variables:
RUN_TESTS: "true"
script:
- scripts/gitlab/test.sh stable
tags:
- rust-stable
build-linux:
stage: build
only: *releaseable_branches
variables:
CARGO_TARGET: x86_64-unknown-linux-gnu
script:
- scripts/gitlab/build-unix.sh
<<: *collect_artifacts
tags:
- rust-stable
build-darwin:
stage: build
only: *releaseable_branches
variables:
CARGO_TARGET: x86_64-apple-darwin
CC: gcc
CXX: g++
script:
- scripts/gitlab/build-unix.sh
tags:
- rust-osx
<<: *collect_artifacts
build-windows:
stage: build
only: *releaseable_branches
cache:
key: "${CI_JOB_NAME}"
paths:
- "%CI_PROJECT_DIR%/target/"
- "%CI_PROJECT_DIR%/cargo/"
variables:
CARGO_TARGET: x86_64-pc-windows-msvc
script:
- sh scripts/gitlab/build-windows.sh
tags:
- rust-windows
<<: *collect_artifacts
publish-docker:
stage: publish
2018-10-01 13:35:35 +02:00
only: *releaseable_branches
cache: {}
dependencies:
- build-linux
tags:
- shell
script:
- scripts/gitlab/publish-docker.sh parity
publish-awss3:
stage: publish
only:
- nightly
- /^v2.*$/
cache: {}
dependencies:
- build-linux
- build-darwin
- build-windows
before_script: *determine_version
script:
2018-10-01 13:42:07 +02:00
- scripts/gitlab/publish-awss3.sh
tags:
- shell
2018-10-01 14:30:46 +02:00
docs-jsonrpc:
stage: misc
only:
- tags
cache: {}
2016-12-20 17:54:09 +01:00
script:
2018-10-01 13:42:07 +02:00
- scripts/gitlab/docs-jsonrpc.sh
2016-12-20 17:54:09 +01:00
tags:
- shell
2018-10-01 14:58:01 +02:00
cargo-audit:
stage: misc
script:
- scripts/gitlab/audit.sh
tags:
- rust-stable
2018-10-01 14:30:46 +02:00
test-android:
stage: misc
image: parity/rust-android:gitlab-ci
variables:
CARGO_TARGET: armv7-linux-androideabi
script:
- scripts/gitlab/test.sh stable
tags:
- rust-arm
2018-10-01 14:30:46 +02:00
test-darwin:
stage: misc
variables:
CARGO_TARGET: x86_64-apple-darwin
CC: gcc
CXX: g++
RUN_TESTS: "true"
script:
- scripts/gitlab/test.sh stable
tags:
- rust-osx
2018-10-01 14:30:46 +02:00
test-windows:
stage: misc
cache:
key: "${CI_JOB_NAME}"
paths:
- "%CI_PROJECT_DIR%/target/"
- "%CI_PROJECT_DIR%/cargo/"
variables:
CARGO_TARGET: x86_64-pc-windows-msvc
RUN_TESTS: "true"
script:
- sh scripts/gitlab/test.sh stable
tags:
- rust-windows
2018-10-01 14:30:46 +02:00
test-beta:
stage: misc
variables:
RUN_TESTS: "true"
script:
- scripts/gitlab/test.sh beta
tags:
- rust-beta
2018-10-01 14:30:46 +02:00
test-nightly:
stage: misc
variables:
RUN_TESTS: "true"
script:
- scripts/gitlab/test.sh nightly
tags:
- rust-nightly