-
Notifications
You must be signed in to change notification settings - Fork 677
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
Out of $$$ for CI #2161
Comments
First of all, I am familiar with GHA and would like to offer assistance for migration. Here are my thoughts, from my perspective, which may be helpful for your decision:
Jobs like rustfmt are simple and cheap but required, we can migrate them to GHA. (I'm willing to help for this)
GHA's free plan doesn't provide Some projects are using qemu for OSX/arm64 with free plan: SLOW, but works.
Maintaining workflows across different platforms can be challenging, so it's better for us to stick to the same one. I suggest maintaining a self-hosted FreeBSD runner instead. It may also be easier for us to find a sponsor of this runner! |
We could move that one into GHA. But even better would be to force contributors to run it before opening a PR. That's what saltstack does, although their setup is so fragile that I had to disable it.
Is GHA's default OSX runner still on x86_64? Weird. Cirrus discontinued that platform and replaced it with aarch64. I thought that Apple was pushing people to move in that direction. For our purposes, either would work. Nix contains plenty of OSX-specific code, but none is specific to a certain architecture on OSX.
Oh, I don't want to do that. Back before #1003 we did use a self-hosted FreeBSD runner. But it was a lot more work. And much of the configuration didn't live within the Nix repository, so it was hard to manage. Plus, it wasn't free, either, costing about $20/month even for a small VM. I think that migrating some of the builds into GHA would likely have the biggest impact. It would create some annoyance in that we'd have to manage two CI files, but that's doable. Other projects do it, like https://github.com/tokio-rs/mio . |
#2163 moves format check to a |
Just gave a look at our CI configuration file, currently, we have 10 tasks:
Most of them are running on |
Some updates on this: Our Cirrus configuration file uses Yaml Anchors to reuse the code so that duplicate code blocks can be avoided, however, GitHub Action does not support this feature. It seems that the most recommended way to reuse code would be to define your own actions. But this is the GitHub way, Cirrus does not use it, if we go with this approach, then we have to manage two configurations, which increases our maintenance overhead. |
#2166, our first try with GHA |
Since November, Cirrus has been limiting OSS projects' free compute time. Nix just hit that limit. So we need to either raise some cash, reduce our activity, or economize our CI pipeline. Here are some ideas:
https://cirrus-ci.org/blog/2023/07/17/limiting-free-usage-of-cirrus-ci/
https://cirrus-ci.com/settings/github/nix-rust
Originally posted by @asomers in #2155 (comment)
The text was updated successfully, but these errors were encountered: