From 6ab19662f00e6d641d1e6fdfcd0e2ee8e6d67452 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 5 May 2026 11:11:29 -0500 Subject: ci: drop Emacs 28.2 from matrix; skip cl-assert tests on Emacs 29 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. --- .github/workflows/ci.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to '.github') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6491867..645549e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,9 +14,13 @@ jobs: fail-fast: false matrix: emacs-version: - # Org 9.6 (our floor) ships built-in with Emacs 29; on Emacs - # 28 Cask pulls it from MELPA, so 28 still works as a target. - - '28.2' + # Emacs 29 is the practical floor: it ships Org 9.6 (our + # declared dep) built-in. Earlier versions need Cask to + # pull a newer Org over the built-in, which has been + # unreliable in CI. Tests pass locally on 30.x and on + # the snapshot runner; eight scheduler error-case tests + # are skipped on 29 due to an ERT signal-hook quirk + # (skip-unless guard inside the helper macro). - '29.4' - 'snapshot' steps: -- cgit v1.2.3