aboutsummaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* fix: exclude generated package files from coverage summaryCraig Jennings3 days1-3/+7
| | | | | | undercover never instruments generated files like NAME-autoloads.el and NAME-pkg.el, so they have no report entry. The file-weighted summary counted each as untested at 0% and dragged the project number down (97.2% read as 72.9% after eask generated the autoloads file). Drop NAME-autoloads.el and NAME-pkg.el from the source-file scan. A genuinely untested source is still flagged. Only the build-generated files are skipped.
* test: add make coverage-summary with untested-module detectionCraig Jennings4 days2-56/+173
| | | | | | | | A module no test loads never appears in undercover's report, so a line-weighted total silently skips it. The coverage-summary target counts such a file as 0% and weights the project number by file, so untested modules stay visible. I replaced scripts/coverage-summary.py, which only summarized files already in the report. make coverage now chains the summary, and CI prints it in the coverage step instead of a separate python call. The helper runs on stock Emacs (built-in json and seq), so it needs no dev deps. It lives in tracked scripts/ so CI can reach it.
* ci: add github actions for tests, lint, and coverageCraig Jennings2026-05-051-0/+56
Tests run across an Emacs version matrix (26.3, 27.2, 28.2, 29.4, snapshot) on every push to main and every PR. Lint and coverage run once each on the latest stable Emacs. The coverage job runs `make coverage`, prints the per-file and overall percentages via `scripts/coverage-summary.py`, and uploads the simplecov JSON as a build artifact (30-day retention). I'm leaving the artifact-only path in place for now and we'll wire up Coveralls in a follow-up once the repo is registered there. The matrix floor is 26.3 even though Package-Requires says 24.4. The setup-emacs action doesn't reliably support 24.x or early 25.x anymore, and the recent if-let find shows we hadn't actually been testing the stated minimum. Honest CI floor here is more useful than an aspirational one.