fuzzball-muck / fuzzball

Ongoing development of the Fuzzball MUCK server software and associated functionality.
Other
46 stars 26 forks source link

ci: [linux] Migrate from Travis to GitHub Actions #661

Closed digitalcircuit closed 2 years ago

digitalcircuit commented 2 years ago

In short

Criteria Rank Reason
Impact ★★☆ 2/3 Fixes missing Linux CI build tests
Risk ★☆☆ 1/3 Moves a CI dependency from Travis to GitHub
Intrusiveness ★☆☆ 1/3 Linux CI and README.md, shouldn't interfere with other pull requests

Details

A preview of functionality can be seen on my repository fork.

Travis CI no longer offers ongoing free open-source build credits, and Fuzzball MUCK has not built on Linux for 6 months. GitHub Actions does offer free credits.

Nothing is particularly specific to GitHub Actions so the CI can be migrated away in the future.

wyld-sw commented 2 years ago

Thank you!

wyld-sw commented 2 years ago

Question - we currently use CirrusCI for FreeBSD builds. It does look like there are some options to use GitHub Actions for that platform too, but they may not be fully supported. What do you think?

digitalcircuit commented 2 years ago

Good point. Since FreeBSD is not officially supported on GitHub Actions (the two I found so far use VirtualBox on macOS runners), while CirrusCI does natively support FreeBSD, I'd lean against migrating right now.

As to future migration if FreeBSD is officially supported, it might be worthwhile seeing how other contributors feel about the dependency on GitHub.

CirrusCI is currently GitHub-only, but they could expand. GitHub Actions will likely remain GitHub only (it's in the name). This might not be an issue. Or, inversely, Windows could be moved off AppVeyor CI as well (though that involves working around the lack of public artifact links - this tripped up Quassel for a while and GitHub could decide to block this service).

Personally, the convenience of everything in one place is nice, and, ultimately, we'll have to adapt to whatever is free. However, there may be an argument for "embrace, extend, extinguish" wherein using other services keeps them viable, though we're not paying any fees regardless.

(In this case, the legacy Travis CI infrastructure was limited to GitHub and the new multi-site version didn't have an ongoing free tier, so migrating the Linux builds from Travis to GitHub Actions didn't increase or decrease Fuzzball's dependency on GitHub.)