halfgaar / FlashMQ

FlashMQ is a fast light-weight MQTT broker/server, designed to take good advantage of multi-CPU environments
https://www.flashmq.org/
Open Software License 3.0
185 stars 24 forks source link

Switch to Github Actions #5

Closed quinox closed 2 years ago

quinox commented 2 years ago

Same as #4 but now with Github Actions.

I never worked with Github Actions before. I really like it, the configuration can be nicely split up in different files and different steps within a file which isn't possible with CircleCI. Integration is also out-of-the-box, I didn't have to do any login / signup to make them run.

I suggest closing #4 and merging this PR instead.

halfgaar commented 2 years ago

I changed my build scripts to automatically create .deb files with unique name and dependencies per distro, required for making debs of the same version for various distros. I needed this because making 'one deb to rule them all' was naive, and it broke on Ubuntu 22.04. The download page now has apt dists per Ubuntu version, and want Debian too. The Travis CI Debian builds started working again BTW, and I also don't understand why Travis CI still works.

The issue is, that Circle CI and and Github actions neither have Debian :( I guess migrating to Github actions is almost required, once Travis CI stops, but it's a bummer I can't get all my debs from it.

I'm a bit in limbo currently, because I could configure Travis to deploy my artifacts, but it may break soon.

(AppImage builds are also created BTW. Travis made them, but distributing the oldest should give greatest compatibility.)

quinox commented 2 years ago

Just to satisfy my own curiosity I've updated the PR: now it also does Docker + it runs shellcheck against more files.

halfgaar commented 2 years ago

Am I missing something? I don't see the Docker build?

About that, there is another pull request with a Dockerfile.buildx. I still have to look at it. If buildx common enough, replacing the original Dockerfile is fine by me.

Also, for building releases, I now have five VirtualBox VMs and a bash script to build Ubuntu and Debian debs. This is not full CI as triggered by Git, but it allows me to reliably build all debs (without worrying about CI system XYZ having/dropping (Debian) support, etc). Otherwise so far, Travis still works...

halfgaar commented 2 years ago

I guess Travis did stop working now; negative credits.

halfgaar commented 2 years ago

I rebased it on master, added Ubuntu 22.04 (for which Github Actions only added support in August) and merged it.

:+1: