Skip to content

Workflow file for this run

name: build & test
on:
push:
branches:
- dev
jobs:
install_ecl:
name: Download and Install ECL
runs-on: ubuntu-latest
steps:
- run: |
cd /tmp
mkdir ecl-dir
cd ecl-dir
wget https://common-lisp.s3.eu-central-1.amazonaws.com/ecl-23.9.9.tgz
tar -xzf ecl-23.9.9.tgz
cd ecl-23.9.9
./configure
make -j 8
- name: Upload ECL artifact
uses: actions/upload-artifact@v4
with:
name: ecl-artifact
path: /tmp/ecl-dir
install_quicklisp:
name: Install QuickLisp
runs-on: ubuntu-latest
steps:
- run: |
cd /tmp
mkdir ql-dir
cd ql-dir
wget -q https://beta.quicklisp.org/quicklisp.lisp
- name: Upload Quicklisp artifact
uses: actions/upload-artifact@v4
with:
name: ql-artifact
path: /tmp/ql-dir
run_test_suites:
name: Test on ${{ matrix.scenario }}
runs-on: ubuntu-latest
strategy:
max-parallel: 1
matrix:
scenario: [ecl_native, ecl_fallback]
needs: [install_quicklisp, install_ecl]
steps:
- uses: actions/checkout@v4
- run: |
cd /home/runner/work/cl-custom-hash-table/cl-custom-hash-table/.github/workflows/
cat force-native.lisp github-workflow-tests.lisp > github-workflow-tests-fallback.lisp
- uses: actions/download-artifact@v4
with:
name: ql-artifact
path: /tmp/ql-dir
- if: (matrix.scenario == 'ecl_native') || (matrix.scenario == 'ecl_fallback')
uses: actions/download-artifact@v4
with:
name: ecl-artifact
path: /tmp/ecl-dir
- if: (matrix.scenario == 'ecl_native') || (matrix.scenario == 'ecl_fallback')
run: |
sudo cd /tmp/ecl-dir/ecl-23.9.9 && make install
- if: matrix.scenario == 'ecl_native'
run: |
ecl --shell /home/runner/work/cl-custom-hash-table/cl-custom-hash-table/.github/workflows/github-workflow-tests.lisp
- if: matrix.scenario == 'ecl_fallback'
run: |
ecl --shell /home/runner/work/cl-custom-hash-table/cl-custom-hash-table/.github/workflows/github-workflow-tests-fallback.lisp