Compare commits

...
Author SHA1 Message Date
Matthew Jackson febf4d0504 docs: standardize README badges (License, CI, codecov) 2026-08-25 20:32:34 -07:00
Matthew Jackson 5e96e3e9d8 ci(coverage): authenticate Codecov upload with org CODECOV_TOKEN 2026-08-25 19:32:39 -07:00
Matthew Jackson 2415a58d5d ci(coverage): add --ignore-run-fail so instrumentation flake never blocks upload 2026-08-25 19:04:51 -07:00
Matthew Jackson edb14d3aea ci: add non-required Codecov coverage job, config, and README badge
Add an additive coverage job to ci.yml that mirrors the test job's
sibling-checkout layout and pinned 1.97.0 toolchain, runs cargo llvm-cov,
and uploads to Codecov tokenlessly (fail_ci_if_error:false). Nothing in
the release cascade depends on it. Also add codecov.yml (informational,
no PR comment) and a README with the coverage badge.
2026-08-25 18:55:26 -07:00
dependabot[bot] 29d67e803d build(deps): bump actions/checkout from 5 to 7 (#8)
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-25 10:04:24 -07:00
3 changed files with 81 additions and 1 deletions
+48 -1
View File
@@ -47,7 +47,7 @@ jobs:
changelog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v7
- name: Require a CHANGELOG entry for the crate version on main
shell: bash
run: |
@@ -181,6 +181,53 @@ jobs:
- run: cargo build --tests
working-directory: freemkv-keysources
# Additive, NON-REQUIRED coverage. Mirrors the `test` job's sibling-checkout
# layout and pinned toolchain (nothing in the release cascade depends on it,
# and codecov upload is tokenless with fail_ci_if_error:false, so a flaky
# upload never reddens the run). `--locked` is deliberately absent here for
# the same reason it is in `test`: Cargo.lock is gitignored, so there is no
# lockfile to lock against on a fresh runner.
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
path: freemkv-keysources
- uses: actions/checkout@v7
with:
repository: freemkv/libfreemkv
ref: "${{ github.ref_name == 'qa' && 'qa' || 'dev' }}"
path: libfreemkv
- uses: actions/checkout@v7
with:
repository: freemkv/freemkv-unlock
ref: "${{ github.ref_name == 'qa' && 'qa' || 'dev' }}"
path: freemkv-unlock
- name: Resolve siblings from their dev tips
shell: bash
working-directory: freemkv-keysources
run: |
mkdir -p .cargo
cat > .cargo/config.toml <<'EOF'
[patch.crates-io]
libfreemkv = { path = "../libfreemkv" }
EOF
- uses: dtolnay/rust-toolchain@1.97.0
with:
components: llvm-tools-preview
- uses: Swatinem/rust-cache@v2
with:
workspaces: freemkv-keysources
- uses: taiki-e/install-action@cargo-llvm-cov
- run: cargo llvm-cov --workspace --ignore-run-fail --lcov --output-path lcov.info
working-directory: freemkv-keysources
- uses: codecov/codecov-action@v5
with:
files: freemkv-keysources/lcov.info
slug: freemkv/freemkv-keysources
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
check-windows:
# dev is the FAST lane: this job still runs, but on the release-candidate
# branches rather than on every push to dev. Nothing is deleted and no
+14
View File
@@ -0,0 +1,14 @@
[![License: MIT](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
[![CI](https://github.com/freemkv/freemkv-keysources/actions/workflows/ci.yml/badge.svg)](https://github.com/freemkv/freemkv-keysources/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/freemkv/freemkv-keysources/branch/dev/graph/badge.svg)](https://codecov.io/gh/freemkv/freemkv-keysources)
# freemkv-keysources
Pluggable AACS key sources (keydb, online key service) for
[libfreemkv](https://github.com/freemkv/libfreemkv). Each source looks a disc up
and hands libfreemkv its terminal Unit Keys via `get_unit_keys`; the library
does all derivation.
## License
MIT — see [LICENSE](LICENSE).
+19
View File
@@ -0,0 +1,19 @@
# Coverage is informational only: it never blocks a merge or a release. The
# release cascade is gated by ci.yml / qa.yml and the local precommit, not by
# a coverage threshold.
coverage:
status:
project:
default:
informational: true
patch:
default:
informational: true
# No PR comment noise; the badge and the Codecov UI are enough.
comment: false
# Exclude non-product code from the coverage denominator.
ignore:
- "tests/**"
- "ci/**"