<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chime/.github/workflows, branch main</title>
<subtitle>Emacs chimes, notifications, and modeline reminders so you don't miss events
</subtitle>
<id>https://git.cjennings.net/chime/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/chime/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/'/>
<updated>2026-05-05T14:51:18+00:00</updated>
<entry>
<title>ci: flip lint job from advisory to required</title>
<updated>2026-05-05T14:51:18+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-05T14:51:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/commit/?id=8db6357d2e2f912ca382b259ea2675cf9058511e'/>
<id>urn:sha1:8db6357d2e2f912ca382b259ea2675cf9058511e</id>
<content type='text'>
The lint backlog is now zero — all three checks (package-lint, checkdoc,
elisp-lint) are clean. Drop `continue-on-error: true' from each step so a
regression actually fails the build instead of quietly turning the job
green.
</content>
</entry>
<entry>
<title>ci: add GitHub Actions workflow with test matrix, lint, and coverage</title>
<updated>2026-05-05T10:27:12+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-05T10:27:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/commit/?id=69d8b29f839d8fee957e644013000f90c1283be4'/>
<id>urn:sha1:69d8b29f839d8fee957e644013000f90c1283be4</id>
<content type='text'>
I added `.github/workflows/ci.yml` with three jobs:

1. test — Emacs 27.1 / 28.2 / 29.4 / 30.1, runs `make compile` (strict
   warnings) and `make test-all`. fail-fast off so one version's failure
   doesn't hide others.
2. lint (advisory) — `eask lint package`, `eask lint checkdoc`, and `make
   lint` (elisp-lint). All three are `continue-on-error: true` because there's
   an existing MELPA-prep backlog (1 package-lint error in chime-org-contacts.el,
   ~17 cosmetic checkdoc/package-lint warnings) that's worth surfacing without
   blocking CI. Tighten to required once the backlog is cleared.
3. coverage — runs the full suite with undercover and uploads to Coveralls
   via the official action. No secret needed because the repo is public —
   GITHUB_TOKEN is enough.

Two supporting changes:

- `tests/run-coverage-file.el` now switches between simplecov (local) and
  coveralls (CI, detected via the `CI` env var GitHub Actions sets
  automatically) report formats. The Coveralls action expects coveralls JSON.
- `Makefile`'s `coverage' target now runs ALL_TESTS with selector `t', not
  UNIT_TESTS with `(not (tag :slow))'. Without this the integration tests
  contributed nothing to the reported coverage number.
</content>
</entry>
</feed>
