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] [gh-actions] Run the platform job using Github Actions #12425
Conversation
55081f9
to
5c098f5
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
5c098f5
to
6ed6754
Compare
This comment has been minimized.
This comment has been minimized.
e54c621
to
1f6aa1f
Compare
6048ec2
to
ec773f0
Compare
778c511
to
85fe134
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Yes, but is this job supposed to test? |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@ejgallego : for sure one could add an option to run the test suite. The platform CI runs a very simple "smoke test" - that is one or two selected examples from each provided package. The idea is that Coq Platform is a kind of meta build and relies on that the packages it builds are OK. The idea of the "smoke test" kit is to check if e.g. installation of packages went fine. |
a5b0132
to
e4e1195
Compare
@MSoegtropIMC , another question, how difficult would it be to split the cygwin setup to its own script? This way we could run it in its separate step, and have an easier time caching. Similarly for opam, would be very interesting to separate Caching for opam should work fine and be reproducible as soon as you folks start using opam lock files. |
@ejgallego : this is already supported:
But I must admit, this is not tested much and also the cygwin setup sometimes changes. |
Thanks for the feedback, will try! I guess the way to make this more reliable would be to structure the platform build as a sequential call of these scripts from a top-level driver. |
e4e1195
to
ceb6c8b
Compare
@@ -0,0 +1,11 @@ | |||
- **Changed:** | |||
The Windows installer CI build has been moved from custom workers to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's not something that we typically document in the user-facing changelog (which is already long enough without these kinds of details). It would make more sense in the dev changelog.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As you prefer, I was under the impression that some users were downloading the windows artifacts for master, so I signaled it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a good point. Maybe reformulate to put this aspect forward (and maybe do not link to the fixed issues which are not really relevant for users).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I did tweak it.
We move the CI job creating the platform windows installer from Gitlab-driven Inria custom runners to standard Github actions one. While we are at it, we significantly cleanup the build script, trying to avoid as much hackery as possible, and splitting it in logical stages. Notwithstanding, the current system is still not very satisfactory, in particular: - build time is very long, we should cache cygwin folder at least, and only rebuild if the coq-platform ref we use has changed; fortunately GH actions do support this - verbosity of the script is out of control - we can still cleanup way more things Please review the list of chosen bugs below, and speak if you think it is too wide. closes coq#6807 , closes coq#7428 , closes coq#8046 , closes coq#8622 , closes #coq#9401 , closes coq#11073 Note: this PR was originally started from the nice setup of Jason Gross [1] for windows CI setup, but it was updated to actually use the platform after coq#13598 [1] https://github.com/mit-plv/fiat-crypto/blob/master/.github/workflows/coq-windows.yml[ci] [gh-actions] Initial setup of Windows Github Build
This is a bit more modular build, additionally - Quite a few cleanups done, including removing the non-needed cleanup and unique folder stuff, and avoiding quoting hacks for the artifact generation - We also try cygwin quiet mode, but without much success
ceb6c8b
to
965c119
Compare
965c119
to
b4295a9
Compare
Will merge when CI passes. @gares can I add you to the @coq/windows-build-maintainers team? |
no |
OK, I figured that you were the best person to be in this team (more suited than me anyway) given that you've authored most of the code that is being moved in |
I'm not fluent in .bat, and I don't even have a windows PC at hand... |
Yeah, me neither. Anyway, let's keep things as they are for the time being. @coqbot merge now |
We move the CI job creating the platform windows installer from Gitlab-driven Inria custom runners to standard Github actions one.
While we are at it, we significantly cleanup the build script, trying to avoid as much hackery as possible, and splitting it in logical stages.
Notwithstanding, the current system is still not very satisfactory, in particular:
Please review the list of chosen bugs below, and speak if you think it is too wide.
closes #6807 , closes #7428 , closes #8046 , closes #8622 , closes #9401 , closes #11073
Kind: infrastructure.
Note: this PR was originally started from the nice setup of Jason Gross [1] for windows CI setup, but it was updated to actually use the platform after #13598
[1] https://github.com/mit-plv/fiat-crypto/blob/master/.github/workflows/coq-windows.yml