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
: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
index page of the HTML documentation.
.. include-from