-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Coq dev/rc packages: remove outdated restriction to dune < 3.14 #3228
base: master
Are you sure you want to change the base?
Conversation
As has been discussed elsewhere, not having these restrictions breaks our CI here for |
I assumed this issue is gone since all packages removed restrictions which would lead to a pick of dune 3.14 or a broken dune.dev. |
The CI issue is not gone and there is no indication it will be fixed upstream (in Dune). |
We can merge such a pull request, but it needs to come with a mechanism to make sure that Dune stays stuck at 3.14 in our CI (e.g., a virtual Opam package that would conflict with Dune >= 3.14 and that would be somehow marked as unremovable). |
I reviewed the discussion, but I can't say I understand it. In this comment it is stated that dune 3.14 breaks Coq-CI, but Coq CI does work with dune 3.16 (but not with 3.17 on Windows). See the recent discussion in Zulip. Can you add a few more pointers and what exactly doesn't work? Anyway, I don't think it is an option to stay with dune < 3.14 forever. |
E.g. cause of this I could not test a fix I suggested to @SkySkimmer for fixing Coq CI locally (which involves pinning dune to 3.15.3. |
As you know, Dune 3.14 came with a new feature, which is the ability to update all the files stored inside an The issue does not occur with Coq's main CI because the project is named Anyway, that is my own interpretation of the issue, but it has yet to be disproved. |
I see - thanks for the explanation! One thought: since |
Could we rename the repo back to |
@proux01 : since users have to explicitly give the repo name when creating a dev switch - also Coq Platform scripts do this - this will lead to questions and some trickery in the Coq Platform scripts. Again my question: can't we just rename it in CI on checkout? As far as I can see we are discussing a top level repo name which can have any folder name on checkout. |
Apparently the github action to do the git checkout supports this already: |
So we just have to give a |
I can add these to changes to this PR, but I wonder how I would test it. The CI for this PR did pass as it. What would I have to do to experience the CI failure? |
ah no, we are using gitlab, so no, we don't use the github checkout action. I'll check if there is something equivalent. I think a way to test it is to edit a package that calls dune subst |
Here: https://docs.gitlab.com/ee/ci/runners/configure_runners.html#custom-build-directories So I suggest you add a line here Line 8 in c5f59b9
and make a whitespace change to https://github.com/coq/opam/blob/master/extra-dev/packages/coq-elpi/coq-elpi.dev/opam |
Thanks, I will try it later today or tomorrow. What I find mildly confusing in the docs you linked is the line:
I would read that such that the default path is mktmp like random generated. |
Actually, the documentation almost shows what the default is, that is, |
I just saw that @SkySkimmer removed the dune upper bound in coq-core.dev via e7ea74c already. I guess the fix to the CI system + adjustments in branch dev packages is still required, so I will proceed with improving this PR. In case this is considered obsolete, please let me know. |
That's just because it's on rocq-runtime |
11461c0
to
ceab1c7
Compare
ceab1c7
to
d531224
Compare
The fine print of the docs say:
and indeed I get the error:
I don't know much about our runner setup on gitlab. Can we change the runner setup? Is there a security risk associated with enabling this? |
With the "docker" executor and its siblings, I don't think there is any security issue, since the build directory is still supposed to be a child of Anyway, your original proposal of doing some kind of |
This PR removes outdated restrictions to dune - none of the release Coq packages still has these so there is no good reason for keeping them in the dev packages.
There are known versions of dune to not work - one could exclude these, but this is not done in the Coq release packages either.