name: CI on: push: branches: [main] pull_request: branches: [main] jobs: test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: # 27.1 is the package floor (see Eask / Package-Requires); the rest # track the supported releases. snapshot is advisory. emacs-version: - "27.2" - "28.2" - "29.4" - "30.1" steps: - uses: actions/checkout@v4 - uses: purcell/setup-emacs@master with: version: ${{ matrix.emacs-version }} - uses: emacs-eask/setup-eask@master with: version: "snapshot" - name: Install dependencies run: make setup - name: Byte-compile (warnings are errors) run: make compile - name: Lint (elisp-lint + checkdoc) run: make lint - name: Run tests run: make test # Advisory run against Emacs snapshot: surfaces upcoming breakage without # blocking a merge when the dev build churns. snapshot: runs-on: ubuntu-latest continue-on-error: true steps: - uses: actions/checkout@v4 - uses: purcell/setup-emacs@master with: version: "snapshot" - uses: emacs-eask/setup-eask@master with: version: "snapshot" - run: make setup - run: make compile - run: make lint - run: make test