turing-machines / BMC-Firmware

Turing-pi BMC firmware
http://turingpi.com
GNU General Public License v2.0
241 stars 29 forks source link

Beta testing firmware updates #220

Open rjbrown99 opened 2 months ago

rjbrown99 commented 2 months ago

We're coming up on a year since the last firmware release. How are you thinking about a process for the adventurous souls out there to test more recent BMC code changes? IE would you consider either directly publishing an "alpha" or "beta" version with details on how to test and report bugs, including what board revision they are being tested on?

And if not, would you at least let us know which specific date/commit you might be considering as a code freeze for a release so we could compile our own to test?

There are a few things introduced in the past 10 months I'd like to try out. Fan control is a big one. I understand how to compile firmware, but what I don't currently understand is if any changes break the ability to roll back to 2.0.5. Hence the suggestion for a documented alpha/beta process with the community.

Thanks!

svenrademakers commented 2 months ago

Better documentation that goes more in-depth about the development processes and invites FOSS collaboration is an excellent point and is indeed currently spotty. I can't promise anything now, but I'm very open to giving someone pointers on how to update our documentation.

development strategy

that said, the aim is to keep the development process "simple" (as long as that makes sense). We have only one "unstable" branch (main) used to tag RC's and releases on. this means master should remain relatively stable. until now we were able to keep it stable during development)

tagging of commits looks something like

commits:

* v2.1.0-unstable
* v2.1.0-1-unstable
* v2.1.0-2-unstable
*  ...
* v2.1.0-RC1
* ..
* v2.1.0
* v2.2.0-unstable

trying out and reverting

since we are quite stable, its recommended to always install latest master on your board, if you want to test out new stuff. unless we explicitly made and communicate an intermediate tag on discord. use the packages that are attached to the associated github action build. these packages you can install easily via the 'upgrade firmware tab' in the web UI

you can always easily go back and forth between all versions (bar removing any user files that conflict with a particular version). install packages are self contained and not incremental in any way

nemith commented 2 months ago

I've been building and running pretty much the latest firmware with very little issues so far (and a lot of wonderful improvements)

I do have a remote console server hooked up to the uart. There has been some changes to networking which may not migrate well just yet.