Skip to content

Commit 790ec4e

Browse files
committed
Add Coq Nix Toolbox-based CI to test CoqEAL.
Closes rocq-community#74.
1 parent 4c8364f commit 790ec4e

File tree

4 files changed

+450
-0
lines changed

4 files changed

+450
-0
lines changed
Lines changed: 337 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,337 @@
1+
jobs:
2+
bignums:
3+
needs:
4+
- coq
5+
runs-on: ubuntu-latest
6+
steps:
7+
- name: Determine which ref to test
8+
run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_ref=${{\
9+
\ github.ref }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\
10+
\ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\
11+
\ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_ref=refs/pull/${{\
12+
\ github.event.number }}/head\" >> $GITHUB_ENV\n else\n echo \"tested_ref=refs/pull/${{\
13+
\ github.event.number }}/merge\" >> $GITHUB_ENV\n fi\nfi\n"
14+
- name: Git checkout
15+
uses: actions/checkout@v2
16+
with:
17+
fetch-depth: 0
18+
ref: ${{ env.tested_ref }}
19+
- name: Cachix install
20+
uses: cachix/install-nix-action@v12
21+
with:
22+
nix_path: nixpkgs=channel:nixpkgs-unstable
23+
- name: Cachix setup coq
24+
uses: cachix/cachix-action@v8
25+
with:
26+
name: coq
27+
- name: Cachix setup coq-community
28+
uses: cachix/cachix-action@v8
29+
with:
30+
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
31+
name: coq-community
32+
- name: Cachix setup math-comp
33+
uses: cachix/cachix-action@v8
34+
with:
35+
name: math-comp
36+
- id: stepCheck
37+
name: Checking presence of CI target bignums
38+
run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\
39+
\ bundle \"default\" --argstr job \"bignums\" \\\n --dry-run 2>&1 > /dev/null)\n\
40+
echo ::set-output name=status::$(echo $nb_dry_run | grep \"built:\" | sed\
41+
\ \"s/.*/built/\")\n"
42+
- if: steps.stepCheck.outputs.status == 'built'
43+
name: 'Building/fetching previous CI target: coq'
44+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
45+
--argstr job "coq"
46+
- if: steps.stepCheck.outputs.status == 'built'
47+
name: Building/fetching current CI target
48+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
49+
--argstr job "bignums"
50+
coq:
51+
needs: []
52+
runs-on: ubuntu-latest
53+
steps:
54+
- name: Determine which ref to test
55+
run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_ref=${{\
56+
\ github.ref }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\
57+
\ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\
58+
\ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_ref=refs/pull/${{\
59+
\ github.event.number }}/head\" >> $GITHUB_ENV\n else\n echo \"tested_ref=refs/pull/${{\
60+
\ github.event.number }}/merge\" >> $GITHUB_ENV\n fi\nfi\n"
61+
- name: Git checkout
62+
uses: actions/checkout@v2
63+
with:
64+
fetch-depth: 0
65+
ref: ${{ env.tested_ref }}
66+
- name: Cachix install
67+
uses: cachix/install-nix-action@v12
68+
with:
69+
nix_path: nixpkgs=channel:nixpkgs-unstable
70+
- name: Cachix setup coq
71+
uses: cachix/cachix-action@v8
72+
with:
73+
name: coq
74+
- name: Cachix setup coq-community
75+
uses: cachix/cachix-action@v8
76+
with:
77+
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
78+
name: coq-community
79+
- name: Cachix setup math-comp
80+
uses: cachix/cachix-action@v8
81+
with:
82+
name: math-comp
83+
- id: stepCheck
84+
name: Checking presence of CI target coq
85+
run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\
86+
\ bundle \"default\" --argstr job \"coq\" \\\n --dry-run 2>&1 > /dev/null)\n\
87+
echo ::set-output name=status::$(echo $nb_dry_run | grep \"built:\" | sed\
88+
\ \"s/.*/built/\")\n"
89+
- if: steps.stepCheck.outputs.status == 'built'
90+
name: Building/fetching current CI target
91+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
92+
--argstr job "coq"
93+
coqeal:
94+
needs:
95+
- coq
96+
- bignums
97+
- paramcoq
98+
- multinomials
99+
runs-on: ubuntu-latest
100+
steps:
101+
- name: Determine which ref to test
102+
run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_ref=${{\
103+
\ github.ref }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\
104+
\ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\
105+
\ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_ref=refs/pull/${{\
106+
\ github.event.number }}/head\" >> $GITHUB_ENV\n else\n echo \"tested_ref=refs/pull/${{\
107+
\ github.event.number }}/merge\" >> $GITHUB_ENV\n fi\nfi\n"
108+
- name: Git checkout
109+
uses: actions/checkout@v2
110+
with:
111+
fetch-depth: 0
112+
ref: ${{ env.tested_ref }}
113+
- name: Cachix install
114+
uses: cachix/install-nix-action@v12
115+
with:
116+
nix_path: nixpkgs=channel:nixpkgs-unstable
117+
- name: Cachix setup coq
118+
uses: cachix/cachix-action@v8
119+
with:
120+
name: coq
121+
- name: Cachix setup coq-community
122+
uses: cachix/cachix-action@v8
123+
with:
124+
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
125+
name: coq-community
126+
- name: Cachix setup math-comp
127+
uses: cachix/cachix-action@v8
128+
with:
129+
name: math-comp
130+
- id: stepCheck
131+
name: Checking presence of CI target coqeal
132+
run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\
133+
\ bundle \"default\" --argstr job \"coqeal\" \\\n --dry-run 2>&1 > /dev/null)\n\
134+
echo ::set-output name=status::$(echo $nb_dry_run | grep \"built:\" | sed\
135+
\ \"s/.*/built/\")\n"
136+
- if: steps.stepCheck.outputs.status == 'built'
137+
name: 'Building/fetching previous CI target: coq'
138+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
139+
--argstr job "coq"
140+
- if: steps.stepCheck.outputs.status == 'built'
141+
name: 'Building/fetching previous CI target: mathcomp-algebra'
142+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
143+
--argstr job "mathcomp-algebra"
144+
- if: steps.stepCheck.outputs.status == 'built'
145+
name: 'Building/fetching previous CI target: bignums'
146+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
147+
--argstr job "bignums"
148+
- if: steps.stepCheck.outputs.status == 'built'
149+
name: 'Building/fetching previous CI target: paramcoq'
150+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
151+
--argstr job "paramcoq"
152+
- if: steps.stepCheck.outputs.status == 'built'
153+
name: 'Building/fetching previous CI target: multinomials'
154+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
155+
--argstr job "multinomials"
156+
- if: steps.stepCheck.outputs.status == 'built'
157+
name: Building/fetching current CI target
158+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
159+
--argstr job "coqeal"
160+
mathcomp-finmap:
161+
needs:
162+
- coq
163+
runs-on: ubuntu-latest
164+
steps:
165+
- name: Determine which ref to test
166+
run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_ref=${{\
167+
\ github.ref }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\
168+
\ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\
169+
\ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_ref=refs/pull/${{\
170+
\ github.event.number }}/head\" >> $GITHUB_ENV\n else\n echo \"tested_ref=refs/pull/${{\
171+
\ github.event.number }}/merge\" >> $GITHUB_ENV\n fi\nfi\n"
172+
- name: Git checkout
173+
uses: actions/checkout@v2
174+
with:
175+
fetch-depth: 0
176+
ref: ${{ env.tested_ref }}
177+
- name: Cachix install
178+
uses: cachix/install-nix-action@v12
179+
with:
180+
nix_path: nixpkgs=channel:nixpkgs-unstable
181+
- name: Cachix setup coq
182+
uses: cachix/cachix-action@v8
183+
with:
184+
name: coq
185+
- name: Cachix setup coq-community
186+
uses: cachix/cachix-action@v8
187+
with:
188+
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
189+
name: coq-community
190+
- name: Cachix setup math-comp
191+
uses: cachix/cachix-action@v8
192+
with:
193+
name: math-comp
194+
- id: stepCheck
195+
name: Checking presence of CI target mathcomp-finmap
196+
run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\
197+
\ bundle \"default\" --argstr job \"mathcomp-finmap\" \\\n --dry-run 2>&1\
198+
\ > /dev/null)\necho ::set-output name=status::$(echo $nb_dry_run | grep \"\
199+
built:\" | sed \"s/.*/built/\")\n"
200+
- if: steps.stepCheck.outputs.status == 'built'
201+
name: 'Building/fetching previous CI target: coq'
202+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
203+
--argstr job "coq"
204+
- if: steps.stepCheck.outputs.status == 'built'
205+
name: 'Building/fetching previous CI target: mathcomp-ssreflect'
206+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
207+
--argstr job "mathcomp-ssreflect"
208+
- if: steps.stepCheck.outputs.status == 'built'
209+
name: Building/fetching current CI target
210+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
211+
--argstr job "mathcomp-finmap"
212+
multinomials:
213+
needs:
214+
- coq
215+
- mathcomp-finmap
216+
runs-on: ubuntu-latest
217+
steps:
218+
- name: Determine which ref to test
219+
run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_ref=${{\
220+
\ github.ref }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\
221+
\ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\
222+
\ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_ref=refs/pull/${{\
223+
\ github.event.number }}/head\" >> $GITHUB_ENV\n else\n echo \"tested_ref=refs/pull/${{\
224+
\ github.event.number }}/merge\" >> $GITHUB_ENV\n fi\nfi\n"
225+
- name: Git checkout
226+
uses: actions/checkout@v2
227+
with:
228+
fetch-depth: 0
229+
ref: ${{ env.tested_ref }}
230+
- name: Cachix install
231+
uses: cachix/install-nix-action@v12
232+
with:
233+
nix_path: nixpkgs=channel:nixpkgs-unstable
234+
- name: Cachix setup coq
235+
uses: cachix/cachix-action@v8
236+
with:
237+
name: coq
238+
- name: Cachix setup coq-community
239+
uses: cachix/cachix-action@v8
240+
with:
241+
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
242+
name: coq-community
243+
- name: Cachix setup math-comp
244+
uses: cachix/cachix-action@v8
245+
with:
246+
name: math-comp
247+
- id: stepCheck
248+
name: Checking presence of CI target multinomials
249+
run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\
250+
\ bundle \"default\" --argstr job \"multinomials\" \\\n --dry-run 2>&1 >\
251+
\ /dev/null)\necho ::set-output name=status::$(echo $nb_dry_run | grep \"\
252+
built:\" | sed \"s/.*/built/\")\n"
253+
- if: steps.stepCheck.outputs.status == 'built'
254+
name: 'Building/fetching previous CI target: coq'
255+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
256+
--argstr job "coq"
257+
- if: steps.stepCheck.outputs.status == 'built'
258+
name: 'Building/fetching previous CI target: mathcomp-ssreflect'
259+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
260+
--argstr job "mathcomp-ssreflect"
261+
- if: steps.stepCheck.outputs.status == 'built'
262+
name: 'Building/fetching previous CI target: mathcomp-algebra'
263+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
264+
--argstr job "mathcomp-algebra"
265+
- if: steps.stepCheck.outputs.status == 'built'
266+
name: 'Building/fetching previous CI target: mathcomp-finmap'
267+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
268+
--argstr job "mathcomp-finmap"
269+
- if: steps.stepCheck.outputs.status == 'built'
270+
name: 'Building/fetching previous CI target: mathcomp-bigenough'
271+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
272+
--argstr job "mathcomp-bigenough"
273+
- if: steps.stepCheck.outputs.status == 'built'
274+
name: Building/fetching current CI target
275+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
276+
--argstr job "multinomials"
277+
paramcoq:
278+
needs:
279+
- coq
280+
runs-on: ubuntu-latest
281+
steps:
282+
- name: Determine which ref to test
283+
run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_ref=${{\
284+
\ github.ref }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\
285+
\ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\
286+
\ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_ref=refs/pull/${{\
287+
\ github.event.number }}/head\" >> $GITHUB_ENV\n else\n echo \"tested_ref=refs/pull/${{\
288+
\ github.event.number }}/merge\" >> $GITHUB_ENV\n fi\nfi\n"
289+
- name: Git checkout
290+
uses: actions/checkout@v2
291+
with:
292+
fetch-depth: 0
293+
ref: ${{ env.tested_ref }}
294+
- name: Cachix install
295+
uses: cachix/install-nix-action@v12
296+
with:
297+
nix_path: nixpkgs=channel:nixpkgs-unstable
298+
- name: Cachix setup coq
299+
uses: cachix/cachix-action@v8
300+
with:
301+
name: coq
302+
- name: Cachix setup coq-community
303+
uses: cachix/cachix-action@v8
304+
with:
305+
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
306+
name: coq-community
307+
- name: Cachix setup math-comp
308+
uses: cachix/cachix-action@v8
309+
with:
310+
name: math-comp
311+
- id: stepCheck
312+
name: Checking presence of CI target paramcoq
313+
run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\
314+
\ bundle \"default\" --argstr job \"paramcoq\" \\\n --dry-run 2>&1 > /dev/null)\n\
315+
echo ::set-output name=status::$(echo $nb_dry_run | grep \"built:\" | sed\
316+
\ \"s/.*/built/\")\n"
317+
- if: steps.stepCheck.outputs.status == 'built'
318+
name: 'Building/fetching previous CI target: coq'
319+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
320+
--argstr job "coq"
321+
- if: steps.stepCheck.outputs.status == 'built'
322+
name: Building/fetching current CI target
323+
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "default"
324+
--argstr job "paramcoq"
325+
name: Nix CI for bundle default
326+
'on':
327+
pull_request:
328+
paths:
329+
- .github/workflows/**
330+
pull_request_target:
331+
types:
332+
- opened
333+
- synchronize
334+
- reopened
335+
push:
336+
branches:
337+
- master

0 commit comments

Comments
 (0)