org-ql/.github/workflows/test.yml
Adam Porter 3cc7ebe5b4 Meta: Add CI using GitHub Actions
Using test.yml from makem.sh repo.
2020-01-03 04:01:48 -06:00

72 lines
2.2 KiB
YAML

# * 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:
# 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: