-
Notifications
You must be signed in to change notification settings - Fork 38
154 lines (146 loc) · 3.88 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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
name: CI
on:
push:
branches: [ 'master' ]
pull_request:
branches: [ 'master' ]
schedule:
# every day at 9am UTC (4am EST).
- cron: "0 9 * * *"
# allow running action manually.
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
coq_version:
- dev
- "8.20"
max-parallel: 4
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: coq-community/docker-coq-action@v1
with:
coq_version: ${{ matrix.coq_version }}
ocaml_version: "default"
install: |
startGroup Install dependencies
sudo apt-get update
sudo apt-get install -y python3 python3-pandas sqlite3
endGroup
# for permissions issue, see: https://github.com/coq-community/docker-coq-action#permissions.
before_script: |
sudo chown -R coq:coq .
script: |
startGroup Build
make -j4 -k ci
endGroup
after_script: |
startGroup Create timing report
./etc/timing-report.py --max-files 50
endGroup
uninstall: |
make clean
- name: Revert permissions
if: ${{ always() }}
run: sudo chown -R 1001:116 .
build-vos:
runs-on: ubuntu-latest
strategy:
matrix:
coq_version:
- dev
max-parallel: 4
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: coq-community/docker-coq-action@v1
with:
coq_version: ${{ matrix.coq_version }}
ocaml_version: "default"
install: |
startGroup Install dependencies
sudo apt-get update
sudo apt-get install -y python3 python3-pandas sqlite3
endGroup
before_script: |
sudo chown -R coq:coq .
script: |
startGroup Build
make -j4 -k vos
endGroup
after_script: |
startGroup Create timing report
./etc/timing-report.py --vos --max-files 50
endGroup
uninstall: |
make clean
- name: Revert permissions
if: ${{ always() }}
run: sudo chown -R 1001:116 .
check-goose:
strategy:
fail-fast: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/setup-go@v5
with:
go-version: "1.22"
# repo doesn't have go.sum file. nothing to cache.
cache: false
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: "pip"
- run: pip install .
- name: check that Goosed files are clean
run: etc/ci-goose-check.py
check-grackle:
strategy:
fail-fast: false
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Install protoc
run: sudo apt-get install protobuf-compiler -y
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: "1.22"
cache: false
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: "pip"
- name: Check Grackle
run: |
./etc/ci-grackle-check.py
git diff --exit-code
python:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: "pip"
- run: pip install .
- name: Format
run: ruff format --diff ./
- name: Lint
run: ruff check ./