# * test.yml --- Test Emacs packages using makem.sh on GitHub Actions # https://github.com/alphapapa/makem.sh # Based on Steve Purcell's examples at # , # . # * License: # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # * Code: name: "CI" on: pull_request: push: branches: - master jobs: build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: emacs_version: - snapshot steps: - uses: purcell/setup-emacs@master with: version: ${{ matrix.emacs_version }} - uses: actions/checkout@v2 - name: Initialize sandbox run: | SANDBOX_DIR=$(mktemp -d) || exit 1 echo ::set-env name=SANDBOX_DIR::$SANDBOX_DIR ./makem.sh -vv --sandbox $SANDBOX_DIR --install-deps --install-linters # The "all" rule is not used, because it treats compilation warnings # as failures, so linting and testing are run as separate steps. # org-roam-compat is excluded from linting because it contains # symbols/aliases from other packages - name: Lint continue-on-error: false run: ./makem.sh -vv --sandbox $SANDBOX_DIR --exclude org-roam-compat.el lint - name: Test if: always() # Run test even if linting fails. run: ./makem.sh -vv --sandbox $SANDBOX_DIR test # Local Variables: # eval: (outline-minor-mode) # End: