Build Changes #14
Replies: 5 comments 9 replies
-
When I set up a release workflow like this, I usually only use two branches (instead of the three we currently have):
In case we want to keep the current behavior of auto-creating tags/releases, your suggestion sounds good for push events. One thing to consider is that we should probably still run all tests on all PRs (including from feature branches/forks to dev) - so ideally, PRs would still execute a full build, just without the release. (This also means we can probably drop docker builds for PRs as they aren't tested as far as I can tell) |
Beta Was this translation helpful? Give feedback.
-
This might be a bit of a longshot, but: How did you (anyone reading this) deploy statping when using it? I use docker for pretty much everything because it's really convenient. Do we need to build and provide binaries for everything, or could we consider switching to only docker releases? This would bring a lot of other changes with it (e.g. not needing the Makefile anymore at all) and would obviously be quite a step back compatibility-wise. On the other hand, building statping(-ng) from source would get a lot easier that way - just (I realized that this would break a lot of things such as tests and basically all github actions workflows. This is probably a bad idea but I'm leaving it out here anyway ) |
Beta Was this translation helpful? Give feedback.
-
Ideas about docker builds:
Suggestion about shortening build times: we can still create a docker build on dev, just not as a multi-arch image since that's the part that actually takes forever |
Beta Was this translation helpful? Give feedback.
-
So at the moment the test-postman-sqlite runs on a prive runner as it was failing on ubnuntu-latest however it seems to work on my own fork, I might move it back. I'm also testing a 32bit for windows and mac. If anyone knows how to build for M1 Mac then that would be good too... |
Beta Was this translation helpful? Give feedback.
-
We will have (Ubuntu) Snaps working soon, I have the build process working properly now. |
Beta Was this translation helpful? Give feedback.
-
I'm proposing a change to the builds to be a little more end-user friendly.
dev
This will be a quick binary only build; this wont be uploaded with any version details built on push to dev branch, aimed at testing the latest changes only
unstable
This will be a full build process, uploaded in the same way as the current dev builds, sticking with the dev-version naming scheme and available via containers etc under the dev tags.
This should always be merged from dev once we're happy with changes, potentially fix a version and push minor fixes once we hit a milestone but not add any features unless they've gone via dev.
stable
This will be the full stable build, this should always be merged from unstable, a branch should be taken with the version ID too, so people can pull a static'd branch if required.
This will be the "latest" and version numbered builds and the only builds pushed up to snap etc
This will require some changes to the build workflow/actions, but hopefully, it means we can have stability but also an easy way for people to push in changes without triggering a 3-4hr build each time.
Thoughts?
Beta Was this translation helpful? Give feedback.
All reactions