navidrome/.github/workflows
Deluan Quintão 4ed7494a32
ci: report Go test coverage on pull requests (#6061)
* ci: report Go test coverage on pull requests

Adds octocov to the existing 'Test Go code' job. It reads the coverage
profile, posts a PR comment with the coverage percentage and the delta
against master, and writes the same report to the job summary.

The master-branch report is stored as a GitHub Actions artifact, so no
external service or secret is needed.

* ci: merge the plugins job coverage into the same report

The plugins suite runs in its own job, so its coverage was missing from
the report. Both jobs now upload their profile as an artifact and a new
'Report coverage' job merges them into a single PR comment.

* ci: update the coverage comment in place instead of reposting

octocov's default is to collapse the previous comment and create a new
one. updatePrevious edits the existing comment instead, so a PR keeps a
single coverage comment across pushes.

* ci: fix octocov timeout and step-time lookup

Storing the report hit the 30s default timeout: scanning this repo's
artifacts for the baseline consumed it first. Raise it to 5m.

The step-time lookup also matched the Windows job's 'Test' step and
waited for a job that was still running, so execution time was dropped
from the report. Rename the step to make it unique.

* ci: only store the coverage baseline from the default branch

* ci: report statement coverage instead of line coverage

octocov reports statement coverage for a single profile but switches to
line counting when it merges several itself, which made the number
disagree with 'go tool cover -func'. Merge the two job profiles into one
file first, so the reported number matches what developers see locally.

* ci: stop the download-link comment from clobbering the coverage report

Both comments are posted by github-actions[bot], and the download-link
job updated the first bot comment it found. On a new PR the coverage
comment is created first, so it would be overwritten. Match on the body
as well, and keep the coverage profiles out of the download list.
2026-08-31 23:03:09 -04:00
..
download-link-on-pr.yml ci: report Go test coverage on pull requests (#6061) 2026-08-31 23:03:09 -04:00
pipeline.yml ci: report Go test coverage on pull requests (#6061) 2026-08-31 23:03:09 -04:00
push-translations.sh ci: add GitHub Actions workflow for pushing translations to POEditor 2026-02-12 16:32:58 -05:00
push-translations.yml chore(deps): bump actions/checkout from 6 to 7 in /.github/workflows (#5648) 2026-06-22 16:19:13 -04:00
stale.yml chore(ci): update GitHub Actions to latest major versions (#5462) 2026-05-04 13:59:05 -04:00
update-translations.sh build(ci): show English names for changed languages in POEditor PRs 2025-03-07 12:12:44 -05:00
update-translations.yml chore(deps): bump actions/checkout from 6 to 7 in /.github/workflows (#5648) 2026-06-22 16:19:13 -04:00
validate-migrations.sh ci: validate DB migration order on pull requests (#5750) 2026-07-09 19:43:04 -04:00
validate-translations.sh fix(plugins): add metrics on callbacks and improve plugin method calling (#4304) 2025-07-05 09:03:49 -03:00