If there is not the need to build something heavy each day, we can also set up a weekly build.
The nightly could gradually increase, and specific features might be enabled/disabled by workflow parameters.
I’m not in favor of using resources if they are not needed, just because we could. Builds waste huge amount of energy. Do we have a real benefit of building against each (supported) Java release and each OS each night? I doubt. Though building frequently or on demand should be done.
I agree that we should aim to use resources responsibly. However, I believe the energy spent on testing and building isn’t inherently wasted.
GitHub has been carbon neutral since 2019 and plans to run entirely on renewable energy by 2025 (see GitHub’s sustainability efforts).
As for building against each Java release and OS nightly, I get the skepticism. But when changes occur in the code, I find it incredibly valuable to run all relevant tests to catch issues early. The real cost of skipping tests could be recognizing a problem days or weeks later, making it far harder to debug and fix.
That said, I’m all for smarter optimization - if there’s no change in the underlying code, triggering unnecessary builds can and should be avoided.
Of course running any available combination of the integration tests does not make sense either and would be of course wasteful, we should pick some common configurations as default.
For now, adding more features into the nightly build is the next step to go. If you have concrete feature requests, raise an issue, I will care for it.
The run distro is not yet in the reactor. It has been commented out in the /pom.xml so far. I once activated it and saw a compile issue, and did not dig into it further. Likely not much to do to get it into the build. And then of course it could be added.
I’m thinking about adding this after the beta-2 release. Slowly I want to come to an end with that release procedure and not have even more open ends.
I have worked yesterday evening on the Nightly Build. It uses now also JReleaser to publish an “early-access” release. This has been finished this morning.
The release and its artifacts are now available at a static URL: