-
Notifications
You must be signed in to change notification settings - Fork 263
Move Linux CI from Azure Pipelines to GitHub Actions #1232
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
Conversation
ca30d92
to
a7bf658
Compare
@kkysen Would you mind safelisting |
6945fa0
to
1cd2856
Compare
Do you know how to do that? |
I believe it'll be in the GitHub actions settings, either for the project or for the organization. There's a setting for where it can run actions from. |
@thedataking, can you see if you're able to do this? I don't see where I can, or I probably don't have permission to do it. See the error message here: https://github.com/immunant/c2rust/actions/runs/14911291371. |
e0c2712
to
6dacb8c
Compare
4c3a0a7
to
959db55
Compare
@kkysen I think this is ready to merge now. |
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.
LGTM but I'd still like @thedataking to take a final look, particularly about moving from testing on multiple distros to just Ubuntu. I think it's likely fine, and GitHub Actions have numerous benefits, but I just want to double check.
Also I'm re-running CI to see how long a cached CI takes, although that should improve a bunch with |
@joshtriplett appreciate the work to fix our CI. Thanks!
I'd prefer to use the "vanilla" cache module unless there is some clear benefit. Wouldn't the pattern below work?
|
I updated this. We still have macOS to do, right? |
Caching correctly is a lot more complicated than that, and also involves caching more than that. The cache needs to depend on the toolchain, the job, etc. And the cache should include the results of compiling the dependencies, so that most builds are relatively fast. Doing it right requires logic on par with what rust-cache already does. If you want to lock it down to a specific version of rust-cache, we could do that, and be very deliberate about upgrading it. |
Thanks for educating me. Khyber mentioned that rust-lang also uses this action which eases my concern somewhat.
OK, v2 should be whitelisted now. Could we have a comment in the workflow to remind us why we're not using Github's cache action? |
This simplifies the CI setup substantially. In particular, this installs packages as part of the CI setup, rather than in a separate manual container build step where modifications by contributors are ineffective until the container images are regenerated. Now, changes to provisioning will take immediate effect, allowing upgrades to new versions to be contributed and tested easily. This does not move macOS over, because I don't have sufficient experience with macOS to easily debug the issues that occur when attempting to do so. Fixes: immunant#1226
959db55
to
8add06a
Compare
@kkysen OK, this is ready now, fixes all the items that have been commented on, and uses caching. |
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.
All good now, thank you!!
This simplifies the CI setup substantially. In particular, this installs packages as part of the CI setup, rather than in a separate manual container build step where modifications by contributors are ineffective until the container images are regenerated.
Now, changes to provisioning will take immediate effect, allowing upgrades to new versions to be contributed and tested easily.
This does not move macOS over, because I don't have sufficient experience with macOS to easily debug the issues that occur when attempting to do so.