Hi Gary, On Fri, 14 Jun 2024 at 18:12, Gary Gregory <garydgreg...@gmail.com> wrote: > I sure hope that all tests are ALWAYS run by default in the 2.x branch, > otherwise it will be a -1 from me.
Currently Predictive Test Selection is enabled on all CI builds, except the `release/*` branches, since I am trying to evaluate the feature, before I make a proposal on this mailing list. So please, indulge me, for a couple of weeks. Currently the usage of Develocity is experimental and `logging-log4j2` is running builds using the `develocity` branch of `logging-parent`, so be reassured that before we do any release: 1. We'll largely discuss my findings (PMC meeting in a week or two?), 2. `logging-parent` needs to be released. For those that have never heard about Develocity, it is a new Gradle product that aims at increasing developer productivity by reducing the time we wait for our builds to complete. INFRA rolled out an ASF instance of Develocity and you can check it out at: https://ge.apache.org/scans?search.rootProjectNames=*log4j*&search.timeZoneId=Europe%2FWarsaw# I am experimenting with this tool to improve the quality of our test suites (aka the code users never help us with). It has some useful features like: 1. Test execution statistics, which help us identify the broken and flaky tests. As it turns out `JeroMqAppenderTest` is not the test that fails most often and we also have flaky tests that never (as far as I can remember) caused a build to fail. For example `BurstFilterTest` fails at least once in 50% of the builds. 2. PTS will allow our CI to run faster, because it only runs the tests that are more likely to fail for a given code modification. This might help contributors that submit PRs to get faster feedback or run the test suite before submitting a patch. Truth be told, I often skipped the local test run, since it took over 30 minutes on my old laptop. On my new desktop I always run all tests, since it takes 3 minutes (half of that time Maven is waiting for the 3 broken Flume tests). Of course I have my reservation regarding this tool: 1. The Maven plugin it uses is not Open Source. It is probably high quality code, but not **provably** high quality code. 2. It uses build caching, which might fake the results of builds. As far as I understand Develocity should be a no-op on your computers, unless you generate an API key for it. If you want to try it, run: ./mvnw com.gradle:develocity-maven-extension:provision-access-key in a working tree of `logging-log4j2`. Piotr