-
Notifications
You must be signed in to change notification settings - Fork 3
96 lines (87 loc) · 3.34 KB
/
BSD.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
name: BSD
on:
push:
branches: [ "main" ]
paths-ignore:
- 'README.org'
pull_request:
branches: [ "main" ]
workflow_dispatch:
schedule:
- cron: '0 0 1 * *'
jobs:
test_freebsd:
name: ${{ matrix.lisp }} on FreeBSD
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
lisp: [sbcl, ecl]
steps:
- uses: actions/checkout@v4
- name: Run tests on FreeBSD
uses: vmactions/freebsd-vm@v1
with:
usesh: true
sync: rsync
copyback: false
prepare: |
sed 's/quarterly/latest/' /etc/pkg/FreeBSD.conf > /tmp/FreeBSD.conf && mv /tmp/FreeBSD.conf /etc/pkg/
pkg install -y ${{ matrix.lisp }} wget
wget https://beta.quicklisp.org/quicklisp.lisp
${{ matrix.lisp }} --load quicklisp.lisp --eval '(progn (quicklisp-quickstart:install) (quit))'
run: |
mkdir -p ~/quicklisp/local-projects/cl-trivial-clock
cp trivial-clock* ~/quicklisp/local-projects/cl-trivial-clock
${{ matrix.lisp }} --load ~/quicklisp/setup.lisp --eval "(ql:quickload :trivial-clock/test)" --eval "(progn (uiop:quit (if (uiop:symbol-call :fiveam '#:run! :trivial-clock) 0 1)))"
test_otherbsds:
name: ${{ matrix.lisp }} on other BSDs
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
lisp: [sbcl, ecl]
steps:
- uses: actions/checkout@v4
- name: Run tests on OpenBSD
uses: vmactions/openbsd-vm@v1
with:
usesh: true
sync: rsync
copyback: false
prepare: |
if [[ "${{ matrix.lisp }}" = "sbcl" ]]; then
/usr/sbin/pkg_add ${{ matrix.lisp }}--threads
else
/usr/sbin/pkg_add ${{ matrix.lisp }}
fi
/usr/sbin/pkg_add wget
wget https://beta.quicklisp.org/quicklisp.lisp
${{ matrix.lisp }} --load quicklisp.lisp --eval '(progn (quicklisp-quickstart:install) (quit))'
run: |
mkdir -p ~/quicklisp/local-projects/cl-trivial-clock
cp trivial-clock* ~/quicklisp/local-projects/cl-trivial-clock
${{ matrix.lisp }} --load ~/quicklisp/setup.lisp --eval "(ql:quickload :trivial-clock/test)" --eval "(progn (uiop:quit (if (uiop:symbol-call :fiveam '#:run! :trivial-clock) 0 1)))"
- name: Run tests on DragonflyBSD
uses: vmactions/dragonflybsd-vm@v1
continue-on-error: true
with:
usesh: true
sync: rsync
copyback: false
prepare: |
if [[ "${{ matrix.lisp }}" = "sbcl" ]]; then
pkg install -y ${{ matrix.lisp }} wget
wget https://beta.quicklisp.org/quicklisp.lisp
${{ matrix.lisp }} --load quicklisp.lisp --eval '(progn (quicklisp-quickstart:install) (quit))'
else
true
fi
run: |
if [[ "${{ matrix.lisp }}" = "sbcl" ]]; then
mkdir -p ~/quicklisp/local-projects/cl-trivial-clock
cp trivial-clock* ~/quicklisp/local-projects/cl-trivial-clock
${{ matrix.lisp }} --load ~/quicklisp/setup.lisp --eval "(ql:quickload :trivial-clock/test)" --eval "(progn (uiop:quit (if (uiop:symbol-call :fiveam '#:run! :trivial-clock) 0 1)))"
else
true
fi