ningle-fbr/.forgejo/workflows/ci.yml

73 lines
1.8 KiB
YAML
Raw Normal View History

2025-01-11 13:29:42 +00:00
name: 'CI'
on:
push:
branches:
- 'main'
pull_request:
jobs:
test:
runs-on: docker
strategy:
matrix:
lisp:
- sbcl-bin
steps:
- uses: actions/checkout@v4
2025-01-12 04:04:27 +00:00
2025-01-11 13:29:42 +00:00
- name: Restore cache
id: restore-cache
uses: actions/cache/restore@v4
with:
path: |
2025-01-12 03:42:20 +00:00
~/.quicklisp-client-fix
~/.roswell
2025-01-11 13:29:42 +00:00
/usr/local/bin/ros
/usr/local/etc/roswell/
2025-01-12 03:42:20 +00:00
qlfile
qlfile.lock
.qlot
~/.cache/common-lisp/
2025-01-12 04:04:27 +00:00
key: roswell-${{ runner.os }}-${{ matrix.lisp }}-${{ hashFiles('qlfile', 'qlfile.lock', '*.asd', '.forgejo/workflows/ci.yml') }}
2025-01-11 13:29:42 +00:00
2025-01-12 04:04:27 +00:00
- name: Install Roswell
2025-01-11 13:29:42 +00:00
if: steps.restore-cache.outputs.cache-hit != 'true'
env:
LISP: ${{ matrix.lisp }}
run: |
curl -L https://raw.githubusercontent.com/roswell/roswell/master/scripts/install-for-ci.sh | sh
2025-01-12 04:04:27 +00:00
- name: Install Qlot
if: steps.restore-cache.outputs.cache-hit != 'true'
run: |
2025-01-11 13:29:42 +00:00
ros install fukamachi/qlot
2025-01-12 04:04:27 +00:00
- name: Install dependencies
if: steps.restore-cache.outputs.cache-hit != 'true'
run: |
2025-01-11 13:29:42 +00:00
PATH="~/.roswell/bin:$PATH"
qlot install
2025-01-12 04:04:27 +00:00
qlot exec ros install ningle-fbr
2025-01-11 13:29:42 +00:00
- name: Save cache
id: save-cache
uses: actions/cache/save@v4
if: steps.restore-cache.outputs.cache-hit != 'true'
with:
path: |
2025-01-12 03:42:20 +00:00
~/.quicklisp-client-fix
~/.roswell
2025-01-11 13:29:42 +00:00
/usr/local/bin/ros
/usr/local/etc/roswell/
2025-01-12 03:42:20 +00:00
qlfile
qlfile.lock
.qlot
~/.cache/common-lisp/
2025-01-11 13:29:42 +00:00
key: ${{ steps.restore-cache.outputs.cache-primary-key }}
- name: Run tests
2025-01-12 03:42:20 +00:00
run: .qlot/bin/rove ningle-fbr.asd