Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
331 changes: 214 additions & 117 deletions .github/workflows/nix-action-rocq-9.2.yml

Large diffs are not rendered by default.

283 changes: 280 additions & 3 deletions .github/workflows/nix-action-rocq-9.3.yml

Large diffs are not rendered by default.

70 changes: 49 additions & 21 deletions .github/workflows/nix-action-rocq-master.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
concurrency:
cancel-in-progress: true
group: ${{ github.workflow }}-${{ github.ref }}
jobs:
CoLoR:
needs:
Expand Down Expand Up @@ -2498,7 +2501,7 @@ jobs:
"rocq-master" --argstr job "hierarchy-builder"
iris:
needs:
- coq
- rocq-core
- stdpp
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -2551,9 +2554,9 @@ jobs:
\n sleep 30\n fi\nelse\n echo \"CI target already built\"\n echo \"\
status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: coq'
name: 'Building/fetching previous CI target: rocq-core'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "coq"
"rocq-master" --argstr job "rocq-core"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: stdpp'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
Expand Down Expand Up @@ -2915,7 +2918,7 @@ jobs:
"rocq-master" --argstr job "mathcomp-algebra"
mathcomp-analysis:
needs:
- coq
- rocq-core
- mathcomp-reals
- mathcomp-field
- mathcomp-bigenough
Expand Down Expand Up @@ -2971,9 +2974,9 @@ jobs:
\n sleep 30\n fi\nelse\n echo \"CI target already built\"\n echo \"\
status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: coq'
name: 'Building/fetching previous CI target: rocq-core'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "coq"
"rocq-master" --argstr job "rocq-core"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: mathcomp-reals'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
Expand All @@ -2996,7 +2999,7 @@ jobs:
"rocq-master" --argstr job "mathcomp-analysis"
mathcomp-analysis-stdlib:
needs:
- coq
- rocq-core
- mathcomp-analysis
- mathcomp-reals-stdlib
- stdlib
Expand Down Expand Up @@ -3052,9 +3055,9 @@ jobs:
\n sleep 30\n fi\nelse\n echo \"CI target already built\"\n echo \"\
status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: coq'
name: 'Building/fetching previous CI target: rocq-core'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "coq"
"rocq-master" --argstr job "rocq-core"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: mathcomp-analysis'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
Expand Down Expand Up @@ -3277,7 +3280,7 @@ jobs:
"rocq-master" --argstr job "mathcomp-finmap"
mathcomp-reals:
needs:
- coq
- rocq-core
- hierarchy-builder
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -3330,9 +3333,9 @@ jobs:
\n sleep 30\n fi\nelse\n echo \"CI target already built\"\n echo \"\
status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: coq'
name: 'Building/fetching previous CI target: rocq-core'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "coq"
"rocq-master" --argstr job "rocq-core"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: mathcomp-classical'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
Expand All @@ -3347,7 +3350,7 @@ jobs:
"rocq-master" --argstr job "mathcomp-reals"
mathcomp-reals-stdlib:
needs:
- coq
- rocq-core
- mathcomp-reals
- stdlib
- hierarchy-builder
Expand Down Expand Up @@ -3402,9 +3405,9 @@ jobs:
\n sleep 30\n fi\nelse\n echo \"CI target already built\"\n echo \"\
status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: coq'
name: 'Building/fetching previous CI target: rocq-core'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "coq"
"rocq-master" --argstr job "rocq-core"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: mathcomp-reals'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
Expand Down Expand Up @@ -4994,8 +4997,9 @@ jobs:
"rocq-master" --argstr job "quickchick-test"
relation-algebra:
needs:
- coq
- rocq-core
- aac-tactics
- stdlib
runs-on: ubuntu-latest
steps:
- name: Determine which commit to initially checkout
Expand Down Expand Up @@ -5047,9 +5051,9 @@ jobs:
\n sleep 30\n fi\nelse\n echo \"CI target already built\"\n echo \"\
status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: coq'
name: 'Building/fetching previous CI target: rocq-core'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "coq"
"rocq-master" --argstr job "rocq-core"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: aac-tactics'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
Expand All @@ -5058,6 +5062,10 @@ jobs:
name: 'Building/fetching previous CI target: mathcomp-boot'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "mathcomp-boot"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: stdlib'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "stdlib"
- if: steps.stepCheck.outputs.status != 'fetched'
name: Building/fetching current CI target
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
Expand Down Expand Up @@ -5774,6 +5782,10 @@ jobs:
name: 'Building/fetching previous CI target: rocq-core'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "rocq-core"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: micromega-plugin'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "micromega-plugin"
- if: steps.stepCheck.outputs.status != 'fetched'
name: Building/fetching current CI target
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
Expand Down Expand Up @@ -5835,6 +5847,10 @@ jobs:
name: 'Building/fetching previous CI target: rocq-core'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "rocq-core"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: micromega-plugin'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "micromega-plugin"
- if: steps.stepCheck.outputs.status != 'fetched'
name: Building/fetching current CI target
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
Expand Down Expand Up @@ -5896,6 +5912,10 @@ jobs:
name: 'Building/fetching previous CI target: rocq-core'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "rocq-core"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: micromega-plugin'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "micromega-plugin"
- if: steps.stepCheck.outputs.status != 'fetched'
name: Building/fetching current CI target
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
Expand Down Expand Up @@ -5962,6 +5982,10 @@ jobs:
name: 'Building/fetching previous CI target: stdlib'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "stdlib"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: micromega-plugin'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "micromega-plugin"
- if: steps.stepCheck.outputs.status != 'fetched'
name: Building/fetching current CI target
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
Expand Down Expand Up @@ -6028,13 +6052,17 @@ jobs:
name: 'Building/fetching previous CI target: stdlib'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "stdlib"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: micromega-plugin'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "micromega-plugin"
- if: steps.stepCheck.outputs.status != 'fetched'
name: Building/fetching current CI target
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "stdlib-test"
stdpp:
needs:
- coq
- rocq-core
- stdlib
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -6087,9 +6115,9 @@ jobs:
\n sleep 30\n fi\nelse\n echo \"CI target already built\"\n echo \"\
status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: coq'
name: 'Building/fetching previous CI target: rocq-core'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
"rocq-master" --argstr job "coq"
"rocq-master" --argstr job "rocq-core"
- if: steps.stepCheck.outputs.status != 'fetched'
name: 'Building/fetching previous CI target: stdlib'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,6 @@ test-suite/coq-makefile/merlin1/.merlin
test-suite/coqdoc/Coqdoc.*
test-suite/coqdoc/index.html
test-suite/coqdoc/coqdoc.css
test-suite/output/MExtraction.out
test-suite/output/*.out.real
test-suite/oUnit-anon.cache
test-suite/redirect_test.out
Expand Down
35 changes: 27 additions & 8 deletions .nix/config.nix
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,6 @@ with builtins; with (import <nixpkgs> {}).lib; {
"iris-examples"
"itauto"
"ITree"
"mathcomp-algebra-tactics"
"mathcomp-analysis"
"mathcomp-reals"
"mathcomp-zify"
Expand Down Expand Up @@ -196,15 +195,17 @@ with builtins; with (import <nixpkgs> {}).lib; {
"metacoq-translations"
"metacoq-utils"
"metarocq"
"metarocq-common"
"metarocq-erasure"
"metarocq-erasure-plugin"
"metarocq-pcuic"
"metarocq-quotation"
"metarocq-safechecker"
"metarocq-safechecker-plugin"
"metarocq-template-pcuic"
"metarocq-translations"
"metarocq-template-rocq"
"metarocq-test"
"metarocq-utils"
"rewriter"
"rupicola"
];
Expand Down Expand Up @@ -242,7 +243,7 @@ with builtins; with (import <nixpkgs> {}).lib; {
LibHyps.job = false; # not in Rocq CI
reglang.job = false; # not in Rocq CI
ssprove.job = false; # not in Rocq CI
smtcoq.override.version = "rocq-master"; # can't use rocq-master above as it isn't actually a rocq package yet
# smtcoq.override.version = "rocq-master"; # can't use rocq-master above as it isn't actually a rocq package yet
TypedExtraction.job = false; # not in Rocq CI
TypedExtraction-common.job = false; # not in Rocq CI
TypedExtraction-elm.job = false; # not in Rocq CI
Expand All @@ -268,18 +269,35 @@ with builtins; with (import <nixpkgs> {}).lib; {
# for a complete list of Coq packages available in Nix
# * <github_login>:<branch> is such that this will use the branch <branch>
# from https://github.com/<github_login>/<repository>
bedrock2.override.version = "proux01:stdlib251";
coq-elpi.override.version = "proux01:stdlib251";
coqutil.override.version = "proux01:stdlib251";
itauto.override.version = "proux01:stdlib251";
equations.override.version = "proux01:stdlib251";
equations-test.override.version = "proux01:stdlib251";
smtcoq.override.version = "proux01:stdlib251";
metarocq.override.version = "proux01:stdlib251";
metarocq-test.override.version = "proux01:stdlib251";
waterproof.override.version = "proux01:stdlib251";
sf.job = false; # temporarily disactivated in Rocq CI
};
common-bundles = listToAttrs (forEach rocq-master (p:
{ name = p; value.override.version = "master"; }));
{ name = p; value.override.version = "master"; }))
// {
micromega-plugin.override.version = "tify";
rocq-elpi.override.version = "proux01:stdlib251";
rocq-elpi-test.override.version = "proux01:stdlib251";
};
in {
"rocq-master" = { rocqPackages = common-bundles // {
rocq-core.override.version = "master";
stdlib-test.job = true;
rocq-elpi.override.version = "master";
rocq-elpi-test.override.version = "master";
# rocq-elpi-test.override.version = "master";
rocq-elpi-test.override.version = "proux01:stdlib251";
hierarchy-builder.override.version = "master";
micromega-plugin.override.version = "master";
# micromega-plugin.override.version = "master";
micromega-plugin.override.version = "tify";
micromega-plugin.job = false;
mathcomp.override.version = "master";
mathcomp-bigenough.override.version = "master";
Expand Down Expand Up @@ -380,7 +398,7 @@ with builtins; with (import <nixpkgs> {}).lib; {
dpdgraph-test.override.version = "7a0fba21287dd8889c55e6611f8ba219d012b81b";
coq-hammer.override.version = "1d581299c2a85af175b53bd35370ea074af922ec";
coq-hammer-tactics.override.version = "1d581299c2a85af175b53bd35370ea074af922ec";
equations.override.version = "757662b9c875d7169a07b861d48e82157520ab1a";
equations.job = false;
equations-test.job = false;
fiat-parsers.job = false; # broken
metarocq.override.version = "e8f8078e756cc378b830eb5a8e4637df43d481af";
Expand All @@ -393,7 +411,8 @@ with builtins; with (import <nixpkgs> {}).lib; {
smtcoq.job = false;
stalmarck-tactic.override.version = "d32acd3c477c57b48dd92bdd96d53fb8fa628512";
unicoq.job = false; # not available for 9.2
waterproof.override.version = "99ad6ff78fa700c84ba0cb1d1bda27d8e0f11e1a";
# waterproof.override.version = "99ad6ff78fa700c84ba0cb1d1bda27d8e0f11e1a";
waterproof.job = false;
compcert.job = false; # broken
VST.job = false; # depends on compcert
} // listToAttrs (forEach lighten-released (p:
Expand Down
2 changes: 1 addition & 1 deletion .nix/coq-nix-toolbox.nix
Original file line number Diff line number Diff line change
@@ -1 +1 @@
"be5f4606e338f3ae99e4cfd2be51a8e871ddd390"
"15e41de5ef219a79d92360bd51a924b12426aad2"
67 changes: 67 additions & 0 deletions .nix/coq-overlays/itauto/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
{
lib,
callPackage,
mkCoqDerivation,
coq,
stdlib,
dune,
version ? null,
}:

(mkCoqDerivation {
pname = "itauto";
owner = "fbesson";
# domain = "gitlab.inria.fr";

release."8.20.0".sha256 = "sha256-LYKGbI3O6yw6CiTJNUGL11PT4q4o+gJK1kQgKQL0/Hk=";
release."8.19.0".sha256 = "sha256-xKWCF4dYvvlJUVGCZcR2RLCG55vlGzu2GN30MeRvVD4=";
release."8.18.0".sha256 = "sha256-4mDDnKTeYrf27uRMkydQxO7j2tfgTFXOREW474d40eo=";
release."8.17.0".sha256 = "sha256-fgdnKchNT1Hyrq14gU8KWYnlSfg3qlsSw5A4+RoA26w=";
release."8.16.0".sha256 = "sha256-4zAUYGlw/pBcLPv2GroIduIlvbfi1+Vy+TdY8KLCqO4=";
release."8.15.0".sha256 = "sha256:10qpv4nx1p0wm9sas47yzsg9z22dhvizszfa21yff08a8fr0igya";
release."8.14.0".sha256 = "sha256:1k6pqhv4dwpkwg81f2rlfg40wh070ks1gy9r0ravm2zhsbxqcfc9";
release."8.13+no".sha256 = "sha256-gXoxtLcHPoyjJkt7WqvzfCMCQlh6kL2KtCGe3N6RC/A=";
inherit version;
defaultVersion =
let
case = case: out: { inherit case out; };
in
with lib.versions;
lib.switch coq.coq-version [
(case (isEq "8.20") "8.20.0")
(case (isEq "8.19") "8.19.0")
(case (isEq "8.18") "8.18.0")
(case (isEq "8.17") "8.17.0")
(case (isEq "8.16") "8.16.0")
(case (isEq "8.15") "8.15.0")
(case (isEq "8.14") "8.14.0")
(case (isEq "8.13") "8.13+no")
] null;

mlPlugin = true;
nativeBuildInputs = (with coq.ocamlPackages; [ ocamlbuild ]);
enableParallelBuilding = false;

passthru.tests.suite = callPackage ./test.nix { };

propagatedBuildInputs = [ stdlib ];

meta = {
description = "Reflexive SAT solver parameterised by a leaf tactic and Nelson-Oppen support";
maintainers = with lib.maintainers; [ siraben ];
license = lib.licenses.gpl3Plus;
};
}).overrideAttrs
(
o:
lib.optionalAttrs (o.version == "dev" || lib.versionAtLeast o.version "8.16") {
propagatedBuildInputs = o.propagatedBuildInputs ++ [ coq.ocamlPackages.findlib ];
}
// lib.optionalAttrs (o.version == "dev" || lib.versionAtLeast o.version "8.18") {
nativeBuildInputs = with coq.ocamlPackages; [
ocaml
findlib
dune
];
}
)
Loading
Loading