[jira] [Updated] (JAMES-3978) Investigate using develocity to improve james build

"Jean Helou (Jira)" <[email protected]>
Newsgroups gmane.comp.jakarta.james.devel
Message-ID <[email protected]>
     [ https://issues.apache.org/jira/browse/JAMES-3978?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jean Helou updated JAMES-3978:
------------------------------
    Attachment: 2025-09-16_13-16-long tasks.png

> Investigate using develocity to improve james build
> ---------------------------------------------------
>
>                 Key: JAMES-3978
>                 URL: https://issues.apache.org/jira/browse/JAMES-3978
>             Project: James Server
>          Issue Type: Improvement
>          Components: Build System
>            Reporter: Jean Helou
>            Priority: Major
>         Attachments: 2025-09-16_13-03-james-build.png, 2025-09-16_13-05-james-tests.png, 2025-09-16_13-16-long tasks.png, image-2024-02-02-16-30-20-026.png, image-2024-02-02-16-31-24-883.png
>
>          Time Spent: 4.5h
>  Remaining Estimate: 0h
>
> Hello,
> A while ago I noticed [this announcement|https://news.apache.org/foundation/entry/the-apache-software-foundation-announces-gradle-as-a-platinum-targeted-sponsor] gradle becoming a platinum sponsor of the ASF.
> In particular the announcement was about gradle offering the develocity service  to  the ASF. It so happens that I investigated develocity as part of my day job, and while we can't afford it there it is definitely something we might leverage here !
> The tool is available at [https://ge.apache.org|https://ge.apache.org/]
> I want to investigate the following leads
>  
>  # local caching for builds enable reuse of tasks output to speed up repeated tasks
>  # build scans to provide detailed build reports and individual build metrics
>  # build metrics are collected across all build scans and allow to target objectively bad contributors to overall build time
>  # enabling the remote build cache
>  **  additionally improves both local and CI build times
>  ** requires some attention to read/write permissions to avoid cache poisoning and supply chain attacks
>  ** most likely requires a dedicated build cache node request to infra
>  ** several projects already use it so it is a known unknown ( we know it can be done we don't yet know how)
>  # leverage advanced  test features of develocity unknown unknowns at least for me:D
>  ## the tool collects tests metrics to pinpoint flaky tests enabling targeted fix efforts
>  ## the tool claims to be able to do test avoidance and not rerun tests that are irrelevant to the changes
>  ## the tool claims to be able to distribute test excecution accross dedicated test workers
> Since we use maven,  we won't get the full benefits of the build cache ( gradle has been pushing plugin authors to write build cache friendly code for a long time ) but it should  improve the current situation quite a bit.
>  
> Apache pulsar is also using develocity with maven:
>  - develocity configuration [https://github.com/apache/pulsar/blob/master/.mvn/gradle-enterprise.xml]
>  - infra wiki has infos on how to onboard https://cwiki.apache.org/confluence/display/INFRA/Project+Onboarding+Instructions+for+Develocity



--
This message was sent by Atlassian Jira
(v8.20.10#820010)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.