Work around failures when testing old and new deps one after another #2
This file contains hidden or 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: Run tests | |
on: | |
push: | |
pull_request: | |
branches: [ master ] | |
permissions: | |
contents: read | |
jobs: | |
# https://github.com/marketplace/actions/publish-test-results#support-fork-repositories-and-dependabot-branches | |
event_file: | |
name: "Save event file for test report generation" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
name: event | |
path: ${{ github.event_path }} | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-22.04 | |
- ubuntu-24.04 | |
- windows-latest | |
emacs_version: | |
- 27.2 | |
- 28.2 | |
- 29.3 | |
- 30.1 | |
variant: | |
- opt: "" | |
name: "standard" | |
id: "std" | |
- opt: "--old-deps" | |
name: "backwards compatibility mode" | |
id: "old" | |
name: Emacs ${{ matrix.emacs_version }} @ ${{ matrix.os }} - ${{ matrix.variant.name }} | |
steps: | |
- name: Set up Emacs | |
uses: jcs090218/setup-emacs@master | |
with: | |
version: ${{matrix.emacs_version}} | |
- name: Install Eldev | |
uses: emacs-eldev/setup-eldev@v1 | |
- name: Check out the source code | |
uses: actions/checkout@v4 | |
- name: Test the project (${{ matrix.variant.name }}) | |
run: | | |
# Need --suppress-warnings because p4.el triggers various "package cl is obsolete" | |
# warnings that Emacs just loves making up for no good reason | |
eldev --packaged ${{ matrix.variant.opt }} compile --suppress-warnings -FL | |
# But for our own code, use --warnings-as-errors | |
eldev --packaged ${{ matrix.variant.opt }} compile --warnings-as-errors -L --new=magit-p4.el | |
eldev --packaged ${{ matrix.variant.opt }} test -B --results-file test-${{ matrix.variant.id }}.xml | |
- name: Upload Test Results | |
if: (!cancelled()) | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-${{ matrix.variant.id }}-${{ matrix.emacs_version }}@${{ matrix.os }} | |
path: | | |
test-*.xml |