forked from mit-plv/fiat-crypto
-
Notifications
You must be signed in to change notification settings - Fork 0
105 lines (95 loc) · 3.39 KB
/
coq-windows.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
name: CI (Coq, Windows)
# Note that we must split up each command into a separate step for Windows, because otherwise we don't get error code
# See also https://github.com/avsm/setup-ocaml/issues/72
on:
push:
branches: [ master , sp2019latest , v8.6 , v8.8 , v8.10 ]
pull_request:
workflow_dispatch:
schedule:
- cron: '0 0 1 * *'
jobs:
build-windows:
runs-on: windows-latest
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
NJOBS: "2"
COQ_VERSION: "8.15.2" # https://packages.debian.org/testing/coq
COQEXTRAFLAGS: "-async-proofs-j 1"
COQCHKEXTRAFLAGS: ""
OPAMYES: "true"
OPAMCONFIRMLEVEL: "unsafe-yes"
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: 3.x
- name: Set up OCaml
uses: ocaml/setup-ocaml@v2
with:
ocaml-compiler: 4.11.1
- run: opam depext coq.${{ env.COQ_VERSION }}
- run: opam pin add --kind=version coq ${{ env.COQ_VERSION }}
- name: Install System Dependencies
run: |
%CYGWIN_ROOT%\setup-x86_64.exe -qnNdO -P time
shell: cmd
- name: Work around https://github.com/actions/checkout/issues/766
run: |
%CYGWIN_ROOT%\bin\bash.exe -l -c 'git config --global --add safe.directory "*"'
shell: cmd
- name: echo build params
run: etc/ci/describe-system-config-win.bat
shell: cmd
- name: deps
run: |
%CYGWIN_ROOT%\bin\bash.exe -l -c 'cd "%cd%"; opam exec -- etc/ci/github-actions-make.sh -j${NJOBS} deps'
shell: cmd
- name: standalone-ocaml
run: |
%CYGWIN_ROOT%\bin\bash.exe -l -c 'cd "%cd%"; opam exec -- etc/ci/github-actions-make.sh -j${NJOBS} standalone-ocaml'
shell: cmd
- name: coq
run: |
%CYGWIN_ROOT%\bin\bash.exe -l -c 'cd "%cd%"; opam exec -- etc/ci/github-actions-make.sh -j1 coq'
shell: cmd
- name: all-except-generated
run: |
%CYGWIN_ROOT%\bin\bash.exe -l -c 'cd "%cd%"; opam exec -- etc/ci/github-actions-make.sh -j1 all-except-generated'
shell: cmd
- name: c-files lite-generated-files
run: |
%CYGWIN_ROOT%\bin\bash.exe -l -c 'cd "%cd%"; opam exec -- etc/ci/github-actions-make.sh -j${NJOBS} c-files lite-generated-files'
shell: cmd
- name: only-test-amd64-files-lite
run: |
%CYGWIN_ROOT%\bin\bash.exe -l -c 'cd "%cd%"; opam exec -- etc/ci/github-actions-make.sh -j${NJOBS} only-test-amd64-files-lite SLOWEST_FIRST=1'
shell: cmd
- name: upload OCaml files
uses: actions/upload-artifact@v3
with:
name: ExtractionOCaml
path: src/ExtractionOCaml
- name: display timing info
run: type time-of-build-pretty.log
shell: cmd
- name: display per-line timing info
run: |
%CYGWIN_ROOT%\bin\bash.exe -l -c 'cd "%cd%"; etc/ci/github-actions-display-per-line-timing.sh'
shell: cmd
# - name: upload timing and .vo info
# uses: actions/upload-artifact@v3
# with:
# name: build-outputs
# path: .
# if: always ()
# - name: validate
# run: |
# %CYGWIN_ROOT%\bin\bash.exe -l -c 'cd "%cd%"; opam exec -- make TIMED=1 validate COQCHKFLAGS="-o ${COQCHKEXTRAFLAGS}"'
# shell: cmd
# if: github.event_name != 'pull_request'