Add action workflow to facilitate testing
What: - On Linux, MacOS, and Windows, installs sbcl-bin and all the _working_ versions of Roswell, ASDF, and Qlot - Runs `qlot exec ros` to install a project (to see if it errors out or not) When: - Each pushed change - Each pull request action (not our own!) - Every Saturday night (Note: when running on the Saturday night, the workflow will try and install the _latest_ version of Roswell, ASDF, and Qlot)
This commit is contained in:
parent
83e8e2c880
commit
0b4f0353dd
1 changed files with 63 additions and 0 deletions
63
.github/workflows/tests.yml
vendored
Normal file
63
.github/workflows/tests.yml
vendored
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
name: tests
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 0 * * SUN"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
qlot-exec-ros-install:
|
||||||
|
# We want to run on external PRs, but not on our own internal PRs as
|
||||||
|
# they'll be run by the push to the branch.
|
||||||
|
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
|
||||||
|
strategy:
|
||||||
|
fail-fast: false # Let the workflow continue as much as possible
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-latest
|
||||||
|
shell: bash
|
||||||
|
lisp: sbcl-bin
|
||||||
|
- os: macos-latest
|
||||||
|
shell: bash
|
||||||
|
lisp: sbcl-bin
|
||||||
|
- os: windows-latest
|
||||||
|
shell: msys2 {0}
|
||||||
|
lisp: sbcl-bin
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: ${{ matrix.shell }}
|
||||||
|
env:
|
||||||
|
LISP: ${{ matrix.lisp }}
|
||||||
|
name: build with ${{ matrix.lisp }} on ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- uses: msys2/setup-msys2@v2
|
||||||
|
if: runner.os == 'Windows'
|
||||||
|
with:
|
||||||
|
# Roswell was added to msys2 just _recently_, so the following makes
|
||||||
|
# sure packages metadata is up to date. Otherwise...
|
||||||
|
#
|
||||||
|
# $ pacman -S mingw-w64-x86_64-roswell
|
||||||
|
# error: target not found: mingw-w64-x86_64-roswell
|
||||||
|
# Error: Process completed with exit code 1
|
||||||
|
update: true
|
||||||
|
# Msys2 has its own PATH, and the following setting enables standard
|
||||||
|
# PATH manipulation expressions like the one shown below, to succeed:
|
||||||
|
#
|
||||||
|
# $ echo /usr/local/bin >> $GITHUB_PATH
|
||||||
|
path-type: inherit
|
||||||
|
- name: Call setup-lisp with default arguments
|
||||||
|
if: github.event_name != 'schedule'
|
||||||
|
uses: iamFIREcracker/setup-lisp@windows-work-tests
|
||||||
|
- name: Call setup-lisp and install latest
|
||||||
|
if: github.event_name == 'schedule'
|
||||||
|
uses: iamFIREcracker/setup-lisp@windows-work-tests
|
||||||
|
with:
|
||||||
|
roswell-version: latest
|
||||||
|
# XXX remove this override (i.e. put "latest" back in) after the
|
||||||
|
# following roswell issue has been solved:
|
||||||
|
# https://github.com/roswell/roswell/issues/497
|
||||||
|
asdf-version: 3.3.5.3
|
||||||
|
qlot-version: latest
|
||||||
|
- run: qlot exec ros install 40ants/gh-pages
|
Loading…
Reference in a new issue