From cef299078a41263c95f64d5045c0eaa77c325655 Mon Sep 17 00:00:00 2001 From: gabriel klawitter Date: Wed, 8 May 2019 17:58:51 +0200 Subject: [PATCH 1/2] ci: publish docs debug (#10638) --- .gitlab-ci.yml | 82 +++++++++++++++++++++++----------- scripts/gitlab/publish-docs.sh | 7 ++- 2 files changed, 61 insertions(+), 28 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 295ac34f53d..52cbbabfd38 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -34,37 +34,58 @@ variables: .docker-cache-status: &docker-cache-status variables: CARGO_HOME: "/ci-cache/parity-ethereum/cargo/${CI_JOB_NAME}" + dependencies: [] before_script: - - SCCACHE_ERROR_LOG=/builds/parity/parity-ethereum/sccache_error.log RUST_LOG=sccache::server=debug sccache --start-server + - SCCACHE_ERROR_LOG=/builds/parity/parity-ethereum/sccache_debug.log + RUST_LOG=sccache=debug + sccache --start-server - sccache -s after_script: - - echo "All crate-types:" - - grep 'parse_arguments.*--crate-type' sccache_error.log | sed -re 's/.*"--crate-type", "([^"]+)".*/\1/' | sort | uniq -c - - echo "Non-cacheable reasons:" - - grep CannotCache sccache_error.log | sed -re 's/.*CannotCache\((.+)\).*/\1/' | sort | uniq -c + # sccache debug info + - if test -e sccache_debug.log; + then + echo "_____sccache_debug.log listing start:_____"; + cat sccache_debug.log; + echo "_____sccache_debug.log listing end_____"; + echo "All crate-types:"; + grep 'parse_arguments.*--crate-type' sccache_debug.log | sed -re 's/.*"--crate-type", "([^"]+)".*/\1/' | sort | uniq -c; + echo "_____Non-cacheable reasons:_____"; + grep CannotCache sccache_debug.log | sed -re 's/.*CannotCache\((.+)\).*/\1/' | sort | uniq -c; + else + echo "_____No logs from sccache_____"; + exit 0; + fi tags: - linux-docker +.build-on-linux: &build-on-linux + stage: build + <<: *docker-cache-status + <<: *collect_artifacts + script: + - scripts/gitlab/build-linux.sh + - sccache -s + cargo-check 0 3: stage: test <<: *docker-cache-status script: - - time cargo check --target $CARGO_TARGET --locked --no-default-features + - time cargo check --target $CARGO_TARGET --locked --no-default-features --verbose --color=always - sccache -s 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 + - time cargo check --target $CARGO_TARGET --locked --manifest-path util/io/Cargo.toml --no-default-features --verbose --color=always - sccache -s 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" + - time cargo check --target $CARGO_TARGET --locked --manifest-path util/io/Cargo.toml --features "mio" --verbose --color=always - sccache -s cargo-audit: @@ -72,7 +93,6 @@ cargo-audit: <<: *docker-cache-status script: - cargo audit - - sccache -s validate-chainspecs: stage: test @@ -92,55 +112,64 @@ test-linux: stage: build <<: *docker-cache-status script: - - ./scripts/gitlab/test-linux.sh + - ./scripts/gitlab/test-linux.sh stable - sccache -s -build-android: +test-linux-beta: stage: build - image: parity/rust-parity-ethereum-android-build:stretch - variables: - CARGO_TARGET: armv7-linux-androideabi + only: *releaseable_branches <<: *docker-cache-status - <<: *collect_artifacts script: - - scripts/gitlab/build-linux.sh - tags: - - linux-docker + - ./scripts/gitlab/test-linux.sh beta + - sccache -s -build-linux: &build-linux +test-linux-nightly: stage: build only: *releaseable_branches <<: *docker-cache-status - <<: *collect_artifacts script: - - scripts/gitlab/build-linux.sh + - ./scripts/gitlab/test-linux.sh nightly - sccache -s + allow_failure: true + +build-android: + <<: *build-on-linux + image: parity/rust-parity-ethereum-android-build:stretch + variables: + CARGO_TARGET: armv7-linux-androideabi + +build-linux: + <<: *build-on-linux + only: *releaseable_branches build-linux-i386: - <<: *build-linux + <<: *build-on-linux + only: *releaseable_branches image: parity/rust-parity-ethereum-build:i386 variables: CARGO_TARGET: i686-unknown-linux-gnu build-linux-arm64: - <<: *build-linux + <<: *build-on-linux + only: *releaseable_branches image: parity/rust-parity-ethereum-build:arm64 variables: CARGO_TARGET: aarch64-unknown-linux-gnu build-linux-armhf: - <<: *build-linux + <<: *build-on-linux + only: *releaseable_branches image: parity/rust-parity-ethereum-build:armhf variables: CARGO_TARGET: armv7-unknown-linux-gnueabihf build-darwin: stage: build - only: *releaseable_branches <<: *collect_artifacts + only: *releaseable_branches variables: CARGO_TARGET: x86_64-apple-darwin - CARGO_HOME: "${CI_PROJECT_DIR}/.cargo" + CARGO_HOME: "${CI_PROJECT_DIR}/.cargo" CC: gcc CXX: g++ script: @@ -260,4 +289,5 @@ publish-docs: - scripts/gitlab/publish-docs.sh tags: - linux-docker + allow_failure: true diff --git a/scripts/gitlab/publish-docs.sh b/scripts/gitlab/publish-docs.sh index 262ea80807f..2508c825556 100755 --- a/scripts/gitlab/publish-docs.sh +++ b/scripts/gitlab/publish-docs.sh @@ -51,8 +51,11 @@ commit_files() { upload_files() { echo "__________Upload files__________" - git push -q origin HEAD - git push -q -f --tags + # this version of git (2.7.4) will dump the token on failure + git push -q origin HEAD 2>&1 \ + | sed -r "s|(${GITHUB_USER}):[a-f0-9]+@|\1:REDACTED@|g" + git push -q -f --tags 2>&1 \ + | sed -r "s|(${GITHUB_USER}):[a-f0-9]+@|\1:REDACTED@|g" } RPC_TRAITS_DIR="rpc/src/v1/traits" From f38968f17ff02e52e766c90937242384c18e8b04 Mon Sep 17 00:00:00 2001 From: soc1c Date: Tue, 14 May 2019 14:17:32 +0200 Subject: [PATCH 2/2] ci: backport missing diff from master --- .gitlab-ci.yml | 1 - scripts/gitlab/build-linux.sh | 12 ++++++------ scripts/gitlab/build-windows.sh | 10 +++++----- scripts/gitlab/test-linux.sh | 7 ++++++- scripts/gitlab/validate-chainspecs.sh | 2 +- 5 files changed, 18 insertions(+), 14 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 52cbbabfd38..acea999e2e5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -290,4 +290,3 @@ publish-docs: tags: - linux-docker allow_failure: true - diff --git a/scripts/gitlab/build-linux.sh b/scripts/gitlab/build-linux.sh index f0697080cb8..ebd65cd9b39 100755 --- a/scripts/gitlab/build-linux.sh +++ b/scripts/gitlab/build-linux.sh @@ -18,13 +18,13 @@ cat .cargo/config echo "_____ Building target: "$CARGO_TARGET" _____" if [ "${CARGO_TARGET}" = "armv7-linux-androideabi" ] then - time cargo build --target $CARGO_TARGET --release -p parity-clib --features final + time cargo build --target $CARGO_TARGET --verbose --color=always --release -p parity-clib --features final else - time cargo build --target $CARGO_TARGET --release --features final - time cargo build --target $CARGO_TARGET --release -p evmbin - time cargo build --target $CARGO_TARGET --release -p ethstore-cli - time cargo build --target $CARGO_TARGET --release -p ethkey-cli - time cargo build --target $CARGO_TARGET --release -p whisper-cli + time cargo build --target $CARGO_TARGET --verbose --color=always --release --features final + time cargo build --target $CARGO_TARGET --verbose --color=always --release -p evmbin + time cargo build --target $CARGO_TARGET --verbose --color=always --release -p ethstore-cli + time cargo build --target $CARGO_TARGET --verbose --color=always --release -p ethkey-cli + time cargo build --target $CARGO_TARGET --verbose --color=always --release -p whisper-cli fi echo "_____ Post-processing binaries _____" diff --git a/scripts/gitlab/build-windows.sh b/scripts/gitlab/build-windows.sh index 7ddf4453e50..76332124d1d 100755 --- a/scripts/gitlab/build-windows.sh +++ b/scripts/gitlab/build-windows.sh @@ -14,11 +14,11 @@ echo "RUSTC_WRAPPER: " $RUSTC_WRAPPER echo "SCCACHE_DIR: " $SCCACHE_DIR echo "_____ Building target: "$CARGO_TARGET" _____" -time cargo build --target $CARGO_TARGET --release --features final -time cargo build --target $CARGO_TARGET --release -p evmbin -time cargo build --target $CARGO_TARGET --release -p ethstore-cli -time cargo build --target $CARGO_TARGET --release -p ethkey-cli -time cargo build --target $CARGO_TARGET --release -p whisper-cli +time cargo build --target $CARGO_TARGET --verbose --release --features final +time cargo build --target $CARGO_TARGET --verbose --release -p evmbin +time cargo build --target $CARGO_TARGET --verbose --release -p ethstore-cli +time cargo build --target $CARGO_TARGET --verbose --release -p ethkey-cli +time cargo build --target $CARGO_TARGET --verbose --release -p whisper-cli echo "__________Sign binaries__________" scripts/gitlab/sign-win.cmd $keyfile $certpass target/$CARGO_TARGET/release/parity.exe diff --git a/scripts/gitlab/test-linux.sh b/scripts/gitlab/test-linux.sh index 6a98d2f7bd5..2854508bb56 100755 --- a/scripts/gitlab/test-linux.sh +++ b/scripts/gitlab/test-linux.sh @@ -1,4 +1,6 @@ #!/bin/bash +# ARGUMENT $1 Rust flavor to run test with (stable/beta/nightly) + echo "________Running test-linux.sh________" set -e # fail on any error set -u # treat unset variables as error @@ -8,5 +10,8 @@ OPTIONS="--release" #use nproc `linux only THREADS=$(nproc) +rustup default $1 +rustup show + echo "________Running Parity Full Test Suite________" -time cargo test $OPTIONS --features "$FEATURES" --locked --all --target $CARGO_TARGET -- --test-threads $THREADS +time cargo test $OPTIONS --features "$FEATURES" --locked --all --target $CARGO_TARGET --verbose --color=always -- --test-threads $THREADS diff --git a/scripts/gitlab/validate-chainspecs.sh b/scripts/gitlab/validate-chainspecs.sh index 9b7ef39e727..58391e13126 100755 --- a/scripts/gitlab/validate-chainspecs.sh +++ b/scripts/gitlab/validate-chainspecs.sh @@ -6,7 +6,7 @@ echo "________Running validate_chainspecs.sh________" ERR=0 echo "________Validate chainspecs________" -time cargo build --release -p chainspec +time cargo build --release -p chainspec --verbose --color=always for spec in ethcore/res/*.json; do if ! ./target/release/chainspec "$spec"; then ERR=1; fi