commit
a664279065
|
|
@ -73,7 +73,7 @@ jobs:
|
||||||
- run: cargo build --all-features --timings
|
- run: cargo build --all-features --timings
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: cargo-timing
|
name: timings
|
||||||
path: target/cargo-timings/cargo-timing.html
|
path: target/cargo-timings/cargo-timing.html
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,70 @@
|
||||||
|
name: Coverage
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
coverage:
|
||||||
|
name: Collect
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 15
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
statuses: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- run: |
|
||||||
|
sudo apt-get install protobuf-compiler
|
||||||
|
|
||||||
|
- name: Install grcov
|
||||||
|
run: |
|
||||||
|
cargo install grcov
|
||||||
|
grcov --version
|
||||||
|
|
||||||
|
- name: Tests
|
||||||
|
env:
|
||||||
|
RUSTFLAGS: "-Cinstrument-coverage"
|
||||||
|
LLVM_PROFILE_FILE: "target/coverage/%p-%m.profraw"
|
||||||
|
run: |
|
||||||
|
sudo -E $(command -v cargo) test --all-features
|
||||||
|
|
||||||
|
# Fix permissions after sudo.
|
||||||
|
sudo chown -R $(whoami) target/coverage/
|
||||||
|
|
||||||
|
- name: Collect coverage data
|
||||||
|
run: |
|
||||||
|
grcov . \
|
||||||
|
--source-dir . \
|
||||||
|
--binary-path ./target/debug/ \
|
||||||
|
--branch --ignore-not-existing \
|
||||||
|
--output-types html,markdown \
|
||||||
|
--keep-only 'crates/*' \
|
||||||
|
--output-path ./target/coverage/
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: coverage
|
||||||
|
path: target/coverage/html/
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
- name: Publish job summary
|
||||||
|
run: |
|
||||||
|
echo "# Coverage" >> $GITHUB_STEP_SUMMARY
|
||||||
|
cat target/coverage/markdown.md >> $GITHUB_STEP_SUMMARY
|
||||||
|
|
||||||
|
- run: echo "coverage=$(cat target/coverage/markdown.md | grep 'Total coverage')" >> $GITHUB_OUTPUT
|
||||||
|
id: coverage
|
||||||
|
|
||||||
|
- name: Create commit status
|
||||||
|
uses: actions/github-script@v6
|
||||||
|
if: success()
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
github.rest.repos.createCommitStatus({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
sha: context.sha,
|
||||||
|
state: 'success',
|
||||||
|
description: '${{ steps.coverage.outputs.coverage }}',
|
||||||
|
})
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
[toolchain]
|
[toolchain]
|
||||||
channel = "1.71"
|
channel = "1.71"
|
||||||
components = ["rustfmt", "clippy"]
|
components = ["rustfmt", "clippy", "llvm-tools-preview"]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue