Commit Graph

4 Commits

Author SHA1 Message Date
Gustavo Valverde c85e482fa0
ci(concurrency)!: run a single CI workflow as required (#4981)
* ci(concurrency)!: run a single CI workflow as required

Previous behavior:
Multiple Mainnet full syncs were able to run on the main branch at the
same time, and pushing multiple commits to the same branch would run
multiple CI workflows, when only the run from last commit was relevant

Expected behavior:
Ensure that only a single CI workflow runs at the same time in PRs.
The latest commit should cancel any previous running workflows from the
same PR.

Solution:
Use GitHub actions concurrency feature https://docs.github.com/en/actions/using-jobs/using-concurrency

Fixes https://github.com/ZcashFoundation/zebra/issues/4977
Fixes https://github.com/ZcashFoundation/zebra/issues/4857

* docs: typo

* ci(concurrency): do not cancel running full syncs

Co-authored-by: teor <teor@riseup.net>

* fix(concurrency): explain the behavior better & add new ones

Co-authored-by: teor <teor@riseup.net>
2022-08-30 00:11:05 +00:00
Gustavo Valverde 326ae04b0f
ci(test): run build and test jobs on cargo and clippy config changes (#4941)
Previous behavior:
If warnings or error are added in `.cargo/config.toml` or `clippy.toml`,
and those could generate CI failures, we wouldn't catch those new as the
pipelines are not run when this files are changed

Expected behavior:
If warnings or error are added in `.cargo/config.toml` or `clippy.toml`,
run all the builds and test jobs which also track a `Cargo.toml`.

Solution:
Add `.cargo/config.toml` and `clippy.toml` as paths to all the required
jobs which needs to be triggered when these files changes.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-08-26 18:06:32 +00:00
teor 52fa867cb8
change(ci): Disable beta Rust tests and add parameter download logging (#4930)
* Apply the same Rust logging settings to all GitHub workflows

* Enable full optimisations in dev builds for downloading large parameter files

* Disable beta Rust tests in CI
2022-08-23 03:43:18 +00:00
Gustavo Valverde b6a59a9f66
feat(ci): build each crate individually (#4640)
* feat(ci): build each crate individually

* fix(ci): use valid names for each job

* feat(ci): builds and checks with and without all features

* refactor(ci): build job matrix dinamically

* fix: use a JSON_CRATES variable with resulting values

* test: check-matrix

* fix(ci): use "crate" in singular for reference

* imp(ci): use a matrix for feature build arguments

* fix(ci): use correct naming and includes

* fix(ci): implement most recommendations given in review

* fix(ci): use simpler shell script

* fix: typo

* fix: add string to file, not cmd

* fix: some shellchecks

* fix(ci): remove warnings and errors from shellcheck

* imp(ci): add patch file for `Build crates individually` workflow

* Remove unused configs in patch job

Co-authored-by: teor <teor@riseup.net>
2022-06-21 02:30:45 +00:00