branch: externals/plz commit 2b51ecd6bea35884ef180f3cd85f1631d848fa4c Author: Adam Porter <a...@alphapapa.net> Commit: Adam Porter <a...@alphapapa.net>
Meta: Add test.yml for GitHub Actions --- .github/workflows/test.yml | 73 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000000..11428d808e --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,73 @@ +# * test.yml --- Test Emacs packages using makem.sh on GitHub Actions + +# https://github.com/alphapapa/makem.sh + +# Based on Steve Purcell's examples at +# <https://github.com/purcell/setup-emacs/blob/master/.github/workflows/test.yml>, +# <https://github.com/purcell/package-lint/blob/master/.github/workflows/test.yml>. + +# * 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 <https://www.gnu.org/licenses/>. + +# * Code: + +name: "CI" +on: + pull_request: + push: + # Comment out this section to enable testing of all branches. + 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@v2 + + - 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: