<div dir="auto">Hello fellow NUT users and contributors!<div dir="auto"><br></div><div dir="auto">A lot has happened during the past months, culminating with last Friday of July (Sysadmins' Day) as a reasonable moment to mark a milestone. Sorry, not yet NUT 2.7.5, but with CI make-over to help it happen.</div><div dir="auto"><br></div><div dir="auto">As some may know, we were using the public Travis CI offering, and just as that multi-platform setup was nearing perfection (ha-ha) with dozens of regular build setups across varied OSes, CPU architectures, compiler versions and language revisions - all to make sure each iteration of NUT builds easily everywhere we can test it, so it remains portable from embedded to datacenter, on bleeding edge and legacy platforms - just about then their new owner announced that the free Travis tier for FOSS CI will be phased out. Thankfully, they listened to public outcry so the phase-out took not a few weeks but half a year, giving teams like ours a chance to explore alternatives, but since June 15th NUT did not have an active CI.</div><div dir="auto"><br></div><div dir="auto">I explored various options, and most of the service cloud offerings are geared towards Lin/Win/Mac, often with one distro du-jour. A close runner-up to what NUT needs for portability testing seems to be Github Actions to use their orchestrator and our workers. Which needs to get some diverse workers online, available on-demand or even persistently, and preferably not as a maintenance burden to individuals helping NUT every now and then. And then not helping eagerly, life is life...</div><div dir="auto"><br></div><div dir="auto">So it culminated in getting help from Fosshost, who courteously provided some virtual machines and endured several rounds of aiding with setup of OSes outside their supported list, including OpenIndiana, OmniOS, FreeBSD and Debian Linux so far, and deploying a dedicated Jenkins with a new dynaMatrix setup written for the purpose over half a years' worth of weekends, which just now finally went online as a usable MVP (chiseling needed, but many things work and bring value).</div><div dir="auto"><br></div><div dir="auto">The farm is now replaying some historical commits from the master branch, starting with v2.7.4 tag, to save some code-quality analysis history so we can gauge its evolution with the "fightwarn" branch effort and beyond. Many of these builds are expected to be "flaky" as their state of codebase was evolving the tooling and warnings for CI. Hopefully current master will fare better ;)</div><div dir="auto"><br></div><div dir="auto">The dynaMatrix Jenkins Shared Library is this way a new open-source project in our fold: <a href="https://github.com/networkupstools/jenkins-dynamatrix/">https://github.com/networkupstools/jenkins-dynamatrix/</a> and it allows the CI pipeline to define a number of build combinations (permutations of variables minus filters of what we do not expect to work). Unlike the original Jenkins matrix, this one is driven by available build agents and their capabilities ("I have this and that compiler", "I can build all docs up to PDF", etc.), and also seems less prone to certain JVM limits that I did hit with original matrix and our range of tested variations. This solution allows Jenkins Swarm agents from willing contributors to dial in and add their platform to the matrix in real time, in the future. I took reasonable effort to design it in a project-agnostic manner, so not only NUT can be built this way to ensure cross-platformness, and not only on that CI farm (in fact, most of the time it evolved on my laptop with several VMs).</div><div dir="auto"><br></div><div dir="auto">Last but not least, I arranged for NUT community related IRC channels on the new Libera.Chat servers (like with Travis, the venerable Freenode network had new management and that did not end well). So welcome to #nut at irc.libera.chat (port 6697, SSL, SASL auth).</div><div dir="auto"><br></div><div dir="auto">Lots of kudos to give where credit is due ;)</div><div dir="auto">* Thanks to Travis CI - it was a fun and useful ride, even if it is over.</div><div dir="auto">* Great thanks to Fosshost for giving us a new home and hope for the CI infrastructure.</div><div dir="auto">* Thanks to Jenkins project and community for being at all, and answering hard questions in particular.</div><div dir="auto">* Thanks to Libera.Chat people for helping figure out the community registration process, all during their turbulent week of relocating hundreds of projects from a sinking ship :)</div><div dir="auto">* Surely, thanks to people who use, comment and improve NUT: without you and your stream of questions, contributions (and non-regression testing involved), there would be little benefit in setting this all up.</div><div dir="auto">* And finally, thanks to my family for their patience, understanding and sometimes sacrifice for too many weekends and late evenings this year. That was a looong Groundhog Day for me...</div><div dir="auto"><br></div><div dir="auto">Hopefully, we will soon be able to again focus more on what we build and less urgently on the how, to get the many proposed improvements reviewed, tested and integrated.</div><div dir="auto"><br></div><div dir="auto">On behalf of NUT core team,</div><div dir="auto">Jim Klimov</div><div dir="auto"><br></div><div dir="auto"><br></div></div>