Commit Graph

293 Commits

Author SHA1 Message Date
Javier Viola 9a8bbbab03 bump version of zombienet and update snaps links (#13359) 2023-02-10 15:11:10 +01:00
JP 21141f5d4c More improvements for the crate publishing pipeline (#13153)
* more improvements for the crate publishing pipeline

* move default definitions to the publish-crates script

* add script to check the crate publishing pipeline at the start

* fix yaml references

* move more variables to .crates-publishing-pipeline

* separate .crates-publishing-pipeline from .crates-publishing-variables

* clean up redundant and unused code
2023-01-16 14:03:46 +00:00
Vladimir Istyufeev b8ebe3dc52 CI: Unpin ci-linux and use Rust 1.66.1 (#13134) 2023-01-13 14:32:29 +04:00
Vladimir Istyufeev 280fce7172 Update tests for 1.66 and switch CI to stable Rust 1.66 (#13118)
* Update UI tests for 1.66

* Fix `test_enum` assertion for Rust 1.66

* Fix another `test_enum` assertion for Rust 1.66

* Fix another `test_enum` assertion for Rust 1.66

* Fix another `test_enum` assertion for Rust 1.66
2023-01-10 21:08:28 +00:00
JP 72f086b795 Avoid unintentionally canceling the scheduled crate publishing job (#13088)
* avoid unintentionally canceling the scheduled crate publishing job

because publish-crates and publish-crates-manual share the resource group
"crates-publishing", any instance of publish-crates-manual cancels a running
instance of publish-crates, as demonstrated by
https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2212179

a workaround for that unintended interaction is to avoid creating instances of
publish-crates-manual and instead require pipelines to be triggered manually by
checking $CI_JOB_MANUAL == "true"

* check manual pipelines by $CI_PIPELINE_SOURCE instead of $CI_JOB_MANUAL

* make crate-publishing pipelines uninterruptible

* use conditional includes to work around interruptible limitations

* organize comments

* remove interruptible from common pipeline

* wip: check include

* wip: check include

* fix include

* fix include

* fix include

* fix yaml

* fix yaml

* remove shared common-pipeline

* wip: retry common-pipeline

* move .default-template to .gitlab-ci.yml

* fix the pipeline

add comments

* fix default-pipeline.yml

* revert publish-crates-manual to when: manual

* move "needs:" back to publish-crates

* avoid manual repetition

* improve previous commit

* try to avoid manual repetition

* fix indentation

* minor adjustments

* move defaults to top of .gitlab-ci.yml

* fix positioning on default in the diff

* comments

* indentation

* Apply suggestions from code review

Co-authored-by: Alexander Samusev <41779041+alvicsam@users.noreply.github.com>

Co-authored-by: Alexander Samusev <41779041+alvicsam@users.noreply.github.com>
2023-01-10 12:01:44 +00:00
Vlad f67f9f0405 CI: configure cargo-nextest's reporter options explicitly (#13104) 2023-01-09 21:36:27 +04:00
Vlad 46d4eb2a05 Unpin ci-linux and use the latest production tag as before (#13030) 2022-12-29 19:46:56 +04:00
Vlad 0d35943574 Enable zstd for rusty-cachier (#13029) 2022-12-29 19:20:41 +04:00
JP 3cce86c02c change crates publishing to be scheduled (#13002) 2022-12-22 12:21:30 +00:00
João Paulo Silva de Souza a5cab922a5 Set WASM_BUILD_WORKSPACE_HINT before starting CI jobs (#12816)
* set WASM_BUILD_WORKSPACE_HINT

this enables wasm-builder to find the Cargo.lock from within generated packages

* wip: try out https://github.com/paritytech/pipeline-scripts/pull/90

* wip: fixup

* wip

* revert ci skip

* set up WASM_BUILD_WORKSPACE_HINT for .kubernetes-env as well

* Update scripts/ci/gitlab/pipeline/publish.yml

Co-authored-by: Alexander Samusev <41779041+alvicsam@users.noreply.github.com>

Co-authored-by: Alexander Samusev <41779041+alvicsam@users.noreply.github.com>
2022-12-16 12:29:55 +00:00
Alexander Samusev 3e0a1904b7 [ci] add job switcher (#12922) 2022-12-14 12:36:33 +01:00
Michal Kucharczyk 39cb3b06cd zombienet: warp-sync integration test added (#12675)
* zombienet: warp-sync integration test added

* spelling

* Readme corrected

* dir name updated

* Check second phase of warp sync

* zombienet pipeline enable + naive test network

* zombienet stage added

* paritypr/substrate-debug image added for zombienet testing

* debugs added

* debugs added

* buildah problem fixed

* rollback

* runner tag

* test name corrected

* dir renamed (regex problem)

* common code clean up

* common code clean up

* fix

* warp sync test improvements

* full sha used

as short is too short (https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2051228#L38)

* disable tracing for nodes

* COMMON_USER -> DOCKERIO_USER

* refs reworked

* paritypr/substrate image used

* DOCKERIO -> DOCKER

* generate-ws-db toml cleanup

* improvements

* fix

* raw chain spec used

* zombienet v1.3.18 used

* zombienet: warp sync test enabled

* chain-spec path corrected

* log parsing improved

Checking if log does not container error or verification failed messages

* warp sync test: removed validators

* fix

* review remarks applied

* dir test name changed: 0000_block_building -> 0000-block-building

* transaction finalized test added

* transaction finalized test: error handling improved

* trigger CI job

* trigger CI job

* trigger CI job

* trigger CI job

* Explicitly touch `version.rs` to invalidate the related cache

* zombienet add logs as artifacts

* Revert "Explicitly touch `version.rs` to invalidate the related cache"

This reverts commit 9d00ccfe897a280581156c281961a32665dba6d5.

* file naming changed

Co-authored-by: parity-processbot <>
Co-authored-by: Vladimir Istyufeev <vladimir@parity.io>
Co-authored-by: Javier Viola <javier@parity.io>
2022-12-07 22:44:40 +00:00
João Paulo Silva de Souza 8751f88fc7 Implement crate publishing on CI (#12768)
* implement crate publishing from CI

* fix indentation

* use resource_group for job exclusivity

ensure that at most one instance of the publish-crates job is running at any given time to prevent race conditions

* correct publish = false

* Remove YAML anchors as GitLab's `extends:` doesn't need it

* Temporarily force cache upload for the new jobs

* Revert `RUSTY_CACHIER_FORCE_UPLOAD`

* pin libp2p-tcp=0.37.0 for sc-telemetry

* Revert "pin libp2p-tcp=0.37.0 for sc-telemetry"

This reverts commit 29146bfad6c31e8cf0e2f17ad92a71bb81a373af.

* always collect generated crates

* increase timeout for publish-crates-template

* Force upload the new job cache again

* Revert "Force upload the new job cache again"

This reverts commit 5a5feee1b2c51fdef768b25a76be4c3949ec1c99.

* reformat

* improve timeout explanation

* s/usual/average

Co-authored-by: Vladimir Istyufeev <vladimir@parity.io>
2022-12-07 18:08:48 +00:00
Alexander Theißen 32578cb010 Remove sandboxing host function interface (#12852)
* Remove sandboxing interface

* Remove unused struct
2022-12-07 12:48:30 +00:00
Vlad c5ce79a439 Explicitly unset RUSTC_WRAPPER=sccache environment variable (#12771)
* CI: Explicitly unset RUSTC_WRAPPER=sccache environment variable

* Try with `rusty-cachier` disabled

* Re-enable `rusty-cachier` and try with the staging image

* Bring back `production` image

* Sort crates before splitting them into groups (+ some improvements) (#12755)

* sort crates before splitting them into groups

this is useful so that crates always get routed to a specific group for a given version of the source code, which means that jobs for each batch can be reliably retried individually

* more verbose output

* misc improvements

* put uniq after sort

uniq filters by adjacent lines

* shellcheck

* rm useless backlashes

* handle edge case of no crates detected

* Revert "Sort crates before splitting them into groups (+ some improvements) (#12755)"

This reverts commit fde839183a12a2bd51efc7143ebcddeed81ea6fa.

Co-authored-by: João Paulo Silva de Souza <77391175+joao-paulo-parity@users.noreply.github.com>
2022-11-25 21:39:21 +00:00
Oliver Tale-Yazdi 7ed2bc7258 Fix rustdoc (#12777)
* Fix table formatting

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Fix sp-runtime-interface table

Using HTML now since multi-line tables are not a thing and fmt
destroys them.

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* More rustdoc fixes

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Fix tags

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* More fixes...

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Use Bastis patch

Co-authored-by: Bastian Köcher <git@kchr.de>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Add more backticks

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* change ci image

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: alvicsam <alvicsam@gmail.com>
2022-11-25 15:13:38 +01:00
João Paulo Silva de Souza eae3299ba5 Check all crates (#12709)
* check all crates individually

It's relevant to check workspace crates individually because otherwise their compilation problems
due to feature misconfigurations won't be caught, as exemplified by
https://github.com/paritytech/substrate/issues/12705

* adapt to lack of multiple macos runners

https://github.com/paritytech/substrate/pull/12709#discussion_r1022868752

* fix cancel-pipeline-cargo-check-each-crate-macos

* fix cargo-check-each-crate-macos again

* time command execution

* fix YAML anchors

* add explanation for rounding division

* ensure the minimum of one crate per group

* collect artifacts for pipeline stopper

* revert hardcoded crates_per_group

* re-add crates_per_group=1
2022-11-21 12:49:53 +01:00
Alexander Samusev 1f820c7dfc [ci] Improve pipeline stopper (#12717)
* [ci] Improve pipeline stopper

* break test-linux-stable 1/3

* break test-linux-stable 2/3

* break test-linux-stable 3/3

* break cargo-check-benches 1/2

* break cargo-check-benches 2/2

* fix benches
2022-11-16 14:48:58 +01:00
Alexander Samusev a9e85ecdfb [ci] fix buildah for publishing docker (#12703) 2022-11-15 09:11:40 +01:00
Alexander Samusev e4c341e023 [ci] Use ci-linux:production image in ci (#12648) 2022-11-08 18:38:01 +01:00
Alexander Samusev 698f415b85 Pipeline with ci image with rust 1.65 (#12628)
* Pipeline with ci image with rust 1.65

* fix tests

* use image with sha
2022-11-08 09:07:32 +01:00
Alexander Samusev 8b8675df23 [ci] allow fail skip-if-draft job (#12604) 2022-11-02 14:39:28 +01:00
Alexander Samusev d03729e2c6 [ci] Revert cancel-pipeline job (#12309)
* [WIP][ci] Revert cancel-pipeline job

* fail test-linux-stable

* fix test-linux-stable
2022-09-20 12:31:58 +02:00
Vlad f1b34ccd5a Fix cargo-check-benches job (#12301) 2022-09-20 12:15:48 +03:00
Vlad 66e9f4925a Don't run cargo-check-benches for master based downstream staging pipelines (#12233) 2022-09-12 20:48:10 +03:00
Alexander Samusev db2d66e59b [ci] Improve cancel-pipeline job (#12008)
* [WIP][ci] Improve cancel-pipeline job

* fix job name

* test that fail works

* debug cancel-pipeline

* remove artifacts-false from cancel-pipeline jobs

* split cancel pipeline jobs

* fail test-linux-stable 2/3

* fail test-linux-stable 3/3

* fail cargo-check-benches 1/2

* fail cargo-check-benches 2/2

* fail test-linux-stable-int

* fail cargo-check-subkey

* fail check-tracing

* fail check-tracing

* fix pipeline
2022-08-12 11:03:27 +02:00
Alexander Samusev 7bdeb960c3 [ci] Return production image (#11920) 2022-07-26 18:03:50 +02:00
Sebastian Kunert 9f409dc0b8 Prepare for rust 1.62.1 (#11903)
* Update UI test output for rust 1.62.1

* switch ci to staging image to check that everything works

* fix artifacts node-bench-regression-guard

* Imeplement `scale_info::TypeInfo` manually to silence aggressive rust warning

* Fix more clippy lints

* Make clippy happy by relying on auto-deref were possible

* Add tracking issue to the comments

* pin ci image

Co-authored-by: alvicsam <alvicsam@gmail.com>
2022-07-26 14:37:05 +02:00
Vlad 52e74a6e80 Don't download artifacts into the rusty-cachier-notify job (#11850) 2022-07-19 15:47:51 +03:00
Alexander Samusev ed346d97c5 [ci] improvments to make pipeline faster (#11829)
* [DO NOT MERGE] test-linux-stable parallel on 3 ci nodes

* add debug message

* adjust rusty-cachier

* empty commit

* move test-linux-stable to test.yml

* make cargo-check-benches and test-wasmer-sandbox parallel

* fix comment

* Update scripts/ci/gitlab/pipeline/test.yml

Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>

* Update scripts/ci/gitlab/pipeline/test.yml

Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>

* if to case

* use case instead if in cargo-check-benches

* format

* add comments to output

* add comment

* add quotes

* Update scripts/ci/gitlab/pipeline/test.yml

Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>

Co-authored-by: parity-processbot <>
Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>
2022-07-15 10:44:46 +02:00
Vlad b9a635941e Speed up rusty-cachier-notify job (#11841)
* Speed up `rusty-cachier-notify` job

* Don't forget to setup `rusty-cachier` first
2022-07-15 10:58:53 +03:00
Alexander Samusev 5a8e5bd97c [ci] fix job cancel-pipeline (#11844)
* [ci] fix cancel-pipeline job

* test fail

* remove debug
2022-07-15 09:42:40 +02:00
Vlad 7d8477b48d rusty-cachier pipeline impovements and fixes (#11572) 2022-06-01 19:48:53 +03:00
Vlad adf0773f9d Fix CI after rusty-cachier introduction (#11556)
* Fix CI after `rusty-cachier` introduction

* Replace anchor with `extends`
2022-05-31 19:07:49 +02:00
Vlad f0401c56ae Add rusty-cachier notify job (#11554)
* Add `rusty-cachier notify` job

* Add comments
2022-05-31 18:46:38 +02:00
Vlad c91c1c793e Introduce rusty-cachier (#11462)
* Introduce `rusty-cachier`

* Return LF at the end of file

* Use `entrypoint` to `unshare(1)` into a new mount namespace

* Use `rusty-cachier`-provided absolute path for `CARGO_TARGET_DIR` everywhere

* Debug single `build-rustdoc` job

* CI: debug

* CI: debug

* CI: debug

* `unshare(1)` is no longer needed

* CI: remove debug

* Revert "Debug single `build-rustdoc` job"

* Formatiing

* Update scripts/ci/gitlab/pipeline/build.yml

Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>
2022-05-31 17:10:04 +02:00
Alexander Samusev ce77cb1735 [ci] Adjust job order in pipeline test stage with Gitlab DAG (#11442)
* [Do Not Merge] Test gitlab DAG in pipeline

* add jobs for pipeline cancel

* add check-tracing to cancel-pipeline
2022-05-18 13:14:25 +02:00
Alexander Samusev 52d9bf24cc [ci] Divide .gitlab-ci.yml into several files (#11333)
* rebase

* update Cargo.lock

* revert Cargo.lock

* fix Cargo.lock from 11384
2022-05-11 11:01:02 +02:00
Alexander Samusev 52c4871897 [ci] fix cargo-check-nixos for nightly pipeline (#11358) 2022-05-05 11:50:14 +02:00
João Paulo Silva de Souza 2dbdafb437 customize check-dependent-* for release engineering (#11311) 2022-05-04 16:45:23 +02:00
Squirrel 3ecb5306eb Updating shell.nix nightly (#11266)
* The 2022-02-10 nightly can't build some deps

There's a sig that returns `impl IntoIterator<Item = (&'static str, OsString)>` and an Option is being retured but it's incorrectly not allowing a `?` in the method.

* removing duplicate test

* [ci] add job cargo-check-nixos

* add dummy variables nix check

* fix check-dependent jobs

* fix check-dependent-project template

Co-authored-by: alvicsam <alvicsam@gmail.com>
2022-04-27 17:19:07 +00:00
João Paulo Silva de Souza d6a66fd831 use options for check_dependent_project (#11284)
Co-authored-by: TriplEight <denis.pisarev@parity.io>
2022-04-26 16:59:13 +02:00
Sergejs Kostjucenko 9cdde52cac Change ci vars to use group one's (#11281) 2022-04-26 12:28:18 +03:00
Bastian Köcher 914db49d04 cumulus-companion: Fix CI when there is no Polkadot companion (#11280)
This tries to fix the CI if there is no polkadot companion. Currently we don't update Polkadot
master in Cumulus, which means we may use some old commit that isn't compiling with the latest
Substrate master anymore. This can happen if there was a pr that had a companion in Polkadot, but no
companion was required for Cumulus. Then Cumulus will still point to some old Polkadot commit that
isn't compiling anymore with the latest Substrate commit. So, we need to tell the script to use the
latest master of Polkadot. If there is a companion for Polkadot, it would simply override the extra
dependency patch later on.
2022-04-25 17:07:09 +02:00
Alexander Samusev 8a49af27ad [ci] fix publish-docker-substrate job (#11218) 2022-04-13 14:22:25 +02:00
Bastian Köcher f517e57f67 Prepare for rust stable 1.60 (#11138)
* Prepare for rust stable 1.59

Besides preparing the UI tests this also adds a new script update-rust-stable.sh script for
simplifying the update of a rust stable version. This script will run all UI tests for the new
rust stable version and updating the expected output.

* Ensure we run the UI tests in CI

* use staging ci image

* More test updates

* Unignore test (#11097)

* empty commit for pipeline rerun

* empty commit for pipeline rerun

* Try to make clippy happy

* More clippy fixes

* FMT

* ci image production

Co-authored-by: alvicsam <alvicsam@gmail.com>
Co-authored-by: Alexander Samusev <41779041+alvicsam@users.noreply.github.com>
2022-04-11 11:21:54 +02:00
Alexander Samusev fc4bd3c4fd [ci] Remove vault (#11179)
* [ci] Remove vault

* remove anchors
2022-04-06 18:20:15 +02:00
Sergejs Kostjucenko 46891e849f Move scripts used in CI to the new location (#11008)
Move scripts used in CI to the new location - **./scripts/ci/**

* Move github scripts

* Move more files

* Move ci scripts and fix dependencies

* Update docs/node-template-release.md

Co-authored-by: João Paulo Silva de Souza <77391175+joao-paulo-parity@users.noreply.github.com>

* Remove Cargo.lock

* Apply suggestions from code review

Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>

* Make more paths uniform

Co-authored-by: João Paulo Silva de Souza <77391175+joao-paulo-parity@users.noreply.github.com>
Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>
2022-03-14 10:42:34 +02:00
Alexander Samusev 4519145df5 [ci] fix publish-rustdocs (#10858) 2022-02-15 13:29:26 +01:00
Alexander Samusev 514b920dd6 [ci] pipeline chores (#10734)
* [ci] pipeline chores
2022-01-26 18:03:37 +01:00