-
-
Notifications
You must be signed in to change notification settings - Fork 899
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
Understand whether we can move all of CI to Github Actions #2207
Comments
I sense your frustration here (and in past messages) with CI. GA is still missing features that exist in Travis & AppVeyor. Re the issues you've listed:
I haven't worked much with them. See https://github.com/ruby/ruby/blob/master/.github/workflows/compilers.yml for one example with a container.
I believe it can be done, but I haven't implemented it in GA. I have PowerShell scripts to build gems (and test the install) with AppVeyor, but those used one job. Being able to do so on GA and take advantage of parallel jobs would be useful.
Without testing it, no idea. I've got some tests with Puma that generate 2k client connections, and they get processed in less than 2 sec. Not the best comparison, but...
Qualified maybe. Currently, MSVC is only available as a daily Ruby master build that is available on GA. 32-bit builds have been done by Lars (@larskanis), but they aren't included in the custom action (setup-ruby) normally used to setup Ruby on GA. Summing up, I can't cite examples for everything you'd like to have in CI. Can most of it be done? I think so, given the OS limits of GA. Moving whatever jobs can be done in GA might be a good start, and taking advantage of the high parallel job limit might speed up the CI. Once that's stable, start writing scripts for the more complex CI... Lastly, some of the things you'd like to implement I'd also like to see done, possibly for use elsewhere. I'm interested in helping, but I've also got other obligations. |
I'm experimenting with using custom images at flavorjones/calendar-assistant#186 |
OK, I've got a pretty good sense of how to use Github's Container Registry now; and I've got a calendar-assistant action to even build the container image consumed by the test suite action. |
Note that #2226 shows valgrind is much faster on GA than it is in my concourse environment. |
I'm confident that we can move everything to Github Actions except 32-bit windows. Closing this, will open a PR shortly. |
Context
Current CI configuration, and the advantages Concourse provides, are explained at https://github.com/sparklemotion/nokogiri/blob/25e7c49c87bda2cb1e2dd15677af11c74503dc04/CONTRIBUTING.md#how-continuous-integration-ci-is-configured
What problems would we solve by moving to GA?
Goals of this issue
I simply want to build confidence that we can go all-in on GA, and remove either Appveyor or Concourse or both; so that I can accept PRs like #2011 without feeling like I'm spreading myself even-thinner.
Unknowns and risks
I've started reading https://docs.github.com/en/actions/learn-github-actions/managing-complex-workflows
Related conversations / issues / PRs
cc @MSP-Greg
The text was updated successfully, but these errors were encountered: