Commit Graph

322 Commits

Author SHA1 Message Date
Mira Ressel 13eaab00db ci: move back to paritytech/ci-linux:production image (#14422) 2023-06-20 16:43:36 +02:00
Mira Ressel 6ea3736004 ci: bump ci image for rust 1.70 (#14399)
* ci: bump ci image for rust 1.70

* ".git/.scripts/commands/update-ui/update-ui.sh" 1.70

* chore: ignore the new let_with_type_underscore lint

---------

Co-authored-by: command-bot <>
2023-06-20 13:26:03 +02:00
Javier Viola 2aa863f667 bump zombienet version (#14227)
Co-authored-by: parity-processbot <>
2023-05-25 19:41:45 +00:00
Ross Bulat 56940bc874 Staking::{bond, set_controller} to set controllers to stash only. (#14039)
* update set_controller

* clone

* bond uses `stash`

* remove controller from bond(), chill_other test works

* remove ctlr from testing_utils &  dead ctlr -> dead payee

* mvs controllers to stashes for 3 tests

* migrate mock bond fns & fix 1 test

* mvs controllers to stashes for 7 tests

* mvs controllers to stashes for 9 tests

* remove double_controlling_should_fail

* remove double_staking_should_fail

* mvs controllers to stashes for 10 tests

* mvs controllers to stashes for 2 tests

* remove payout_creates_controller

* mvs controllers to stashes for 27 tests

* remove println!

* fix rewards_should_work

* fix test_payout_stakers

* fix bond benchmark

* clone

* rm unused import

* rm unused var

* rm controller from create_offender

* fix GenesisConfig stakers

* fix controllers in consensus pallets

* fix unqiue controller in chain_spec

* fmt

* fix create_offender

* fix set_controller benchmark

* add TODO

* create_unique_stash_controller

* staking benchmarks working

* fmt

* fix args

* rm println

* import

* import

* fix fast unstake tests

* fix staking-tests-e2e

* fix root-offenses

* fmt

* differentiate controller to stash

* bring back change_controller_works w. unique ctrl

* bring back double_staking_should_fail

* double_controlling_attempt_should_fail

* bring back payout_creates_controller

* add commnet to controller balances

* + set_controller call description

* fmt

* rm clones

* fmt

* clippy fixes

* fmt

* update README

* small fixes

* use controller_to_be_deprecated

* .comment

* comment

* bump zombienet version

* ci

---------

Co-authored-by: parity-processbot <>
Co-authored-by: Javier Viola <javier@parity.io>
2023-05-11 18:22:15 +00:00
Mira Ressel 1c418305ac Move back to ci-linux:production image after upgrade (#14105)
There are still a bunch of open questions on how to handle image
pinning; in the meantime, let's keep using the production tag.
2023-05-09 17:38:57 +02:00
Mira Ressel 38cbe023c9 Bump ci-linux to rust 1.69 (#14060)
* Pin ci-linux image for rust 1.69

* Update ui tests for rust 1.69

* Address new rust 1.69 clippy lints

* `derive_hash_xor_eq` has been renamed to `derived_hash_with_manual_eq`
* The new `extra-unused-type-parameters` complains about a bunch of
  callsites where extraneous type parameters are used for consistency
  with other functions.
2023-05-05 16:00:41 +02:00
Niklas Adolfsson 5a1074712a rpc server: break legacy CLI options and remove "backward compatible HTTP server" (#13384)
* jsonrpsee v0.16

* breaking: remove old CLI configs

* remove patch.crates-io

* fix bad merge

* fix clippy

* fix bad merge

* fix grumbles

* Update client/service/src/lib.rs

Co-authored-by: Bastian Köcher <git@kchr.de>

* revert block_in_place

* add issue link in todo

* Update client/cli/src/config.rs

Co-authored-by: Dmitry Markin <dmitry@markin.tech>

* grumbles: add ipv6 loopback address

* Revert "grumbles: add ipv6 loopback address"

This reverts commit 3a0b1ece6c4e36055d666896c29d1da55ffa1c4f.

* remove nits

* bump zombienet version

* adress grumbles: provide structopt default_val_t

* remove duplicate from structopt

* bump zombienet v1.3.47

* bump zombienet version

---------

Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Dmitry Markin <dmitry@markin.tech>
Co-authored-by: Javier Viola <javier@parity.io>
2023-05-03 15:18:25 +00:00
Mira Ressel 45a8647607 Don't run check-crates-publishing job on prs (#14064)
* Restore `check-crates-publishing-pipeline` job

This job was errorneously deleted in lieu of the
`check-crates-publishing` job.

This reverts commit 202836cb47.

* Don't run `check-crate-publishing` job on prs.

Originally attempted in #14044. It's been broken for a while and we're
not sure yet how to move forward in the longer term.
2023-05-03 12:47:22 +02:00
Vladimir Istyufeev bedb497d55 CI: migrate to Google Cloud (#13994) 2023-05-02 13:34:14 +04:00
Oliver Tale-Yazdi 202836cb47 CI: Remove crate publish check (#14044)
* Fix frame-support feature

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

* Remove publishing script

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

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-04-29 03:34:05 +04:00
Alexander Samusev e9ff897511 [ci] Update buildah command and version (#13989) 2023-04-24 17:33:21 +02:00
Mira Ressel 9544ec765d replace unused cargo-deny check with a new cargo-deny-licenses job (#13956)
* ci: remove the cargo-deny job

It's been broken and disabled for quite a while, and per internal
discussion there doesn't seem to be any interest in fixing it and
actually using the job output for anything.

* ci: add new cargo-deny-licenses job

It'll run on all PRs and fail if external dependencies with unsuitable
licenses are detected.
2023-04-20 14:03:05 +02:00
Mira Ressel 040011a056 ci: drop skip-if-draft job (#13961)
It's been effectively disabled for half a year already, and according to
internal discussion we don't want it back.
2023-04-20 14:02:40 +02:00
Mira Ressel 8953feaeb2 Refactor the automatic-crate-publishing logic, make triggered pipelines uninterruptible as well (#13908)
* Use a new approach to make automatic-crate-publishing uninterruptible

It's not neccessary to dynamically change the `interruptible` setting
for *all* jobs as the old approach does; gitlab already considers a
pipeline uninterruptible as soon as a single uninterruptible job has
started (cf https://docs.gitlab.com/ee/ci/yaml/#interruptible).

IMO this approach is more readable, as it avoids dynamically loading the
.defaults section from different files based on import conditions; the
logic is now shorter and entirely contained in the main .gitlab-ci.yml.

* Make triggered multi-project pipelines uninterruptible
2023-04-13 20:17:12 +02:00
Mira Ressel 3da3d0cc09 Disable timestamping for the crate publishing jobs (#13910) 2023-04-13 19:14:55 +02:00
Mira Ressel 35388a5132 fix .test-refs-check-benches condition (#13906)
This check is meant to catch pipelines triggered by the scripts ci-linux
staging tests. The correct CI_PIPELINE_SOURCE for multi-project
pipelines such as this is "pipeline"; "parent_pipeline" is only set for
child pipelines triggered /within the same repo/.

cf https://docs.gitlab.com/ee/ci/jobs/job_control.html#common-if-clauses-for-rules
2023-04-13 19:14:44 +02:00
Javier Viola 2f3a8b9e38 bump zombienet version (#13772) 2023-03-30 23:01:50 +02:00
Mira Ressel 212d6a5a6f Clean up after debian 11 rollout (#13762)
This reverts commit 86d638d08f.
2023-03-29 20:25:41 +02:00
Mira Ressel 86d638d08f roll out new debian 11 ci image (#13744) 2023-03-29 15:27:40 +02:00
Mira Ressel f843b7f447 provide a default value for RELENG_SCRIPTS_BRANCH (#13743)
Currently this variable is configured exclusively via a project
variable, which makes it impossible to override for specific test prs.
2023-03-29 12:27:48 +02:00
Vladimir Istyufeev 9c9492476c CI: rephrase RUSTFLAGS (#13735) 2023-03-28 15:41:10 +04:00
Mira Ressel 8ead950c9d bump timestamp script to v0.2 (#13710) 2023-03-25 01:00:48 +04:00
Mira Ressel d62ac2a0a2 move back to ci-linux@production image (#13669) 2023-03-22 09:33:06 +01:00
Mira Ressel 83068ca822 Bump ci-linux image for rust 1.68 2023-03-20 16:35:53 +01:00
Mira Ressel 84f61ba327 pin specific version of timestamp script (#13613) 2023-03-15 18:27:18 +00:00
Mira Ressel 8945c1bd42 timestamp gitlab ci job outputs (#13605)
* timestamp gitlab ci job outputs

Based on previous work by @alvicsam in #13047.

* inline timestamp script

Some of our jobs don't check out the substrate repo.

* include .timestamp in pipelines overriding the default before_script

Still not including it in the zombienet jobs, they have their own
timestamping anyway.

* move timestamp.yml to shared pipeline repo

https://gitlab.parity.io/parity/infrastructure/ci_cd/shared
2023-03-15 16:37:34 +00:00
Javier Viola 00623b02c0 bump zombienet version to v1.3.37 (#13447)
* bump zombienet version to v1.3.35

* remove  checks, since now is checked by zn

* Update .gitlab-ci.yml

---------

Co-authored-by: Anton <anton.kalyaev@gmail.com>
2023-03-03 21:46:02 +01:00
Anthony Lazam 6458a6386d Removal of Prometheus alerting rules deployment in cloud-infra (#13499) 2023-03-01 11:15:18 +00:00
Mira Ressel 84638524e7 Automatically format ci pipeline specs with prettier (#13441)
* [ci] Deduplicate variables: sections in pipeline specs

The prettier yaml parser doesn't like these.

* [ci] provide git clean filter to format pipeline specs

* [ci] Reformat pipeline specs with prettier
2023-02-24 15:02:30 +00:00
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