Skip to content
This repository was archived by the owner on Nov 6, 2020. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 4 additions & 27 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,15 @@ stages:
- optional

image: ${REGISTRY}/parity-ci-linux:latest

variables:
GIT_STRATEGY: fetch
GIT_SUBMODULE_STRATEGY: recursive
CI_SERVER_NAME: "GitLab CI"
CARGO_HOME: "/ci-cache/${CI_PROJECT_NAME}/cargo/${CI_JOB_NAME}"
SCCACHE_DIR: "/ci-cache/${CI_PROJECT_NAME}/sccache"
CARGO_TARGET: x86_64-unknown-linux-gnu
REGISTRY: registry.parity.io/parity/infrastructure/scripts


.releaseable_branches: # list of git refs for building GitLab artifacts (think "pre-release binaries")
only: &releaseable_branches
- stable
Expand All @@ -38,22 +37,6 @@ variables:
before_script:
- rustup show
- cargo --version
- SCCACHE_ERROR_LOG=/builds/parity/parity-ethereum/sccache_debug.log
RUST_LOG=sccache=debug
sccache --start-server
- sccache -s
after_script:
# sccache debug info
- if test -e sccache_debug.log;
then
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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so debugging will be disabled completely?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, sccache debugging was actually helpful only once.
But what's important and bugs me, is that debug log level somehow hinders sccache to communicate with redis.
Also, had to remove sccache -s as it was failing the job because it couldn't get the info from Redis. I tried some ideas, but think that in order to do that, we should install sccache to CI1 and CI2 which is not really necessary, at least for now.

tags:
- linux-docker

Expand All @@ -63,7 +46,6 @@ variables:
<<: *collect_artifacts
script:
- scripts/gitlab/build-linux.sh
- sccache -s
after_script:
- mkdir -p tools
- cp -r scripts/docker/hub/* ./tools
Expand All @@ -81,21 +63,21 @@ cargo-check 0 3:
<<: *docker-cache-status
script:
- time cargo check --target $CARGO_TARGET --locked --no-default-features --verbose --color=always
- sccache -s
- sccache --stop-server

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 --verbose --color=always
- sccache -s
- sccache --stop-server

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" --verbose --color=always
- sccache -s
- sccache --stop-server

cargo-check-evmbin:
stage: test
Expand Down Expand Up @@ -123,37 +105,32 @@ validate-chainspecs:
<<: *docker-cache-status
script:
- ./scripts/gitlab/validate-chainspecs.sh
- sccache -s

test-cpp:
stage: build
<<: *docker-cache-status
script:
- ./scripts/gitlab/test-cpp.sh
- sccache -s

test-linux:
stage: build
<<: *docker-cache-status
script:
- ./scripts/gitlab/test-linux.sh stable
- sccache -s

test-linux-beta:
stage: build
only: *releaseable_branches
<<: *docker-cache-status
script:
- ./scripts/gitlab/test-linux.sh beta
- sccache -s

test-linux-nightly:
stage: build
only: *releaseable_branches
<<: *docker-cache-status
script:
- ./scripts/gitlab/test-linux.sh nightly
- sccache -s
allow_failure: true

build-android:
Expand Down
4 changes: 4 additions & 0 deletions scripts/gitlab/build-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
set -e # fail on any error
set -u # treat unset variables as error

export CC="sccache "$CC
export CXX="sccache "$CXX
echo "__________Show ENVIROMENT__________"
echo "CI_SERVER_NAME: " $CI_SERVER_NAME
echo "CARGO_HOME: " $CARGO_HOME
Expand Down Expand Up @@ -55,3 +57,5 @@ do
echo "> ${binary} cannot be hashed with cross-compiled binary (keccak256)"
fi
done
#show sccache statistics
sccache --stop-server
4 changes: 4 additions & 0 deletions scripts/gitlab/test-cpp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ set -e # fail on any error
set -u # treat unset variables as error
#use nproc `linux only
THREADS=$(nproc)
export CC="sccache gcc"
export CXX="sccache g++"

echo "________Running the C++ example________"
DIR=parity-clib/examples/cpp/build
Expand All @@ -15,3 +17,5 @@ make VERBOSE=1 -j $THREADS
# that to happen on CI
cd -
rm -rf $DIR
#show sccache statistics
sccache --stop-server
6 changes: 6 additions & 0 deletions scripts/gitlab/test-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ echo "________Running test-linux.sh________"
set -e # fail on any error
set -u # treat unset variables as error

export CC="sccache gcc"
export CXX="sccache g++"
FEATURES="json-tests"

OPTIONS="--release"
#use nproc `linux only
THREADS=$(nproc)
Expand All @@ -16,3 +19,6 @@ rustup show
echo "________Running Parity Full Test Suite________"
# Why are we using RUSTFLAGS? See https://github.com/paritytech/parity-ethereum/pull/10719
CARGO_INCREMENTAL=0 RUSTFLAGS="-C opt-level=3 -C overflow-checks=on -C debuginfo=2 -Ctarget-feature=+aes,+sse2,+ssse3" time cargo test $OPTIONS --features "$FEATURES" --locked --all --target $CARGO_TARGET --verbose --color=never -- --test-threads $THREADS

#show sccache statistics
sccache --stop-server
3 changes: 2 additions & 1 deletion scripts/gitlab/validate-chainspecs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@ done
for spec in ethcore/res/ethereum/*.json; do
if ! ./target/release/chainspec "$spec"; then ERR=1; fi
done

#show sccache statistics
sccache --stop-server
exit $ERR