aboutsummaryrefslogtreecommitdiff
path: root/.github
Commit message (Collapse)AuthorAgeFilesLines
* fix(ci): rewrite mode-init-order test and retry deps installCraig Jennings2026-05-051-3/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | Two CI failures from the first run, neither a real bug in production code. The Emacs-snapshot job failed on `test-wttrin-mode-initialization-order-normal-mode-before-buffer-local-vars-calls-mode-first`. The original test mocked the `set' primitive to detect when `xterm-color--state' was first set. That worked on the byte-code path some older Emacs versions used, but `setq-local' doesn't go through the `set' function on Emacs master, so the mock never fired and the assertion read nil. The test was already brittle in isolation locally too. Rewrote the test to use `advice-add :before' on `wttrin-mode' and `make-local-variable'. Both are ordinary advisable functions, and `make-local-variable' is on the code path for every form that defines a buffer-local binding (`setq-local', `defvar-local', etc.) so the observation holds across Emacs versions. Renamed the test to drop "calls-mode-first" and use "mode-runs-before-xterm-color-state-binding" since that's what the new advice actually observes. The Emacs 26.3 job failed with a transient DNS error from elpa.gnu.org during `make deps'. Wrapped the install step in a 3-attempt retry with a 15-second backoff so a runner-side network blip doesn't fail the build. Applied to all three jobs (test, lint, coverage) since they all hit the same archives.
* ci: upload coverage to CoverallsCraig Jennings2026-05-051-0/+9
| | | | | | Added a step to the coverage job that uploads `.coverage/simplecov.json` to Coveralls via `coverallsapp/github-action@v2`. The token is read from the `COVERALLS_REPO_TOKEN` repo secret. The step is set to `continue-on-error: true` so a Coveralls outage doesn't block the build, and the artifact upload stays in place as a fallback for debugging. `run-coverage-file.el` is unchanged. Undercover still produces simplecov JSON locally and on CI; the action handles the upload to coveralls.io with the right CI metadata.
* ci: add github actions for tests, lint, and coverageCraig Jennings2026-05-051-0/+94
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.