Skip to content

Control source registry of Lisp docker images #10

Control source registry of Lisp docker images

Control source registry of Lisp docker images #10

Workflow file for this run

name: testing
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
pull_request:
branches:
- master
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
test:
# The type of runner that the job will run on
runs-on: ubuntu-latest
container:
image: ${{matrix.PREFIX}}/${{matrix.l}}:${{matrix.IMAGE_TAG}}
strategy:
matrix:
os: [ubuntu-latest]
# just going to try to get ONE lisp to work first
# can't run CMUCL on GitHub actions.
# ccl's ASDF seems to be having trouble with source initialization
l: [abcl, allegro11express, clisp, ecl, ccl, sbcl] # ccl, cmucl (probably not the last).
IMAGE_TAG: [latest]
PREFIX:
- containers.common-lisp.net/cl-docker-images
- docker.io/rpgoldman
exclude:
- l: allegro11express
PREFIX: containers.common-lisp.net/cl-docker-images
- l: sbcl
PREFIX: containers.common-lisp.net/cl-docker-images
- l: ccl
PREFIX: containers.common-lisp.net/cl-docker-images
- l: abcl
PREFIX: containers.common-lisp.net/cl-docker-images
- l: clisp
PREFIX: docker.io/rpgoldman
- l: ecl
PREFIX: docker.io/rpgoldman
include:
- l: clasp
IMAGE_TAG: "b14e329f49998275579926da2a737885ceb2cea7"
PREFIX: containers.common-lisp.net/cl-docker-images
- l: allegro11express
IMAGE_TAG: latest
variant: modern
PREFIX: docker.io/rpgoldman
- l: abcl
IMAGE_TAG: 1.7.1-jdk8 # FIXME: this is likely obsolete
PREFIX: containers.common-lisp.net/cl-docker-images
env:
GITHUB_ACTION: true
I_AGREE_TO_ALLEGRO_EXPRESS_LICENSE: yes
QUICKLISP_SETUP: /github/home/quicklisp/setup.lisp
GITHUB_WORKSPACE:
steps:
- uses: actions/checkout@v4
- name: collect ASDF
shell: bash
if: ${{ matrix.l == 'clisp' }}
run: |
mkdir -p /usr/local/share/common-lisp/asdf && \
pushd /usr/local/share/common-lisp/asdf && \
curl https://asdf.common-lisp.dev/archives/asdf.lisp > asdf.lisp
- name: prepare quicklisp
shell: bash
run: |
install-quicklisp && \
if [ ! -f ${{ env.QUICKLISP_SETUP }} ]; then \
echo "Did not find Quicklisp setup file where expected: ${QUICKLISP_SETUP}"; \
find / -name 'quicklisp' -type d ; \
fi
- name: test build
shell: bash
id: test-build
run: |
./run-tests.sh -c ${{ matrix.l }} || ${{ matrix.l == 'clisp' }}
# no idea how to get FiveAM to build clean on clisp
continue-on-error: true
- name: save build output
id: save-build-output
uses: actions/upload-artifact@v4
with:
name: ${{matrix.l}}-${{matrix.IMAGE_TAG}}-build-output.text
path: build/results/${{matrix.l}}-load.text
- name: return build output id
run: |
echo 'Artifact ID is ${{ steps.save-build-output.outputs.artifact-id }}'
- name: build fail
if: ${{ steps.test-build.outcome == 'failure'}}
run:
/usr/bin/false
- name: tests
shell: bash
run: |
./run-tests.sh ${{ matrix.l }}
- name: save test output
uses: actions/upload-artifact@v3
with:
name: ${{matrix.l}}-${{matrix.IMAGE_TAG}}-test-output.text
path: build/results/${{matrix.l}}-test.text