2025-01-11 03:50:26 +00:00
|
|
|
name: 'CI'
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- 'master'
|
|
|
|
pull_request:
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
test:
|
|
|
|
runs-on: docker
|
2025-01-11 05:47:26 +00:00
|
|
|
|
2025-01-11 03:50:26 +00:00
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
lisp:
|
|
|
|
- sbcl-bin
|
2025-01-11 05:47:26 +00:00
|
|
|
|
2025-01-11 03:50:26 +00:00
|
|
|
env:
|
|
|
|
LISP: ${{ matrix.lisp }}
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v4
|
2025-01-11 05:47:26 +00:00
|
|
|
|
|
|
|
- name: Restore cache
|
|
|
|
id: restore-cache
|
|
|
|
uses: actions/cache/restore@v4
|
|
|
|
with:
|
|
|
|
path: |
|
|
|
|
/usr/local/bin/ros
|
|
|
|
~/.roswell
|
|
|
|
~/.config/common-lisp/source-registry.conf.d
|
|
|
|
~/lisp
|
|
|
|
key: roswell-${{ runner.os }}-${{ matrix.lisp }}
|
|
|
|
|
|
|
|
- name: Install Roswell and Qlot
|
|
|
|
if: steps.restore-cache.outputs.cache-hit != 'true'
|
2025-01-11 03:50:26 +00:00
|
|
|
env:
|
|
|
|
LISP: ${{ matrix.lisp }}
|
|
|
|
run: |
|
|
|
|
curl -L https://raw.githubusercontent.com/roswell/roswell/master/scripts/install-for-ci.sh | sh
|
2025-01-11 05:47:26 +00:00
|
|
|
ros install fukamachi/qlot
|
|
|
|
|
|
|
|
- name: Save cache
|
|
|
|
id: save-cache
|
|
|
|
uses: actions/cache/save@v4
|
|
|
|
with:
|
|
|
|
path: |
|
|
|
|
/usr/local/bin/ros
|
|
|
|
~/.roswell
|
|
|
|
~/.config/common-lisp/source-registry.conf.d
|
|
|
|
~/lisp
|
|
|
|
key: ${{ steps.restore-cache.outputs.cache-primary-key }}
|
|
|
|
|
2025-01-11 03:50:26 +00:00
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
PATH="~/.roswell/bin:$PATH"
|
|
|
|
qlot install
|
2025-01-11 05:47:26 +00:00
|
|
|
|
2025-01-11 03:50:26 +00:00
|
|
|
- name: Run tests
|
|
|
|
run: .qlot/bin/rove hsx.asd
|