112 lines
3.2 KiB
YAML
112 lines
3.2 KiB
YAML
name: 'Check Installation'
|
|
|
|
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:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
lisp:
|
|
- sbcl-bin
|
|
- ccl-bin
|
|
- ecl
|
|
- abcl
|
|
- allegro
|
|
- clisp
|
|
- cmucl
|
|
os:
|
|
- ubuntu-latest
|
|
- macos-latest
|
|
quicklisp-dist:
|
|
- quicklisp
|
|
- ultralisp
|
|
include:
|
|
# Fails because this error on cl-info start:
|
|
# ill-formed handler binding ((LAMBDA (DEFMAIN/DEFMAIN::C) (DECLARE (IGNORABLE DEFMAIN/DEFMAIN::C)) (UIOP/IMAGE:QUIT 0)))
|
|
- lisp: abcl
|
|
can-fail: true
|
|
# Seems allegro is does not support 64bit OSX.
|
|
# Unable to install it using Roswell:
|
|
# alisp is not executable. Missing 32bit glibc?
|
|
- lisp: allegro
|
|
os: maxos-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
|
|
|
|
|
|
continue-on-error: ${{ matrix.can-fail }} or false
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
env:
|
|
LISP: ${{ matrix.lisp }}
|
|
OS: ${{ matrix.os }}
|
|
QUICKLISP_DIST: ${{ matrix.quicklisp-dist }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: Show env
|
|
run: |
|
|
env | sort -u
|
|
- name: Install Roswell
|
|
run: |
|
|
if [[ "$OS" == "ubuntu-latest" ]]; then
|
|
sudo apt-get -y install git build-essential automake libcurl4-openssl-dev
|
|
fi
|
|
if [[ "$OS" == "macos-latest" ]]; then
|
|
brew install automake autoconf curl
|
|
fi
|
|
|
|
curl -L https://raw.githubusercontent.com/svetlyak40wt/roswell/patches/scripts/install-for-ci.sh | sh
|
|
|
|
echo $HOME/.roswell/bin >> $GITHUB_PATH
|
|
- name: Upgrade ASDF to the latest version
|
|
run: |
|
|
ros install asdf
|
|
- name: Install Qlot
|
|
run: |
|
|
ros install qlot
|
|
echo .qlot/bin >> $GITHUB_PATH
|
|
- name: Install Dependencies
|
|
run: |
|
|
rm -fr qlfile
|
|
touch qlfile
|
|
|
|
if [[ "${QUICKLISP_DIST}" == 'ultralisp' ]]; then
|
|
echo dist ultralisp http://dist.ultralisp.org/ >> qlfile
|
|
fi
|
|
|
|
qlot install
|
|
- name: Install CL-INFO
|
|
run: |
|
|
if [[ "${QUICKLISP_DIST}" == 'quicklisp' ]]; then
|
|
qlot exec ros install 40ants/defmain
|
|
fi
|
|
|
|
qlot exec ros install 40ants/cl-info
|
|
- name: Run CL-INFO
|
|
run: |
|
|
qlot exec cl-info
|
|
|