setup-lisp/.github/workflows/ci.yml
2021-02-06 13:13:44 +03:00

93 lines
2.6 KiB
YAML

name: 'CI'
on:
# This will run tests on pushes
# to master branch or on pull merges:
push:
branches:
- 'main'
- 'master'
# This will run tests for every pull request:
pull_request:
# Rerun tests at 10 AM every Monday
# to check if they still work with latest dependencies.
schedule:
- cron: '0 10 * * 1'
jobs:
run-tests:
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.can-fail || false }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
# - macos-latest
quicklisp-dist:
- quicklisp
# - ultralisp
lisp:
- sbcl-bin
# - ccl-bin
# - ecl
# - abcl
# - allegro
# - clisp
# - cmucl
# include:
# # Seems allegro is does not support 64bit OSX.
# # Unable to install it using Roswell:
# # alisp is not executable. Missing 32bit glibc?
# - lisp: allegro
# os: macos-latest
# can-fail: true
# # CLisp on Ubuntu can't be installed because of the error:
# # #<FOREIGN-VARIABLE "rl_readline_state" #x00007FA93E698850> does not have
# # the required size or alignment
# - lisp: clisp
# os: ubuntu-latest
# can-fail: true
# # CMUCL is 32bit and cant' work on 64bit OSX:
# # .roswell/impls/x86-64/darwin/cmu-bin/21d/bin/lisp is not executable. Missing 32bit glibc?
# - lisp: cmucl
# os: macos-latest
# can-fail: true
env:
LISP: ${{ matrix.lisp }}
OS: ${{ matrix.os }}
QUICKLISP_DIST: ${{ matrix.quicklisp-dist }}
steps:
- uses: actions/checkout@v1
- uses: 40ants/cl-info/.github/actions/setup-lisp@custom-action
with:
asdf-system: cl-info
qlfile-template: |
{% ifequal quicklisp_dist "ultralisp" %}
dist ultralisp http://dist.ultralisp.org
{% endifequal %}
github mgl-pax 40ants/mgl-pax :branch mgl-pax-minimal
- uses: 40ants/cl-info/.github/actions/run-tests@custom-action
with:
asdf-system: cl-info
# This is additional step to check
# a command line script
- name: Run Command Line Version
run: |
echo ::group::Help Argument
qlot exec cl-info --help
echo ::endgroup::
echo ::group::Version Argument
qlot exec cl-info --version
echo ::endgroup::
echo ::group::Lisp Systems Info
qlot exec cl-info cl-info defmain
echo ::endgroup::