Ensure bind maps, autoloads and commands are taken from containing pa… #568
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI Tests | |
on: | |
workflow_dispatch: | |
pull_request: | |
paths-ignore: | |
- '**.md' | |
- '.gitignore' | |
push: | |
paths-ignore: | |
- '**.md' | |
- '.gitignore' | |
jobs: | |
ci-tests: | |
runs-on: ${{ matrix.os }} | |
env: | |
ci_tests: true | |
EMACS_TEST_VERBOSE: true | |
EMACS_TEST_JUNIT_REPORT: true | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
emacs_version: | |
- 28.1 | |
- 28.2 | |
- 29.1 | |
- 29.2 | |
- 29.3 | |
- 29.4 | |
- snapshot | |
steps: | |
- uses: purcell/setup-emacs@master | |
with: | |
version: ${{ matrix.emacs_version }} | |
- uses: actions/checkout@v4 | |
with: | |
path: '.emacs.d' | |
- name: Link $GITHUB_WORKSPACE/.emacs.d to $HOME/.emacs.d | |
run: ln -s "${GITHUB_WORKSPACE}/.emacs.d" "${HOME}/.emacs.d" | |
- name: Install bash # Needed for mapfile on macOS, | |
# Installing early so all scripts run in | |
# the same environment | |
if: matrix.os == 'macos-latest' | |
run: brew install bash | |
- name: First start # So most modules are pulled in from melpa and gnu | |
run: '"${HOME}/.emacs.d/.ci/first-start.sh"' | |
- name: Unit tests | |
run: '"${HOME}/.emacs.d/.ci/unit-tests.sh"' | |
- name: Publish test report | |
uses: mikepenz/action-junit-report@v5 | |
if: success() || failure() # Always run even if the previous step fails | |
with: | |
report_paths: '.emacs.d/modules/*.t.xml' | |
- name: Verify no obsolete cl- functions | |
run: '"${HOME}/.emacs.d/.ci/unit-test-cl.sh"' | |
- name: 'Lint: checkdoc' | |
if: contains(fromJSON('["29.4", "snapshot"]'), matrix.emacs_version) | |
run: '"${HOME}/.emacs.d/.ci/batch-checkdoc.sh"' | |
- name: 'Lint: compilation' # Close to the end, to let other builds escape errors | |
# caused by compilation shenanigans | |
if: contains(fromJSON('["29.4", "snapshot"]'), matrix.emacs_version) | |
run: '"${HOME}/.emacs.d/.ci/batch-byte-compile.sh"' | |
- name: 'Lint: flycheck' # After compilation that should install all packages | |
if: contains(fromJSON('["29.4", "snapshot"]'), matrix.emacs_version) | |
run: '"${HOME}/.emacs.d/.ci/batch-flycheck.sh"' | |
pkryger-taps: | |
runs-on: ${{ matrix.os }} | |
env: | |
ci_tests: true | |
strategy: | |
matrix: | |
os: | |
- macos-latest | |
emacs_version: | |
- 29.4 | |
- snapshot | |
steps: | |
- uses: purcell/setup-emacs@master | |
with: | |
version: ${{ matrix.emacs_version }} | |
- uses: actions/checkout@v4 | |
with: | |
path: '.emacs.d' | |
- uses: actions/checkout@v4 | |
with: | |
repository: 'pkryger/exordium-commontap' | |
path: '.emacs.d/taps/commontap' | |
- name: Link $GITHUB_WORKSPACE/.emacs.d to $HOME/.emacs.d | |
run: ln -s "${GITHUB_WORKSPACE}/.emacs.d" "${HOME}/.emacs.d" | |
- name: First start # So most modules are pulled in from melpa and gnu | |
run: '"${HOME}/.emacs.d/.ci/first-start.sh"' |