The dash install succeeded; the step failed writing GITHUB_ENV because
ls -d .elpa/dash-* matched both the package directory and the adjacent
dash-N.N.N.signed marker, producing a second non-KEY=value line
("Invalid format"). Restrict the glob to directories. Also bump
actions/checkout to v6 to clear the Node 20 deprecation warning.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
47 lines
1.4 KiB
YAML
47 lines
1.4 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 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))"
|
|
# Trailing slash: match only the package directory, not the
|
|
# adjacent dash-N.N.N.signed marker GNU ELPA leaves behind.
|
|
echo "LOAD_EXTRA=-L $(ls -d "$PWD"/.elpa/dash-*/ | head -1)" >> "$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"
|