Skip to content

Update Docker/Nix CI#151

Merged
proux01 merged 7 commits intomasterfrom
ci
Feb 26, 2026
Merged

Update Docker/Nix CI#151
proux01 merged 7 commits intomasterfrom
ci

Conversation

@pi8027
Copy link
Member

@pi8027 pi8027 commented Feb 25, 2026

Closes #148

@pi8027 pi8027 force-pushed the ci branch 7 times, most recently from b88ad80 to c479551 Compare February 25, 2026 18:44
@pi8027 pi8027 requested review from CohenCyril and proux01 and removed request for proux01 February 25, 2026 19:18
@pi8027
Copy link
Member Author

pi8027 commented Feb 25, 2026

Nix CI is still a bit broken but probably better than before.

Comment on lines 20 to 22
## Set this when the package has no rocqPackages version yet
## (either in nixpkgs or in .nix/rocq-overlays)
no-rocq-yet = true;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be removed now that finmap is in rocqPackages

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing no-rocq-yet = true; rather seems to break mathcomp-finmap in "Nix CI for bundle master".

.nix/config.nix Outdated
Comment on lines 71 to 76
"9.0".coqPackages = common-bundles // {
coq.override.version = "9.0";
};
"9.1".coqPackages = common-bundles // {
coq.override.version = "9.1";
};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These also need a rocq-core override (c.f., the config.nix file in mathcomp)

.nix/config.nix Outdated
Comment on lines 85 to 88
mathcomp.override.version = "master";
mathcomp-boot.override.version = "master";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should keep mathcomp here (otherwise only mathcomp-boot = mathcomp.boot will be overriden)

Copy link
Member Author

@pi8027 pi8027 Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reverted the change. But the generated Nix CI lacks many dependencies, and it looks like we build the entire MathComp for nothing: https://github.com/math-comp/finmap/actions/runs/22440228038?pr=151

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I list mathcomp-boot,..., mathcomp-algebra here, do you think it works better?

Copy link
Member Author

@pi8027 pi8027 Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I list mathcomp-boot,..., mathcomp-algebra here, do you think it works better?

I made a separate commit for this change to see what happens.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should I also add these lines to rocqPackages?

.nix/config.nix Outdated
rocq-elpi.override.elpi-version = "2.0.7";
rocq-elpi.override.elpi-version = "3.4.2";
hierarchy-builder.override.version = "master";
stdlib.override.version = "master";
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps we can remove this line, and the same applies to rocqPackages.stdlib below.

@pi8027
Copy link
Member Author

pi8027 commented Feb 26, 2026

And now mathcomp-finmap in "Nix CI for bundle master" is broken. I'm unsure how I can fix it.

@pi8027
Copy link
Member Author

pi8027 commented Feb 26, 2026

(Also, feel free to amend my changes and proceed without me. I just wanted to test #144 properly.)

@pi8027
Copy link
Member Author

pi8027 commented Feb 26, 2026

It looks like I managed to fix Nix CI after making several dumb attempts. Dependencies are still broken, and we probably build a few packages several times in CI (which is wasteful), but this issue should probably be fixed in nixpkgs. We can squash the Nix-related commits, and I think we are good to go.

@proux01
Copy link
Contributor

proux01 commented Feb 26, 2026

Yes, dependencies can sometime seem a bit broken. Playing with foo.job in rocqPackages could maybe help (for instance mathcomp-ssreflect.job = true; or mathcomp.job = false; since we don't need to recompile mathcomp itself). But note that there is a cache so things will only be computed twice if they happen to be computed at the same time.

@pi8027
Copy link
Member Author

pi8027 commented Feb 26, 2026

Thanks for the suggestion. Shall we squash and merge this PR, and optimise further in another PR when we have more time and energy?

@proux01
Copy link
Contributor

proux01 commented Feb 26, 2026

Sure, let's merge

@proux01 proux01 merged commit 04f70a5 into master Feb 26, 2026
46 checks passed
@proux01 proux01 deleted the ci branch February 26, 2026 13:53
@pi8027
Copy link
Member Author

pi8027 commented Feb 26, 2026

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants