| @@ -8,6 +8,109 @@ include_once("includes/header.php"); | |||
| <p><b>THIS IS A FAKE PAGE, KXSTUDIO NEWS USES A DYNAMIC MODULE NOW</b></p> | |||
| <p> | |||
| <span style="font-size: 20px">> KXStudio Monthly Report (July 2021)</span><br/> | |||
| On <i>2021-07-31</i> by<i> falkTX</i> | |||
| </p> | |||
| <p> | |||
| Hello all, another monthly report about the KXStudio project is here.<br/> | |||
| First, in case you missed it, | |||
| <a href="https://kx.studio/News/?action=view&url=carla-231-has-been-released" target="_blank">Carla v2.3.1</a> | |||
| and | |||
| <a href="https://jackaudio.org/news/2021/07/16/jack2-v1919-release.html" target="_blank">JACK2 v1.9.19</a> | |||
| have been released.<br/> | |||
| A few issues were reported against this latest Carla release (regressions) so expect a v2.3.2 very soon.<br/> | |||
| Due to travis-ci.org shutting down (and the replacement travis-ci.com being absolutely terrible) the binaries for these releases were not automated.<br/> | |||
| Which brings me to this month's first topic. | |||
| </p> | |||
| <h3>Automated builds & artifacts</h3> | |||
| <p> | |||
| Since travis became unusable, and manually doing builds everytime is a bit of a pain, I began looking for alternatives.<br/> | |||
| GitHub Actions seems to be what most developers have run to, but I am not really happy putting yet more stuff into GitHub.<br/> | |||
| While there are some alternatives, even self-hosting, in the end being pragmatic I threw the towel and just let GitHub handle it.<br/> | |||
| For projects that already have a presence on GitHub, the integration just makes sense. | |||
| </p> | |||
| <p> | |||
| One of the issues with travis was the lack of daily/latest build binaries.<br/> | |||
| While it was possible to setup, it usually required creating a tag or release to upload the binaries into.<br/> | |||
| GitHub Actions can have "artifacts" associated with any build, with no special setup required from contributors.<br/> | |||
| This was the main thing that pushed me to just stick with GitHub for this.<br/> | |||
| If someone external to a project submits a pull-request, there will be automated builds with the proposed changes ready for testing.<br/> | |||
| The fact that builds start immediately (instead of sometimes having to wait several hours like in other services) is super nice to see. | |||
| </p> | |||
| <p> | |||
| But are there any benefits to users, you may ask.<br/> | |||
| Well, take for the example JACK, for which I already added automated builds.<br/> | |||
| If you open the | |||
| <a href="https://github.com/jackaudio/jack2/actions" target="_blank">JACK2 GitHub Actions</a> | |||
| page, there will be macOS and Windows installers for each build going forwards.<br/> | |||
| When there comes a time where a change requires testing, there is no longer a need to build things manually. | |||
| </p> | |||
| <p> | |||
| Automated builds via GitHub Actions (and the resulting artifacts) also fit nicely for DPF.<br/> | |||
| I was able to create a "workflow" file (that is, a file that describes what to build and how) for DPF-based plugins, | |||
| where it builds and publishes linux-armhf, linux-arm64, linux-x64, macOS (universal), win32 and win64 binaries, | |||
| all in a single file.<br/> | |||
| So you can basically take | |||
| <a href="https://github.com/DISTRHO/DPF-Plugins/blob/master/.github/workflows/build.yml" target="_blank"> | |||
| this file</a>, | |||
| place it in your own repository, and directly have all those linux, macOS and windows builds right away.<br/> | |||
| I already have this setup for pretty all of DPF-based plugins under the | |||
| <a href="https://github.com/DISTRHO/" target="_blank">DISTRHO GitHub organization</a>.<br/> | |||
| As an experiment, I | |||
| <a href="https://github.com/michaelwillis/dragonfly-reverb/pull/106" target="_blank">added the same support to dragonfly-reverb project</a>.<br/> | |||
| So now if you go to its | |||
| <a href="https://github.com/michaelwillis/dragonfly-reverb/actions" target="_blank">GitHub Actions</a> | |||
| page and click on the latest commit, you will be able to download and install/use the build artifacts. | |||
| </p> | |||
| <p> | |||
| This is extremely valuable, as not everyone has a macOS or Windows machine in order to do builds for those.<br/> | |||
| Or maybe the other way around, someone on macOS or Windows without a Linux machine, etc etc.<br/> | |||
| I also think of the situation of people wanting to try out a change in the code but don't have the developer tools needed to build the project themselves.<br/> | |||
| While maybe not a big issue for DPF/Plugin projects (as they tend to be small in size), | |||
| for things like Carla where build dependencies are a lot more involved, almost no one will have everything needed to make binaries alike the official ones.<br/> | |||
| With these automated builds, you can basically create a pull request and just enjoy the build - which will follow the same exact conventions as official builds. | |||
| </p> | |||
| <p> | |||
| Now, this is not in place for Carla just yet, but it is in progress.<br/> | |||
| Currently DPF (plus the plugins made with them under DISTRHO) and JACK2 have automated builds via GitHub Actions.<br/> | |||
| More will follow soon. | |||
| </p> | |||
| <h3>Packaging</h3> | |||
| <p> | |||
| There are no updates regarding packages in the KXStudio repositories at this time.<br/> | |||
| Even though some packaged plugins are out-of-date, yes..<br/> | |||
| </p> | |||
| <p> | |||
| Thinking of packages, I might just do a whole month focused on them soon.<br/> | |||
| There has been quite some nice releases of open-source audio plugins lately that would be great to have packaged, | |||
| but lack of proper time for them is a problem.<br/> | |||
| As the last details on DPF new release are being resolved, packaging might be the next thing to focus on. | |||
| </p> | |||
| <p> | |||
| Special attention is needed on JUCE things though, because the LV2 wrapper is still somewhat of a pain for external developers to integrate properly.<br/> | |||
| (If only JUCE devs made the LV2 wrapper official! errr...) | |||
| </p> | |||
| <p> | |||
| Anyway, this packaging thing is not so much of news but more of wishes.<br/> | |||
| Before new JUCE-based plugins get packaged, I want to sort out the LV2 wrapper mess, make it as easy as possible for developers to have official LV2 variants.<br/> | |||
| Only me building LV2 versions (for the KXStudio repositories) is not something I want to push for anymore, | |||
| rather it would be best for everyone to have said LV2 versions. | |||
| </p> | |||
| <p> </p> | |||
| <p> | |||
| That is all for now.<br/> | |||
| If you appreciate the kind of work I do, please | |||
| <a href="https://kx.studio/Donations">consider a donation</a>.<br/> | |||
| Thank you in advance for your support, and stay safe out there!<br/> | |||
| </p> | |||
| <hr/> | |||
| <p> | |||
| <span style="font-size: 20px">> Carla 2.3.1 has been released</span><br/> | |||
| On <i>2021-07-16</i> by<i> falkTX</i> | |||