* 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
* construct_runtime: Fix generation of types behind features
With the recent addition of supporting features in `construct_runtime!` there was a bug overseen.
The `AllPalletsWithSystem` etc type declarations would be declared twice when a certain was enabled.
The problem was that in the macro we didn't feature gate the types that should be declared when
there is no feature enabled. This pull request now takes care of feature gating this type behind
`all(#( not(feature) ))`. So, these types will only be enabled if no of the configured features is enabled.
* Fix tests
* FMT
* Fix benchmarks and adds CI to test them
Instead of waiting for benchmarks failing in Polkadot CI, we also can just test them in Substrate :P
* Do not overflow
* 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>