-
Notifications
You must be signed in to change notification settings - Fork 72
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
CI check suggestion: dune-project and opam files are in sync #220
Comments
Yes, this sounds like a good thing to add. I think a general 'lint promote' step to check that no promotions occur would be useful. This has to also do a git diff, since opam file generation is a special case that is not a |
This will catch the case of modifying a dune-project file but forgetting to commit the corresponding opam file (or vice versa). Fixes ocurrent#220
We don't have a git checkout, so it's not quite as simple as One cheap and cheerful way would be to chmod the source directory to be read-only. It looks like BuildKit got support for this 24 days ago, so need to check if it's made its way into a docker release near us first... moby/buildkit#1492 |
I've no clue about the internals, but my intuition is that ocaml-ci/ocurrent uses a |
ocaml-ci builds a Dockerfile that's incremental, so it copies in the source tree as it builds up layers. For example it starts with the It therefore never has a full git checkout in the Dockerfile. I ran a quick test and |
This will be fixed as a side-effect of #285. |
Looks like this one can be closed thanks to |
some projects generate their opam file from dune-project, but keep the opam files in the git repository for technical reasons (to keep
opam pin --dev
working).the generated opam file contain a comment "please do not edit, generated by ..." - that is fine. but already more than once it happened to me that I modify (out of habit) the opam file, get the PR merged, and discover only at a later point that the dune-project and opam are now out of sync.
it would be great if the ocaml CI could check that after a
dune build
thegit diff
is empty (i.e. there are no modified files). thanks.The text was updated successfully, but these errors were encountered: