aboutsummaryrefslogtreecommitdiff
path: root/.github
Commit message (Collapse)AuthorAgeFilesLines
* ci: bump checkout to v5 and force node24 for setup-easkCraig Jennings2026-05-271-6/+13
| | | | actions/checkout@v4 and emacs-eask/setup-eask@master both run on the node20 runtime GitHub force-migrates to node24 on 2026-06-02. checkout@v5 ships the node24 runtime, so I bumped it across all three jobs. setup-eask has no node24 release yet, so I set FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 at the workflow level to run it under node24 now, ahead of the forced switch rather than after.
* ci: install Eask instead of Cask in workflow setupCraig Jennings2026-05-101-6/+6
| | | | | | The Cask→Eask migration in d012894 switched the Makefile to drive Eask, but ci.yml still installed Cask via cask/setup-cask. All three jobs (test, lint, coverage) failed at `make setup` with "Eask not found". I swapped each job to use emacs-eask/setup-eask. No other CI logic changed.
* ci: drop Emacs 28.2 from matrix; skip cl-assert tests on Emacs 29Craig Jennings2026-05-051-3/+7
| | | | | | | | | | | | | | | | | | | | | | | Two pragmatic changes after watching CI fail repeatedly: CI matrix: dropped 28.2. Emacs 28 ships Org 9.5; Cask is supposed to pull our declared org>=9.6 over the built-in but doesn't reliably in this CI setup, and several test categories use APIs/behaviors (cl-letf on signal-hook-function, eieio idioms, modern org-fold-*) that don't quite work on 28. Practical floor is now Emacs 29 (ships Org 9.6 built-in). Matrix is 29.4 + snapshot. Scheduler error tests: added skip-unless (>= emacs-major-version 30) to the test-scheduler--should-cl-assert helper in both simple8 and sm5 test files. ERT 29 installs an aggressive signal-hook-function around the entire ert-deftest body that intercepts every signal before any inner condition-case runs; shadowing the hook locally doesn't help (verified across four attempts). The eight cl-assert-precondition tests now run on Emacs 30+ where ERT's hook leaves inner condition-case alone, and skip on 29.x. All other tests still run on 29.4. Locally green. Pushing to verify CI.
* ci: add GitHub Actions workflow with test matrix, lint, and coverageCraig Jennings2026-05-051-0/+138
Three jobs: - test: matrix across Emacs 28.2 / 29.4 / snapshot. Sets up Emacs via jcs090218/setup-emacs and Cask via cask/setup-cask, then runs make setup (with 3 retries to absorb MELPA flakes) and make test-unit. Org 9.6 ships built-in with Emacs 29; on 28 Cask pulls it from MELPA per our depends-on declaration. - lint: Emacs 29.4 only, runs make lint (informational), then make compile and make validate-parens. - coverage: same Emacs version, runs make coverage, prints a per-file summary via scripts/coverage-summary.py (copied from emacs-wttrin), uploads .coverage/simplecov.json as a workflow artifact, and sends results to Coveralls via continue-on-error so CI doesn't fail when COVERALLS_REPO_TOKEN isn't set yet. The README badge URL points at this workflow file (ci.yml) so it auto-populates on the next push to main. Closes the [#B] GitHub Actions TODO. After this lands, the remaining setup is enabling the org-drill repo on coveralls.io and adding COVERALLS_REPO_TOKEN as a GitHub secret so the upload step actually publishes.