Replace the legacy managed layer renderer with one independent retained/reactive text runtime. TP now owns exact dependencies, stable objects, marker-backed mounts, property contribution composition, atomic publication, rollback, and direct text-property facades without ECSS or Ebox dependencies.\n\nBREAKING CHANGE: remove tp-render, tp-stack, scan-driven managed layers, inline runtime metadata, TP-owned CSS cascade APIs, and dollar-variable declarations.\n\nVerified: 290/290 ERT, shuffled 290/290 (seed 20260806), 8/8 doctests, WERROR compile-all, checkdoc, package-lint, diff-check, and isolated TP-only load.
64 lines
1.9 KiB
YAML
64 lines
1.9 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@v6
|
|
|
|
- uses: purcell/setup-emacs@master
|
|
with:
|
|
version: ${{ matrix.emacs_version }}
|
|
|
|
- name: Install package-lint from MELPA
|
|
run: |
|
|
emacs -Q --batch --eval "(progn \
|
|
(require 'package) \
|
|
(setq package-user-dir (expand-file-name \".elpa\")) \
|
|
(add-to-list 'package-archives '(\"melpa\" . \"https://melpa.org/packages/\")) \
|
|
(package-initialize) \
|
|
(package-refresh-contents) \
|
|
(package-install 'package-lint))"
|
|
echo "PACKAGE_LINT_LOAD=-L $(ls -d "$PWD"/.elpa/package-lint-*/ | head -1)" >> "$GITHUB_ENV"
|
|
|
|
- name: Byte-compile (warnings are errors)
|
|
run: make compile-all WERROR=t
|
|
|
|
- name: ERT suite
|
|
run: make test
|
|
|
|
- name: ERT suite (shuffled order)
|
|
run: make test-shuffled SHUFFLE_SEED=20260806
|
|
|
|
- name: README doctests
|
|
run: |
|
|
set -o pipefail
|
|
make doctest 2>&1 | tee doctest.log || {
|
|
# Surface failing assertions as annotations (job logs are
|
|
# not readable anonymously; annotations are).
|
|
grep -E '^(FAIL| expected:| got:)' doctest.log | head -30 \
|
|
| while IFS= read -r l; do echo "::error::${l}"; done
|
|
grep -q '^FAIL' doctest.log || tail -n 8 doctest.log \
|
|
| while IFS= read -r l; do echo "::error::${l}"; done
|
|
exit 1
|
|
}
|
|
|
|
- name: Check documentation
|
|
run: make checkdoc
|
|
|
|
- name: Check package metadata
|
|
run: make package-lint LOAD_EXTRA="$PACKAGE_LINT_LOAD"
|
|
|
|
- name: Check diff whitespace
|
|
run: make diff-check
|