Byte-compile warnings swept 57 -> 0 across all modules, tests, and doctest (docstring rewraps and quoting, defvar declarations for the reactive test variables, prefixed doctest counters, dead-binding removal, one impossible eq -> equal in a face-merge assertion) with behavior preserved. GitHub Actions workflow runs an Emacs 28.1/29.4/ 30.1 matrix: compile-all with warnings-as-errors, the 443-test suite, a genuinely shuffled-order rerun (tp-run-shuffled.el runs each test individually; ERT's member selector cannot reorder), and the 63 README doctests. Makefile gains WERROR, compile-all, and test-shuffled. Autoload cookies added for the four interactive commands and the define-tp/define-tps macros. package-lint: 0 findings (main file tp.el); draft MELPA recipe in docs/. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
45 lines
1.2 KiB
YAML
45 lines
1.2 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main, 'dev/**']
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
emacs_version: ['28.1', '29.4', '30.1']
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: purcell/setup-emacs@master
|
|
with:
|
|
version: ${{ matrix.emacs_version }}
|
|
|
|
- name: Install dash from GNU ELPA
|
|
run: |
|
|
emacs -Q --batch --eval "(progn \
|
|
(require 'package) \
|
|
(setq package-user-dir (expand-file-name \".elpa\")) \
|
|
(add-to-list 'package-archives '(\"gnu\" . \"https://elpa.gnu.org/packages/\")) \
|
|
(package-initialize) \
|
|
(package-refresh-contents) \
|
|
(package-install 'dash))"
|
|
echo "LOAD_EXTRA=-L $(ls -d "$PWD"/.elpa/dash-*)" >> "$GITHUB_ENV"
|
|
|
|
- name: Byte-compile (warnings are errors)
|
|
run: make compile-all WERROR=t LOAD_EXTRA="$LOAD_EXTRA"
|
|
|
|
- name: ERT suite
|
|
run: make test LOAD_EXTRA="$LOAD_EXTRA"
|
|
|
|
- name: ERT suite (shuffled order)
|
|
run: make test-shuffled LOAD_EXTRA="$LOAD_EXTRA"
|
|
|
|
- name: README doctests
|
|
run: make doctest LOAD_EXTRA="$LOAD_EXTRA"
|