Hi Everyone, I have opened https://github.com/apache/grails-core/pull/14324 to merge these repositories.
Here are some observations after combining these builds: * Here are some previous builds in GitHub actions: - 18m 57s - https://github.com/apache/grails-core/actions/runs/12301840242 - 19m 58s - https://github.com/apache/grails-core/actions/runs/12284580736 - 20m 4s - https://github.com/apache/grails-core/actions/runs/12244609684 * Here's the GitHub build for the PR: https://github.com/apache/grails-core/actions/runs/14578304227 - 27m 23s is the total build time, but the majority of the builds finish between 15-20 minutes. - we now matrix 24 builds across Windows, Mac, & Linux and across JVM 17, 21, & 23 for the functional tests, mongo, hibernate, core. - We used to matrix 12 builds only in Core. We have never previously tested Mac & Windows on projects like data mapping. - the longest running builds are the grails-core builds; the timing varies on these builds but the minimum time is 15m 35s, and the longest is 27m 7s. * Running a build locally on the latest mac hardware: - Run a clean & stop all running gradle daemons, then run `./gradlew build --rerun-tasks` takes 5m 31s - This build time includes being connected to https://ge.grails.org * By default, the gradle build locally should run the project that changes. If you want to run the full test suite, run with `--rerun-tasks`. If you want to opt in or out of various tests, see DEVELOPMENT.md for various properties that will control which tests run. * The build is highly parallelized and switched to lazy evaluation. I've made numerous changes that will likely have some growing pains as we adopt the combined build. There is still work to do, including: - fixing the documentation generation so it doesn't have to regenerate every time. - fixing the groovydoc generation so it doesn't have to regenerate every time. - making assetCompile cacheable - see the PR for full notes on what's changed * I was able to fix the mongo projects so they can a) run in parallel b) startup containers per thread. The build is rather aggressive at spinning up containers based on the number of threads. You can control the parallel behavior by setting the property 'maxTestParallel'. It will default to 75% of the available processes on your system (or 1, whichever is larger). If we ever get agents with more CPU / memory, we could likely significantly reduce build times. Regards, James On 2025/04/21 15:36:15 James Daugherty wrote: > Hi Everyone, > > The vote for merging the grails-geb & grails-data-mapping repositories into > the grails-core repo[1] has passed. > > The vote has passed with SIX +1 binding votes. There were TWO +1 > non-binding votes. > > We'll proceed with getting this merged in the coming week. > > [1] https://lists.apache.org/thread/sjdokzl374nzc5hgywsjm440hg68dczo >