You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.1 KiB
72 lines
2.1 KiB
# * 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: |
|
- snapshot |
|
steps: |
|
- uses: purcell/setup-emacs@master |
|
with: |
|
version: ${{ matrix.emacs_version }} |
|
|
|
- uses: actions/checkout@v2 |
|
|
|
- name: Create Sandbox Directory |
|
run: | |
|
SANDBOX_DIR=$(mktemp -d) || exit 1 |
|
echo "SANDBOX_DIR=$SANDBOX_DIR" >> $GITHUB_ENV |
|
|
|
- name: Initialize Sandbox |
|
run: | |
|
./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:
|
|
|