Skip to content

Merge pull request #222 from Kieranoski702/metadata #2

Merge pull request #222 from Kieranoski702/metadata

Merge pull request #222 from Kieranoski702/metadata #2

name: "Code and Documentation Coverage (main)"
on:
push:
branches:
- main # run for pushes to the main branch
workflow_dispatch:
env:
rust_release: nightly
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
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin
~/.cargo/registry/index
~/.cargo/registry/cache
~/.cargo/git/db
target
solvers/minion/vendor
solvers/chuffed/vendor
key: ${{ runner.os }}-${{ env.rust_release }}-${{ github.event.repository.updated_at }}
restore-keys: ${{ runner.os }}-${{ env.rust_release }}
- 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 "