rubys / nokogumbo

A Nokogiri interface to the Gumbo HTML5 parser.
Apache License 2.0
186 stars 114 forks source link

Switch CI #153

Closed stevecheckoway closed 3 years ago

stevecheckoway commented 3 years ago

Currently, we're using Travis CI via travis-ci.org. This seems to be starved for resources and CI builds are take a long time to start on Linux. (This is a change from when the Mac builds used to take ages to start but Linux builds were fast).

Switching to travis-ci.com reportedly helps. Indeed, the build that's currently running from PR #152 took 7 minutes in my fork.

I hear GitHub Actions is faster still, but I haven't investigated that. Looks like it supports Linux, Windows, and macOS builds. It would be nice to drop AppVeyor (which is great to have access to, but is extremely slow).

flavorjones commented 3 years ago

@stevecheckoway If we're still thinking about merging nokogiri and nokogumbo (as discussed at https://github.com/sparklemotion/nokogiri/issues/2064) then it may make sense to coordinate this effort.

Let me know if you're feeling urgency around this and I'd be happy to make time to talk!

rubys commented 3 years ago

I once looked into GitHub actions, at they seemed easy. I am not familiar with the CI pipeline that nokogiri uses. I have time to look into this, but I would rather go into any conversation having already come up to speed by reading up on the matter.

Net: if nokogiri is open to converting to GitHub actions, I'm willing to explore that option and report back; if it would be easier/better for nokogiri to remain with its current pipeline, a pointer to the docs would be appreciated.

stevecheckoway commented 3 years ago

@flavorjones Sure, I still think that's a good plan. In the mean time, I wanted to get out a new version of Nokogumbo with some fixes in. travis-ci.org is taking more than an hour right now which is starting to get painful.

I'm happy to go with whichever CI we find best. Switching from travis-ci.org to travis-ci.com was a painless process when I did it. I think I just clicked a button to move all my repos over at once.

stevecheckoway commented 3 years ago

I switched a small Ruby project I have over to GitHub Actions. It probably needs some tweaking, but it seems to work pretty well. Here's the GitHub Action file.

rubys commented 3 years ago

I added an initial workflow for 3 versions of Ruby on Ubuntu and MacOS. There are parts of the file I don't yet understand, but it seemed to work.

stevecheckoway commented 3 years ago

So far everything looks good. I suspect we could add windows testing and then drop travis-ci and appveyor.

rubys commented 3 years ago

Windows testing, package testing, and gentoo added. I think that's everything.

stevecheckoway commented 3 years ago

Fantastic! Thanks for getting that all added.