# * 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: - 26.3 - snapshot steps: - uses: purcell/setup-emacs@master with: version: ${{ matrix.emacs_version }} - uses: actions/checkout@v1 - name: Install sandbox script run: | curl -o $GITHUB_WORKSPACE/emacs-sandbox.sh \ https://raw.githubusercontent.com/alphapapa/emacs-sandbox.sh/master/emacs-sandbox.sh chmod +x $GITHUB_WORKSPACE/emacs-sandbox.sh echo ::add-path::$GITHUB_WORKSPACE echo ::set-env name=SANDBOX_DIR::$(mktemp -d) - name: Initialize sandbox run: ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR --auto-install --install package-lint # The "all" rule is not used, because it treats compilation warnings # as failures, so linting and testing are run as separate steps. - name: Lint run: ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR lint - name: Test if: always() # Run test even if linting fails. run: ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR test # Local Variables: # eval: (outline-minor-mode) # End: