Warns if code does not conform to rust fmt / Polyswarm shop-style
Instruments binaries produced by cargo with cargo-cov and automatically extracts coverage information, reporting a percentage in a CI badge included in README.md
Reports unit test pass/failure through another CI badge in README.md
When merging, ensure the CI badges have their branch-status-URIs updated from feature/coverage-tests to master
Resolves #18
Resolves #13
Caching
A CI pipeline run could be sped up considerably by caching intermediate crate build output. I tried introducing the following YAML anchor to rust-related stages but didn't appear to be successfully caching intermediate results.
At this point, I don't believe it is a profitable use of anyone's time to spend cycles on the issue, however it may be worth coming back to in the future.
.rust-defaults: &rust-defaults
variables:
CARGO_HOME: $CI_PROJECT_DIR/cargo
before_script:
# we only want to build crates for one rustc & we need nightly for instrumentation
- rustup update nightly
- rustup default nightly
- rustc --version
- cargo --version
cache:
paths:
- target/
- $CARGO_HOME
Gitlab pipeline output showing this branch's run
rust fmt
/ Polyswarm shop-stylecargo
withcargo-cov
and automatically extracts coverage information, reporting a percentage in a CI badge included inREADME.md
README.md
When merging, ensure the CI badges have their branch-status-URIs updated from
feature/coverage-tests
tomaster
Resolves #18 Resolves #13
Caching
A CI pipeline run could be sped up considerably by caching intermediate crate build output. I tried introducing the following YAML anchor to rust-related stages but didn't appear to be successfully caching intermediate results.
At this point, I don't believe it is a profitable use of anyone's time to spend cycles on the issue, however it may be worth coming back to in the future.