-
Notifications
You must be signed in to change notification settings - Fork 1
111 lines (105 loc) · 3.69 KB
/
ci.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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
name: ci
on:
push:
pull_request:
schedule:
- cron: "0 0 * * SUN"
jobs:
ci-config:
runs-on: ubuntu-latest
outputs:
enabled: ${{ steps.set-enabled.outputs.enabled }}
roswell-version: ${{ steps.set-deps-versions.outputs.roswell-version }}
asdf-version: ${{ steps.set-deps-versions.outputs.asdf-version }}
qlot-version: ${{ steps.set-deps-versions.outputs.qlot-version }}
steps:
- id: set-enabled
name: Set enabled
run: |
event_name=${{ github.event_name }}
pull_request_repo=${{ github.event.pull_request.head.repo.full_name }}
repo=${{ github.repository }}
enabled=no
# We want to run on external PRs, but not on our own internal PRs as
# they'll be run by the push to the branch.
if test "$event_name" != 'pull_request' -o "$pull_request_repo" != "$repo"
then
enabled=yes
fi
echo "::set-output name=enabled::$enabled"
- id: set-deps-versions
name: Set dependencies versions
run: |
event_name=${{ github.event_name }}
roswell_version=v21.10.14.111
asdf_version=3.3.5.3
qlot_version=0.11.5
if [[ $event_name == 'schedule' ]]; then
roswell_version=latest
# XXX remove this override (i.e. put "latest" back in) after the
# following roswell issue has been solved:
# https://github.com/roswell/roswell/issues/497
# asdf_version=latest
asdf_version=3.3.5.3
qlot_version=latest
fi
echo "::set-output name=roswell-version::$roswell_version"
echo "::set-output name=asdf-version::$asdf_version"
echo "::set-output name=qlot-version::$qlot_version"
tests:
needs: ci-config
if: needs.ci-config.outputs.enabled == 'yes'
strategy:
fail-fast: false # Let the workflow continue as much as possible
matrix:
lisp: [ abcl, allegro, ccl, cmucl, ecl ]
experimental: [ true ]
include:
- lisp: sbcl-bin/2.1.10
experimental: false
env:
LISP: ${{ matrix.lisp }}
PRIMARY_KEY: ${{ secrets.PRIMARY_KEY }}
KEY_DERIVATION_SALT: ${{ secrets.KEY_DERIVATION_SALT }}
defaults:
run:
shell: lispsh {0}
name: tests [lisp=${{ matrix.lisp }}]
runs-on: ubuntu-latest
steps:
- uses: 40ants/setup-lisp@v2
with:
roswell-version: ${{ needs.ci-config.outputs.roswell-version }}
asdf-version: ${{ needs.ci-config.outputs.asdf-version }}
qlot-version: ${{ needs.ci-config.outputs.qlot-version }}
- uses: actions/checkout@v2
- run: make lisp-info-ros
- run: make test-ros
timeout-minutes: 10
continue-on-error: ${{ matrix.experimental }}
report-warnings:
needs: ci-config
if: needs.ci-config.outputs.enabled == 'yes'
strategy:
fail-fast: false # Let the workflow continue as much as possible
matrix:
lisp: [ abcl, allegro, ccl, cmucl, ecl ]
include:
- lisp: sbcl-bin/2.1.10
env:
LISP: ${{ matrix.lisp }}
defaults:
run:
shell: lispsh {0}
name: report-warnings [lisp=${{ matrix.lisp }}]
runs-on: ubuntu-latest
steps:
- uses: 40ants/setup-lisp@v2
with:
roswell-version: ${{ needs.ci-config.outputs.roswell-version }}
asdf-version: ${{ needs.ci-config.outputs.asdf-version }}
qlot-version: ${{ needs.ci-config.outputs.qlot-version }}
- uses: actions/checkout@v2
- run: make lisp-info-ros
- run: make report-warnings-ros
continue-on-error: true # XXX not ready for this yet. Stil...