Merge pull request #3 from 40ants/gh-actions

Added GitHub Actions config.
This commit is contained in:
Alexander Artemenko 2021-01-27 16:27:28 +03:00 committed by GitHub
commit 2fe26c355e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 113 additions and 53 deletions

110
.github/workflows/install.yml vendored Normal file
View file

@ -0,0 +1,110 @@
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:
# 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
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.can-fail || false }}
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 System
run: |
if [[ "${QUICKLISP_DIST}" == 'quicklisp' ]]; then
qlot exec ros install 40ants/defmain
fi
qlot exec ros install cl-info
- name: Run Tests
run: |
set -x
qlot exec cl-info --help
qlot exec cl-info --version
qlot exec cl-info cl-info

View file

@ -1,53 +0,0 @@
language: common-lisp
sudo: false
cache:
directories:
- $HOME/.roswell
- $HOME/.config/common-lisp
addons:
apt:
packages:
- libc6-i386
- openjdk-7-jre
env:
global:
- PATH=~/.roswell/bin:$PATH
- ROSWELL_INSTALL_DIR=$HOME/.roswell
matrix:
- LISP=sbcl-bin
- LISP=ecl
- LISP=abcl
- LISP=allegro
- LISP=ccl
- LISP=clisp
- LISP=cmucl
# matrix:
# allow_failures:
# - env: LISP=clisp
# - env: LISP=ecl
os:
- osx
# - linux
install:
- curl -L https://raw.githubusercontent.com/snmsts/roswell/release/scripts/install-for-ci.sh | sh
- ros install asdf
- ros install ./
before_script:
- ros --version
- ros config
- ros -e '(princ (lisp-implementation-type))
(terpri)
(princ (lisp-implementation-version))
(terpri)
(princ *features*)
(terpri)
(uiop:quit 0)'
script:
- cl-info

View file

@ -7,6 +7,9 @@
.. image:: https://travis-ci.org/40ants/cl-info.svg?branch=master .. image:: https://travis-ci.org/40ants/cl-info.svg?branch=master
:target: https://travis-ci.org/40ants/cl-info :target: https://travis-ci.org/40ants/cl-info
.. image:: https://github.com/40ants/cl-info/workflows/Check%20Installation/badge.svg
:target: https://github.com/40ants/cl-info/actions
.. Everything starting from this commit will be inserted into the .. Everything starting from this commit will be inserted into the
index page of the HTML documentation. index page of the HTML documentation.
.. include-from .. include-from