Model example library for testing (#157) #5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Code and Documentation Coverage (main)" | |
on: | |
push: | |
branches: | |
- main # run for pushes to the main branch | |
workflow_dispatch: | |
env: | |
rust_release: nightly | |
SCCACHE_GHA_ENABLED: "true" | |
RUSTC_WRAPPER: "sccache" | |
jobs: | |
coverage: | |
name: "Generate Code Coverage Reports" | |
# only do coverage for ready PRs | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v2 | |
- name: Run sccache-cache | |
uses: mozilla-actions/sccache-action@v0.0.3 | |
- name: Install rust ${{ env.rust_release }} | |
run: rustup update ${{ env.rust_release }} && rustup default ${{ env.rust_release }} | |
- uses: ./.github/actions/install-conjure | |
with: | |
os_arch: linux | |
version: 2.5.1 | |
- name: Generate coverage reports | |
run: | | |
./tools/coverage.sh | |
- name: Generate documentation coverage | |
run: | | |
RUSTDOCFLAGS='-Z unstable-options --show-coverage' cargo +nightly doc --workspace --no-deps > doc-coverage.txt | |
- name: Generate documentation coverage JSON | |
run: | | |
RUSTDOCFLAGS='-Z unstable-options --output-format json --show-coverage' cargo +nightly doc --workspace --no-deps > doc-coverage.json | |
- run: | | |
mkdir -p deploy/ | |
cp -r target/debug/coverage/* deploy/ # html | |
cp target/debug/lcov.info deploy/ # used for diffing code coverage in PR comments | |
cp doc-coverage.json deploy/ | |
cp doc-coverage.txt deploy/ | |
- name: Copy coverage report to /main. | |
uses: JamesIves/github-pages-deploy-action@v4 | |
with: | |
folder: ./deploy | |
target-folder: "coverage/main" | |
branch: gh-pages | |
commit-message: "Actions: Update code coverage for main " |