clayburn opened a new issue, #16346:
URL: https://github.com/apache/grails-core/issues/16346

   ### Issue description
   
   CI builds cannot write to the Apache Develocity remote build cache. Every 
store attempt is rejected with `403: Forbidden`, so the remote cache is never 
populated, never serves a hit, and delivers **zero** avoidance savings across 
the whole project.
   
   This is a leftover from the migration to `https://develocity.apache.org`: 
the ASF instance requires each project to be explicitly onboarded for remote 
build caching (a dedicated CI user plus a scoped access key). Grails publishes 
build scans successfully — that part of the migration worked — but the cache 
credentials were never provisioned, so the write path is unauthorized.
   
   #### Evidence
   
   Example scan: 
https://develocity.apache.org/s/azwtwdv4p6cxa/performance/build-cache#remote-cache-failure-0-0
   (`Groovy Snapshot Canary Build`, branch `8.1.x`, Gradle 9.7.1, Develocity 
plugin 4.5.0)
   
   Console output from that build:
   
   ```
   Could not store entry d3ec921920106a66711c237b4c6c1519 in remote build cache
   java.lang.RuntimeException: Storing entry at 
'https://develocity.apache.org/cache/d3ec921920106a66711c237b4c6c1519' response 
status 403: Forbidden
        at 
org.gradle.caching.internal.controller.service.BaseRemoteBuildCacheServiceHandle.storeInner(BaseRemoteBuildCacheServiceHandle.java:150)
        ...
   ```
   
   The failures are not fatal, so nothing turns the CI build red — but after 
the first errors Gradle marks the remote cache `disabledDueToError` for the 
remainder of the build. 
   
   ### Proposed resolution
   
   1. **ASF Infra ticket.** Open a ticket with ASF Infra asking them to onboard 
`apache/grails-core` for Develocity remote build caching. They will create a 
dedicated CI user for Grails and issue an access key scoped to that account, to 
be exposed only to CI builds. 
   2. **Repository secret.** Ensure the correct GitHub Actions secret is mapped 
to the `DEVELOCITY_ACCESS_KEY` env var.
   3. **Build configuration.** Set the Develocity project ID in the build so 
cache entries are scoped correctly. Happy to raise the PR for this once the key 
is provisioned — it is a small change to the `develocity { }` blocks.
   
   ---
   
   Raised at the request of James Fredley. cc @jdaugherty @matrei
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to