3b9b1a8f14
* version: bump beta to 2.3.3 * import rpc transactions sequentially (#10051) * import rpc transactions sequentially * use impl trait in argument position, renamed ProspectiveDispatcher to WithPostSign * grouped imports * integrates PostSign with ProspectiveSigner * fix spaces, removed unnecessary type cast and duplicate polling * clean up code style * Apply suggestions from code review * Fix Windows build (#10284) * Don't run the CPP example on CI (#10285) * Don't run the CPP example on CI * Add comment * CI optimizations (#10297) * CI optimizations * fix stripping * new dockerfile * no need n submodule upd * review * moved dockerfile * it becomes large * onchain update depends on s3 * fix dependency * fix cache status * fix cache status * new cache status * fix publish job (#10317) * fix publish job * dashes and colonels * Add Statetest support for Constantinople Fix (#10323) * Update Ethereum tests repo to v6.0.0-beta.3 tag * Add spec for St.Peter's / ConstantinopleFix statetests * Properly handle check_epoch_end_signal errors (#10015) * Make check_epoch_end_signal to only use immutable data * Move check_epoch_end_signals out of commit_block * Make check_epoch_end_signals possible to fail * Actually return the error from check_epoch_end_signals * Remove a clone * Fix import error * cargo: fix compilation * fix(add helper for timestamp overflows) (#10330) * fix(add helper timestamp overflows) * fix(simplify code) * fix(make helper private) * Remove CallContract and RegistryInfo re-exports from `ethcore/client` (#10205) * Remove re-export of `CallContract` and `RegistryInfo` from `ethcore/client` * Remove CallContract and RegistryInfo re-exports again This was missed while fixing merge conflicts * fix(docker): fix not receives SIGINT (#10059) * fix(docker): fix not receives SIGINT * fix: update with reviews * update with review * update * update * snap: official image / test (#10168) * official image / test * fix / test * bit more necromancy * fix paths * add source bin/df /test * add source bin/df /test2 * something w paths /test * something w paths /test * add source-type /test * show paths /test * copy plugin /test * plugin -> nil * install rhash * no questions while installing rhash * publish snap only for release * Don't add discovery initiators to the node table (#10305) * Don't add discovery initiators to the node table * Use enums for tracking state of the nodes in discovery * Dont try to ping ourselves * Fix minor nits * Update timeouts when observing an outdated node * Extracted update_bucket_record from update_node * Fixed typo * Fix two final nits from @todr * Extract CallContract and RegistryInfo traits into their own crate (#10178) * Create call-contract crate * Add license * First attempt at using extracted CallContract trait * Remove unneeded `extern crate` calls * Move RegistryInfo trait into call-contract crate * Move service-transaction-checker from ethcore to ethcore-miner * Update Cargo.lock file * Re-export call_contract * Merge CallContract and RegistryInfo imports * Remove commented code * Add documentation to call_contract crate * Add TODO for removal of re-exports * Update call-contract crate description Co-Authored-By: HCastano <HCastano@users.noreply.github.com> * Rename call-contract crate to ethcore-call-contract * Remove CallContract and RegistryInfo re-exports from `ethcore/client` (#10205) * Remove re-export of `CallContract` and `RegistryInfo` from `ethcore/client` * Remove CallContract and RegistryInfo re-exports again This was missed while fixing merge conflicts * fixed: types::transaction::SignedTransaction; (#10229) * fix daemonize dependency * fix build * change docker image based on debian instead of ubuntu due to the chan… (#10336) * change docker image based on debian instead of ubuntu due to the changes of the build container * role back docker build image and docker deploy image to ubuntu:xenial based (#10338) * perform stripping during build (#10208) * perform stripping during build (#10208) * perform stripping during build * var RUSTFLAGS
207 lines
5.5 KiB
YAML
207 lines
5.5 KiB
YAML
stages:
|
|
- test
|
|
- build
|
|
- publish
|
|
- publish-onchain
|
|
- optional
|
|
|
|
image: parity/rust:gitlab-ci
|
|
|
|
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
|
|
|
|
.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/
|
|
|
|
.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 "${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}" = "nightly" && VERSION="${VERSION}-${ID_SHORT}-${DATE_STR}"
|
|
- export VERSION
|
|
- echo "Version = ${VERSION}"
|
|
|
|
test-linux:
|
|
stage: test
|
|
variables:
|
|
RUN_TESTS: all
|
|
script:
|
|
- scripts/gitlab/test-all.sh
|
|
- sccache -s
|
|
tags:
|
|
- linux-docker
|
|
|
|
test-audit:
|
|
stage: test
|
|
script:
|
|
- set -e
|
|
- set -u
|
|
- cargo audit
|
|
tags:
|
|
- linux-docker
|
|
|
|
build-linux:
|
|
stage: build
|
|
only: *releaseable_branches
|
|
script:
|
|
- scripts/gitlab/build-unix.sh
|
|
- sccache -s
|
|
<<: *collect_artifacts
|
|
tags:
|
|
- linux-docker
|
|
|
|
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
|
|
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:
|
|
stage: optional #publish
|
|
only: *releaseable_branches
|
|
image: snapcore/snapcraft
|
|
variables:
|
|
BUILD_ARCH: amd64
|
|
cache: {}
|
|
before_script: *determine_version
|
|
dependencies:
|
|
- build-linux
|
|
tags:
|
|
- rust-stable
|
|
script:
|
|
- scripts/gitlab/publish-snap.sh
|
|
allow_failure: true
|
|
<<: *collect_artifacts
|
|
|
|
publish-onnet-update:
|
|
stage: publish-onchain
|
|
only: *releaseable_branches
|
|
cache: {}
|
|
dependencies:
|
|
- build-linux
|
|
- build-darwin
|
|
- build-windows
|
|
- publish-awss3-release
|
|
before_script: *determine_version
|
|
script:
|
|
- scripts/gitlab/publish-onnet-update.sh
|
|
tags:
|
|
- linux-docker
|
|
|
|
# configures aws for fast uploads/syncs
|
|
.s3-before-script: &s3-before-script
|
|
before_script:
|
|
- mkdir -p ${HOME}/.aws
|
|
- |
|
|
cat > ${HOME}/.aws/config <<EOC
|
|
[default]
|
|
s3 =
|
|
max_concurrent_requests = 20
|
|
max_queue_size = 10000
|
|
multipart_threshold = 64MB
|
|
multipart_chunksize = 16MB
|
|
max_bandwidth = 50MB/s
|
|
use_accelerate_endpoint = false
|
|
addressing_style = path
|
|
EOC
|
|
|
|
publish-awss3-release:
|
|
image: parity/awscli:latest
|
|
stage: publish
|
|
only: *releaseable_branches
|
|
cache: {}
|
|
dependencies:
|
|
- build-linux
|
|
- build-darwin
|
|
- build-windows
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
<<: *s3-before-script
|
|
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}}/
|
|
after_script:
|
|
- 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: optional
|
|
image: parity/rust-android:gitlab-ci
|
|
variables:
|
|
CARGO_TARGET: armv7-linux-androideabi
|
|
script:
|
|
- scripts/gitlab/build-unix.sh
|
|
tags:
|
|
- linux-docker
|
|
allow_failure: true
|
|
<<: *collect_artifacts
|
|
|