Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
parity
Mirrored projects
polkadot
Commits
497051f4
Verified
Commit
497051f4
authored
Aug 10, 2021
by
Denis_P
🏑
Browse files
CI: debug
parent
e40aca2e
Pipeline
#152101
failed with stages
in 2 minutes and 49 seconds
Changes
1
Pipelines
1
Show whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
497051f4
...
...
@@ -84,160 +84,6 @@ default:
when
:
never
-
if
:
$CI_COMMIT_REF_NAME =~ /^[0-9]+$/
# PRs
#### stage: test
check-runtime
:
stage
:
test
image
:
paritytech/tools:latest
<<
:
*kubernetes-env
<<
:
*rules-pr-only
variables
:
GITLAB_API
:
"
https://gitlab.parity.io/api/v4"
GITHUB_API_PROJECT
:
"
parity%2Finfrastructure%2Fgithub-api"
script
:
-
./scripts/gitlab/check_runtime.sh
allow_failure
:
true
check-line-width
:
stage
:
test
image
:
paritytech/tools:latest
<<
:
*kubernetes-env
<<
:
*rules-pr-only
script
:
-
./scripts/gitlab/check_line_width.sh
allow_failure
:
true
cargo-fmt
:
stage
:
test
<<
:
*kubernetes-env
<<
:
*rules-pr-only
script
:
-
cargo +nightly fmt --all -- --check
allow_failure
:
true
test-deterministic-wasm
:
stage
:
test
<<
:
*rules-test
<<
:
*docker-env
<<
:
*compiler-info
script
:
-
./scripts/gitlab/test_deterministic_wasm.sh
test-build-linux-stable
:
stage
:
test
<<
:
*docker-env
<<
:
*compiler-info
<<
:
*collect-artifacts
variables
:
RUST_TOOLCHAIN
:
stable
# Enable debug assertions since we are running optimized builds for testing
# but still want to have debug assertions.
RUSTFLAGS
:
"
-Cdebug-assertions=y
-Dwarnings"
rules
:
-
if
:
$CI_PIPELINE_SOURCE == "schedule"
-
if
:
$CI_COMMIT_REF_NAME == "master"
-
if
:
$CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/
# i.e. v1.0, v2.1rc1
-
if
:
$CI_COMMIT_REF_NAME =~ /^[0-9]+$/
# PRs
-
if
:
$CI_COMMIT_REF_NAME == "rococo-v1"
script
:
-
./scripts/gitlab/test_linux_stable.sh
# we're using the bin built here, instead of having a parallel `build-linux-release`
-
time cargo build --release --verbose --bin polkadot
-
sccache -s
# pack-artifacts
-
mkdir -p ./artifacts
-
VERSION="${CI_COMMIT_REF_NAME}"
# will be tag or branch name
-
mv ./target/release/polkadot ./artifacts/.
-
sha256sum ./artifacts/polkadot | tee ./artifacts/polkadot.sha256
-
EXTRATAG="$(./artifacts/polkadot --version |
sed -n -r 's/^polkadot ([0-9.]+.*-[0-9a-f]{7,13})-.*$/\1/p')"
-
EXTRATAG="${CI_COMMIT_REF_NAME}-${EXTRATAG}-$(cut -c 1-8 ./artifacts/polkadot.sha256)"
-
echo "Polkadot version = ${VERSION} (EXTRATAG = ${EXTRATAG})"
-
echo -n ${VERSION} > ./artifacts/VERSION
-
echo -n ${EXTRATAG} > ./artifacts/EXTRATAG
-
cp -r scripts/docker/* ./artifacts
check-web-wasm
:
stage
:
test
<<
:
*rules-test
<<
:
*docker-env
<<
:
*compiler-info
script
:
# WASM support is in progress. As more and more crates support WASM, we should
# add entries here. See https://github.com/paritytech/polkadot/issues/625
-
./scripts/gitlab/check_web_wasm.sh
-
sccache -s
check-runtime-benchmarks
:
stage
:
test
<<
:
*rules-test
<<
:
*docker-env
<<
:
*compiler-info
script
:
# Check that the node will compile with `runtime-benchmarks` feature flag.
-
./scripts/gitlab/check_runtime_benchmarks.sh
-
sccache -s
spellcheck
:
stage
:
test
<<
:
*docker-env
<<
:
*rules-pr-only
script
:
-
cargo spellcheck --version
# compare with the commit parent to the PR, given it's from a default branch
-
git fetch origin +${CI_DEFAULT_BRANCH}:${CI_DEFAULT_BRANCH}
-
time cargo spellcheck check -vvv --cfg=scripts/gitlab/spellcheck.toml --checkers hunspell --code
1
-r $(git diff --name-only ${CI_COMMIT_SHA} $(git merge-base ${CI_COMMIT_SHA} ${CI_DEFAULT_BRANCH}))
allow_failure
:
true
build-adder-collator
:
stage
:
test
<<
:
*collect-artifacts
<<
:
*docker-env
<<
:
*compiler-info
rules
:
-
if
:
$CI_PIPELINE_SOURCE == "schedule"
-
if
:
$CI_COMMIT_REF_NAME == "master"
-
if
:
$CI_COMMIT_REF_NAME =~ /^[0-9]+$/
# PRs
-
if
:
$CI_COMMIT_REF_NAME == "rococo-v1"
script
:
-
time cargo build --release --verbose -p test-parachain-adder-collator
-
sccache -s
# pack artifacts
-
mkdir -p ./artifacts
-
mv ./target/release/adder-collator ./artifacts/.
-
echo -n "${CI_COMMIT_REF_NAME}" > ./artifacts/VERSION
-
echo -n "${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHORT_SHA}" > ./artifacts/EXTRATAG
-
echo "adder-collator version = $(cat ./artifacts/VERSION) (EXTRATAG = $(cat ./artifacts/EXTRATAG))"
-
cp -r scripts/docker/* ./artifacts
#### stage: build
check-transaction-versions
:
image
:
node:15
stage
:
build
<<
:
*rules-test
<<
:
*docker-env
needs
:
-
job
:
test-build-linux-stable
artifacts
:
true
before_script
:
-
apt-get -y update; apt-get -y install jq lsof
-
npm install --ignore-scripts -g @polkadot/metadata-cmp
-
git fetch origin release
script
:
-
scripts/gitlab/check_extrinsics_ordering.sh
generate-impl-guide
:
stage
:
build
<<
:
*rules-test
<<
:
*docker-env
image
:
name
:
michaelfbryan/mdbook-docker-image:v0.4.4
entrypoint
:
[
"
"
]
script
:
-
mdbook build roadmap/implementers-guide
build-rustdoc
:
stage
:
build
<<
:
*docker-env
...
...
@@ -260,167 +106,6 @@ build-rustdoc:
-
echo "<meta http-equiv=refresh content=0;url=sc_service/index.html>" > ./crate-docs/index.html
-
sccache -s
.build-push-image
:
&build-push-image
<<
:
*kubernetes-env
image
:
quay.io/buildah/stable
variables
:
&image-variables
GIT_STRATEGY
:
none
DOCKER_USER
:
${PARITYPR_USER}
DOCKER_PASS
:
${PARITYPR_PASS}
before_script
:
&check-versions
-
test -s ./artifacts/VERSION || exit
1
-
test -s ./artifacts/EXTRATAG || exit
1
-
VERSION="$(cat ./artifacts/VERSION)"
-
EXTRATAG="$(cat ./artifacts/EXTRATAG)"
-
echo "Polkadot version = ${VERSION} (EXTRATAG = ${EXTRATAG})"
script
:
-
test "$DOCKER_USER" -a "$DOCKER_PASS" ||
( echo "no docker credentials provided"; exit 1 )
-
cd ./artifacts
-
buildah bud
--format=docker
--build-arg VCS_REF="${CI_COMMIT_SHA}"
--build-arg BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%SZ')"
--build-arg IMAGE_NAME="${IMAGE_NAME}"
--tag "$IMAGE_NAME:$VERSION"
--tag "$IMAGE_NAME:$EXTRATAG"
--file ${DOCKERFILE} .
# The job will success only on the protected branch
-
echo "$DOCKER_PASS" |
buildah login --username "$DOCKER_USER" --password-stdin docker.io
-
buildah info
-
buildah push --format=v2s2 "$IMAGE_NAME:$VERSION"
-
buildah push --format=v2s2 "$IMAGE_NAME:$EXTRATAG"
after_script
:
-
buildah logout "$IMAGE_NAME"
# pass artifacts to the trigger-simnet job
-
echo "IMAGE_NAME=${IMAGE_NAME}" > ./artifacts/build.env
-
echo "IMAGE_TAG=$(cat ./artifacts/EXTRATAG)" >> ./artifacts/build.env
artifacts
:
reports
:
# this artifact is used in trigger-simnet job
# https://docs.gitlab.com/ee/ci/multi_project_pipelines.html#with-variable-inheritance
dotenv
:
./artifacts/build.env
publish-polkadot-image
:
stage
:
build
<<
:
*build-push-image
variables
:
<<
:
*image-variables
# scripts/docker/Dockerfile
DOCKERFILE
:
Dockerfile
IMAGE_NAME
:
docker.io/paritypr/synth-wave
rules
:
# Don't run on releases - this is handled by the Github Action here:
# .github/workflows/publish-docker-release.yml
-
if
:
$CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/
# i.e. v1.0, v2.1rc1
when
:
never
-
if
:
$CI_PIPELINE_SOURCE == "schedule"
-
if
:
$CI_COMMIT_REF_NAME == "master"
-
if
:
$CI_COMMIT_REF_NAME =~ /^[0-9]+$/
# PRs
-
if
:
$CI_COMMIT_REF_NAME == "rococo-v1"
variables
:
<<
:
*image-variables
IMAGE_NAME
:
docker.io/parity/rococo
DOCKER_USER
:
${Docker_Hub_User_Parity}
DOCKER_PASS
:
${Docker_Hub_Pass_Parity}
needs
:
-
job
:
test-build-linux-stable
artifacts
:
true
publish-adder-collator-image
:
# service image for Simnet
stage
:
build
<<
:
*build-push-image
variables
:
<<
:
*image-variables
# scripts/docker/collator.Dockerfile
DOCKERFILE
:
collator.Dockerfile
IMAGE_NAME
:
docker.io/paritypr/colander
rules
:
-
if
:
$CI_PIPELINE_SOURCE == "schedule"
-
if
:
$CI_COMMIT_REF_NAME == "master"
-
if
:
$CI_COMMIT_REF_NAME =~ /^[0-9]+$/
# PRs
-
if
:
$CI_COMMIT_REF_NAME == "rococo-v1"
needs
:
-
job
:
build-adder-collator
artifacts
:
true
after_script
:
-
buildah logout "$IMAGE_NAME"
# pass artifacts to the trigger-simnet job
-
echo "COLLATOR_IMAGE_TAG=$(cat ./artifacts/EXTRATAG)" > ./artifacts/collator.env
artifacts
:
reports
:
# this artifact is used in trigger-simnet job
dotenv
:
./artifacts/collator.env
.update_weights
:
&update-weights
stage
:
build
when
:
manual
tags
:
-
weights
variables
:
RUNTIME
:
polkadot
artifacts
:
paths
:
-
${RUNTIME}_weights_${CI_COMMIT_SHORT_SHA}.patch
script
:
|
./scripts/run_benches_for_runtime.sh $RUNTIME
git diff -P > ${RUNTIME}_weights_${CI_COMMIT_SHORT_SHA}.patch
update_polkadot_weights
:
<<
:
*update-weights
update_kusama_weights
:
<<
:
*update-weights
variables
:
RUNTIME
:
kusama
update_westend_weights
:
<<
:
*update-weights
variables
:
RUNTIME
:
westend
#### stage: publish
publish-s3-release
:
&publish-s3
stage
:
publish
needs
:
-
job
:
test-build-linux-stable
artifacts
:
true
<<
:
*kubernetes-env
image
:
paritytech/awscli:latest
variables
:
GIT_STRATEGY
:
none
PREFIX
:
"
builds/polkadot/${ARCH}-${DOCKER_OS}"
rules
:
# publishing binaries nightly
-
if
:
$CI_PIPELINE_SOURCE == "schedule"
before_script
:
-
*check-versions
script
:
-
echo "uploading objects to https://releases.parity.io/${PREFIX}/${VERSION}"
-
aws s3 sync --acl public-read ./artifacts/ s3://${AWS_BUCKET}/${PREFIX}/${VERSION}/
-
echo "update objects at https://releases.parity.io/${PREFIX}/${EXTRATAG}"
-
find ./artifacts -type f | while read file; do
name="${file#./artifacts/}";
aws s3api copy-object
--copy-source ${AWS_BUCKET}/${PREFIX}/${VERSION}/${name}
--bucket ${AWS_BUCKET} --key ${PREFIX}/${EXTRATAG}/${name};
done
-
|
cat <<-EOM
|
| polkadot binary paths:
|
| - https://releases.parity.io/${PREFIX}/${EXTRATAG}/polkadot
| - https://releases.parity.io/${PREFIX}/${VERSION}/polkadot
|
EOM
after_script
:
-
aws s3 ls s3://${AWS_BUCKET}/${PREFIX}/${EXTRATAG}/
--recursive --human-readable --summarize
publish-rustdoc
:
stage
:
publish
<<
:
*kubernetes-env
...
...
@@ -430,6 +115,8 @@ publish-rustdoc:
rules
:
-
if
:
$CI_PIPELINE_SOURCE == "web" && $CI_COMMIT_REF_NAME == "master"
-
if
:
$CI_COMMIT_REF_NAME == "master"
# FIXME: remove me
-
if
:
$CI_COMMIT_REF_NAME =~ /^[0-9]+$/
# PRs
script
:
-
rm -rf /tmp/*
# Set git config
...
...
@@ -457,47 +144,3 @@ publish-rustdoc:
-
git push origin gh-pages --force
after_script
:
-
rm -rf .git/ ./*
#### stage: deploy
deploy-polkasync-kusama
:
stage
:
deploy
rules
:
# former .rules-build
-
if
:
$CI_COMMIT_REF_NAME == "rococo-v1"
when
:
never
-
if
:
$CI_PIPELINE_SOURCE == "schedule"
-
if
:
$CI_COMMIT_REF_NAME == "master"
variables
:
POLKADOT_CI_COMMIT_NAME
:
"
${CI_COMMIT_REF_NAME}"
POLKADOT_CI_COMMIT_REF
:
"
${CI_COMMIT_SHORT_SHA}"
allow_failure
:
true
trigger
:
"
parity/infrastructure/parity-testnet"
trigger-simnet
:
stage
:
deploy
image
:
paritytech/tools:latest
<<
:
*kubernetes-env
rules
:
-
if
:
$CI_PIPELINE_SOURCE == "schedule"
-
if
:
$CI_COMMIT_REF_NAME == "master"
-
if
:
$CI_COMMIT_REF_NAME =~ /^[0-9]+$/
# PRs
-
if
:
$CI_COMMIT_REF_NAME == "rococo-v1"
needs
:
-
job
:
publish-polkadot-image
-
job
:
publish-adder-collator-image
# `build.env` brings here `$IMAGE_NAME` and `$IMAGE_TAG` (`$EXTRATAG` here,
# i.e. `2643-0.8.29-5f689e0a-6b24dc54`).
# `collator.env` bears adder-collator unique build tag. In non-triggered builds it
# can be called by `master` tag.
# Simnet uses an image published on PRs with this exact version for triggered runs
# on commits. And parity/rococo:rococo-v1 for the runs not launched by this job.
variables
:
TRGR_PROJECT
:
${CI_PROJECT_NAME}
TRGR_REF
:
${CI_COMMIT_REF_NAME}
# Simnet project ID
DWNSTRM_ID
:
332
script
:
# API trigger for a Simnet job, argument value is set in the project variables
-
./scripts/gitlab/trigger_pipeline.sh --simnet-version=${SIMNET_REF}
allow_failure
:
true
Denis_P
🏑
@TriplEight
mentioned in commit
5432c2b0
·
Aug 11, 2021
mentioned in commit
5432c2b0
mentioned in commit 5432c2b03566e55fefac42e628d1d164c5cbc6e7
Toggle commit list
Denis_P
🏑
@TriplEight
mentioned in commit
63a4d8b4
·
Aug 11, 2021
mentioned in commit
63a4d8b4
mentioned in commit 63a4d8b420b06f410c446120d136fc3ec0c46b6a
Toggle commit list
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment