Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Commit

Permalink
Switching sccache from local to Redis (#10971)
Browse files Browse the repository at this point in the history
* Switching cache from local to Radis

* sccache -s won't work. All the images are taken from own registry

* new images addresses

* statisticss after stop sccache server
sccache CC&CXX
  • Loading branch information
General-Beck authored and dvdplm committed Nov 6, 2019
1 parent dc6897f commit 9bcb911
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 32 deletions.
49 changes: 20 additions & 29 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
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,20 +63,34 @@ 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 --stop-server

cargo-check-evmbin:
stage: test
<<: *docker-cache-status
script:
- time cargo check -p evmbin --target $CARGO_TARGET --locked --verbose --color=always
- sccache -s

cargo-check-benches:
stage: test
<<: *docker-cache-status
script:
- time cargo check --all --benches --target $CARGO_TARGET --locked --verbose --color=always
- sccache -s

cargo-audit:
Expand All @@ -109,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 All @@ -150,7 +141,7 @@ build-android:

build-linux:
<<: *build-on-linux
# only: *releaseable_branches
only: *releaseable_branches

build-linux-i386:
<<: *build-on-linux
Expand Down Expand Up @@ -220,7 +211,7 @@ publish-docker:
DOCKER_DRIVER: overlay2
GIT_STRATEGY: none
# DOCKERFILE: tools/Dockerfile
# CONTAINER_IMAGE: parity/parity
# CONTAINER_IMAGE: parity/parity
script:
- ./tools/publish-docker.sh
tags:
Expand Down Expand Up @@ -336,7 +327,7 @@ publish-release-awss3-nightly: &publish-release-awss3
- linux-docker

publish-release-awss3-manually:
<<: *publish-release-awss3
<<: *publish-release-awss3
only: *releaseable_branches
when: manual

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 @@ -54,3 +56,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
10 changes: 8 additions & 2 deletions scripts/gitlab/test-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@ echo "________Running test-linux.sh________"
set -e # fail on any error
set -u # treat unset variables as error

FEATURES="json-tests,ci-skip-tests"
OPTIONS=""
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" 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

0 comments on commit 9bcb911

Please sign in to comment.