* version: bump stable to 2.1.7 * Adjust requests costs for light client (#9925) * PIP Table Cost relative to average peers instead of max peers * Add tracing in PIP new_cost_table * Update stat peer_count * Use number of leeching peers for Light serve costs * Fix test::light_params_load_share_depends_on_max_peers (wrong type) * Remove (now) useless test * Remove `load_share` from LightParams.Config Prevent div. by 0 * Add LEECHER_COUNT_FACTOR * PR Grumble: u64 to u32 for f64 casting * Prevent u32 overflow for avg_peer_count * Add tests for LightSync::Statistics * Fix empty steps (#9939) * Don't send empty step twice or empty step then block. * Perform basic validation of locally sealed blocks. * Don't include empty step twice. * prevent silent errors in daemon mode, closes #9367 (#9946) * Fix light client informant while syncing (#9932) * Add `is_idle` to LightSync to check importing status * Use SyncStateWrapper to make sure is_idle gets updates * Update is_major_import to use verified queue size as well * Add comment for `is_idle` * Add Debug to `SyncStateWrapper` * `fn get` -> `fn into_inner` * ci: rearrange pipeline by logic (#9970) * ci: rearrange pipeline by logic * ci: rename docs script * Add readiness check for docker container (#9804) * Update Dockerfile Since parity is built for "mission critical use", I thought other operators may see the need for this. Adding the `curl` and `jq` commands allows for an extremely simple health check to be usable in container orchestrators. For example. Here is a health check for a parity docker container running in Kubernetes. This can be setup as a readiness Probe that would prevent clustered nodes that aren't ready from serving traffic. ```bash #!/bin/bash ETH_SYNCING=$(curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' http://localhost:8545 -H 'Content-Type: application/json') RESULT=$(echo "$ETH_SYNCING | jq -r .result) if [ "$RESULT" == "false" ]; then echo "Parity is ready to start accepting traffic" exit 0 else echo "Parity is still syncing the blockchain" exit 1 fi ``` * add sync check script * Fix docker script (#9854) * Dockerfile: change source path of the newly added check_sync.sh (#9869) * Do not use the home directory as the working dir in docker (#9834) * Do not create a home directory. * Re-add -m flag * fix docker build (#9971) * bump smallvec to 0.6 in ethcore-light, ethstore and whisper (#9588) * bump smallvec to 0.6 in ethcore-light, ethstore and whisper * bump transaction-pool * Fix test. * patch cargo to use tokio-proto from git repo this makes sure we no longer depend on smallvec 0.2.1 which is affected by https://github.com/servo/rust-smallvec/issues/96 * use patched version of untrusted 0.5.1 * ci: allow audit to fail
		
			
				
	
	
		
			156 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			156 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
stages:
 | 
						|
  - test
 | 
						|
  - build
 | 
						|
  - publish
 | 
						|
  - optional
 | 
						|
 | 
						|
image:                             parity/rust:gitlab-ci
 | 
						|
 | 
						|
variables:
 | 
						|
  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}_${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:                     all
 | 
						|
  script:
 | 
						|
    - scripts/gitlab/test-all.sh stable
 | 
						|
  tags:
 | 
						|
    - rust-stable
 | 
						|
 | 
						|
test-audit:
 | 
						|
  stage:                           test
 | 
						|
  script:
 | 
						|
    - scripts/gitlab/cargo-audit.sh
 | 
						|
  tags:
 | 
						|
    - rust-stable
 | 
						|
  allow_failure:                   true
 | 
						|
 | 
						|
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
 | 
						|
  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-awss3:
 | 
						|
  stage:                           publish
 | 
						|
  only:                            *releaseable_branches
 | 
						|
  cache: {}
 | 
						|
  dependencies:
 | 
						|
    - build-linux
 | 
						|
    - build-darwin
 | 
						|
    - build-windows
 | 
						|
  before_script:                   *determine_version
 | 
						|
  script:
 | 
						|
    - scripts/gitlab/publish-awss3.sh
 | 
						|
  tags:
 | 
						|
    - shell
 | 
						|
 | 
						|
publish-docs:
 | 
						|
  stage:                            publish
 | 
						|
  only:
 | 
						|
    - tags
 | 
						|
  except:
 | 
						|
    - nightly
 | 
						|
  cache: {}
 | 
						|
  script:
 | 
						|
    - scripts/gitlab/publish-docs.sh
 | 
						|
  tags:
 | 
						|
    - shell
 | 
						|
 | 
						|
build-android:
 | 
						|
  stage:                           optional
 | 
						|
  image:                           parity/rust-android:gitlab-ci
 | 
						|
  variables:
 | 
						|
    CARGO_TARGET:                  armv7-linux-androideabi
 | 
						|
  script:
 | 
						|
    - scripts/gitlab/build-unix.sh
 | 
						|
  tags:
 | 
						|
    - rust-arm
 | 
						|
  allow_failure:                   true
 | 
						|
 | 
						|
test-beta:
 | 
						|
  stage:                           optional
 | 
						|
  variables:
 | 
						|
    RUN_TESTS:                     cargo
 | 
						|
  script:
 | 
						|
    - scripts/gitlab/test-all.sh beta
 | 
						|
  tags:
 | 
						|
    - rust-beta
 | 
						|
  allow_failure:                   true
 | 
						|
 | 
						|
test-nightly:
 | 
						|
  stage:                           optional
 | 
						|
  variables:
 | 
						|
    RUN_TESTS:                     all
 | 
						|
  script:
 | 
						|
    - scripts/gitlab/test-all.sh nightly
 | 
						|
  tags:
 | 
						|
    - rust-nightly
 | 
						|
  allow_failure:                   true
 |