Skip to content

Commit 1123afc

Browse files
committed
Test CI
1 parent 0d87ad7 commit 1123afc

File tree

9 files changed

+4283
-0
lines changed

9 files changed

+4283
-0
lines changed

.github/workflows/nix-action-coq-master.yml

Lines changed: 3649 additions & 0 deletions
Large diffs are not rendered by default.

.nix/config.nix

Lines changed: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,223 @@
1+
with builtins; with (import <nixpkgs> {}).lib;
2+
{
3+
## DO NOT CHANGE THIS
4+
format = "1.0.0";
5+
## unless you made an automated or manual update
6+
## to another supported format.
7+
8+
## The attribute to build from the local sources,
9+
## either using nixpkgs data or the overlays located in `.nix/coq-overlays`
10+
## Will determine the default main-job of the bundles defined below
11+
attribute = "stdlib";
12+
13+
## If you want to select a different attribute (to build from the local sources as well)
14+
## when calling `nix-shell` and `nix-build` without the `--argstr job` argument
15+
# shell-attribute = "{{nix_name}}";
16+
17+
## Maybe the shortname of the library is different from
18+
## the name of the nixpkgs attribute, if so, set it here:
19+
# pname = "{{shortname}}";
20+
21+
## Lists the dependencies, phrased in terms of nix attributes.
22+
## No need to list Coq, it is already included.
23+
## These dependencies will systematically be added to the currently
24+
## known dependencies, if any more than Coq.
25+
## /!\ Remove this field as soon as the package is available on nixpkgs.
26+
## /!\ Manual overlays in `.nix/coq-overlays` should be preferred then.
27+
# buildInputs = [ ];
28+
29+
## Indicate the relative location of your _CoqProject
30+
## If not specified, it defaults to "_CoqProject"
31+
coqproject = "theories/_CoqProject";
32+
33+
## Cachix caches to use in CI
34+
## Below we list some standard ones
35+
cachix.coq = {};
36+
cachix.math-comp = {};
37+
# cachix.coq-community = {};
38+
39+
## If you have write access to one of these caches you can
40+
## provide the auth token or signing key through a secret
41+
## variable on GitHub. Then, you should give the variable
42+
## name here. For instance, coq-community projects can use
43+
## the following line instead of the one above:
44+
cachix.coq-community.authToken = "CACHIX_AUTH_TOKEN";
45+
46+
## Or if you have a signing key for a given Cachix cache:
47+
# cachix.my-cache.signingKey = "CACHIX_SIGNING_KEY"
48+
49+
## Note that here, CACHIX_AUTH_TOKEN and CACHIX_SIGNING_KEY
50+
## are the names of secret variables. They are set in
51+
## GitHub's web interface.
52+
53+
## select an entry to build in the following `bundles` set
54+
## defaults to "default"
55+
default-bundle = "coq-master";
56+
57+
## write one `bundles.name` attribute set per
58+
## alternative configuration
59+
## When generating GitHub Action CI, one workflow file
60+
## will be created per bundle
61+
bundles = let
62+
## In some cases, light overrides are not available/enough
63+
## in which case you can use either
64+
# coqPackages.<coq-pkg>.overrideAttrs = o: <overrides>;
65+
## or a "long" overlay to put in `.nix/coq-overlays
66+
## you may use `nix-shell --run fetchOverlay <coq-pkg>`
67+
## to automatically retrieve the one from nixpkgs
68+
## if it exists and is correctly named/located
69+
70+
## You can override Coq and other coqPackages
71+
## through the following attribute
72+
## If <ocaml-pkg> does not support light overrides,
73+
## you may use `overrideAttrs` or long overlays
74+
## located in `.nix/ocaml-overlays`
75+
## (there is no automation for this one)
76+
# ocamlPackages.<ocaml-pkg>.override.version = "x.xx";
77+
78+
## You can also override packages from the nixpkgs toplevel
79+
# <nix-pkg>.override.overrideAttrs = o: <overrides>;
80+
## Or put an overlay in `.nix/overlays`
81+
82+
## you may mark a package as a main CI job (one to take deps and
83+
## rev deps from) as follows
84+
# coqPackages.<main-pkg>.main-job = true;
85+
## by default the current package and its shell attributes are main jobs
86+
87+
## you may mark a package as a CI job as follows
88+
# coqPackages.<another-pkg>.job = "test";
89+
## It can then built through
90+
## nix-build --argstr bundle "default" --arg job "test";
91+
## in the absence of such a directive, the job "another-pkg" will
92+
## is still available, but will be automatically included in the CI
93+
## via the command genNixActions only if it is a dependency or a
94+
## reverse dependency of a job flagged as "main-job" (see above).
95+
96+
## Run on push on following branches (default [ "master" ])
97+
# push-branches = [ "master" "branch2" ];
98+
99+
master = [
100+
"stdlib"
101+
"mathcomp"
102+
"fourcolor"
103+
"odd-order"
104+
"mathcomp-zify"
105+
"mathcomp-finmap"
106+
"mathcomp-bigenough"
107+
"mathcomp-analysis"
108+
# TODO unimath
109+
# TODO unicoq
110+
# "math-classes" -> overlay
111+
# "corn" -> overlay
112+
"stdpp"
113+
"iris"
114+
# "autosubst" -> overlay
115+
# TODO tests from iris/examples
116+
# TODO hott
117+
# "coqhammer" -> overlay
118+
# "flocq" -> overlay
119+
# TODO coq-performance-tests
120+
# TODO coq-tools
121+
"coquelicot"
122+
"compcert"
123+
"vst"
124+
# TODO cross-crypto
125+
# TODO rewriter
126+
# TODO fiat_parsers
127+
# TODO fiat_crypto_legacy
128+
# TODO fiat_crypto
129+
# TODO rupicola
130+
# TODO bedrock2
131+
# TODO coqutil
132+
# TODO kami
133+
# TODO riscv_coq
134+
# TODO color
135+
"bignums"
136+
"coqprime"
137+
# TODO bbv
138+
# TODO coinduction
139+
# "coq-elpi" -> overlay
140+
"hierarchy-builder"
141+
# TODO engine bench
142+
# TODO fcsl_pcm
143+
# "coq-ext-lib" -> overlay
144+
"simple-io"
145+
"QuickChick"
146+
# TODO reduction_effects
147+
# TODO menhirlib
148+
# TODO neural_net_interp
149+
# "aac-tactics" -> overlay
150+
"paco"
151+
# TODO itree
152+
# TODO itree_io
153+
"ceres"
154+
"parsec"
155+
# TODO json
156+
# TODO async_test
157+
# TODO http
158+
"paramcoq"
159+
# "relation-algebra" -> overlay
160+
"StructTact"
161+
"InfSeqExt"
162+
"Cheerios"
163+
"Verdi"
164+
# TODO verdi-raft
165+
# TODO stdlib2
166+
# TODO argosy
167+
# TODO atbr
168+
# TODO perennial
169+
# TODO sf
170+
# TODO Coqtail
171+
"deriving"
172+
# TODO vscoq (is vscoq-language-server enough?)
173+
"category-theory"
174+
"itauto"
175+
"mathcomp-word"
176+
# TODO jasmin
177+
# TODO coq-lean-importer
178+
# TODO smtcoq_trakt
179+
# TODO stalmarck
180+
# TODO tactician
181+
# TODO ltac2_compiler
182+
# TODO waterproof
183+
# TODO autosubst OCaml
184+
];
185+
coq-master = [
186+
"dpdgraph"
187+
"smtcoq"
188+
"trakt"
189+
];
190+
main = [
191+
"coq-lsp"
192+
# "equations" -> overlay
193+
"metacoq"
194+
"serapi"
195+
];
196+
common-bundles = listToAttrs (forEach master (p:
197+
{ name = p; value.override.version = "master"; }))
198+
// listToAttrs (forEach coq-master (p:
199+
{ name = p; value.override.version = "coq-master"; }))
200+
// listToAttrs (forEach main (p:
201+
{ name = p; value.override.version = "main"; }))
202+
// {
203+
coq-elpi.override.version = "proux01:split_stdlib";
204+
mathcomp.override.version = "proux01:split_stdlib";
205+
# tlc.override.version = "master-for-coq-ci"; -> overlay
206+
tlc.override.version = "proux01:split_stdlib";
207+
flocq.override.version = "split_stdlib";
208+
coq-ext-lib.override.version = "split_stdlib";
209+
aac-tactics.override.version = "split_stdlib";
210+
coqhammer.override.version = "proux01:split_stdlib";
211+
math-classes.override.version = "split_stdlib";
212+
corn.override.version = "split_stdlib";
213+
equations.override.version = "proux01:split_stdlib";
214+
autosubst.override.version = "split_stdlib";
215+
relation-algebra.override.version = "proux01:split_stdlib";
216+
};
217+
in {
218+
"coq-master".coqPackages = common-bundles // {
219+
coq.override.version = "proux01:split_stdlib";
220+
};
221+
"coq-master".ocamlPackages = { elpi.override.version = "1.19.2"; };
222+
};
223+
}

.nix/coq-nix-toolbox.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"3170ff10f08b5767b9763c05e71d7481b5fdcc30"

0 commit comments

Comments
 (0)