Prevent multiple publishing from running at the same time - #15988
Conversation
✅ All tests passed ✅🏷️ Commit: 876db2e Learn more about TestLens at testlens.app. |
|
@jdaugherty this did not fix the issue with multiple processes trying to publish at the same time and we need to revisit apache/grails-github-actions#98. https://github.com/apache/grails-core/actions/runs/30005853541/job/89233189977 Let's fix this and if we need to then iterate. |
|
@jamesfredley I forgot to add the same concurrency trigger to CI. we shoudl publish the snapshot docs in their own job & add this concurrency trigger. that will close the other loop |
|
I had AI look at this, and it's because the change wasn't made on the affected branch: Why PR #15988's docs-publish mutex did not prevent concurrent publishesAnalysed: 2026-07-30 1. What the PR didMerged into
It adds a job-level mutex to the concurrency:
group: grails-docs-publish
cancel-in-progress: false
It was chosen instead of apache/grails-github-actions#98, which hardens the push-retry loop inside The shared resourceEvery docs publish pushes to the same place:
2. The race that still happened — 2026-07-23Two
Log excerpt (job Both branches publish snapshot docs into the shared 3. Root cause: the mutex was not on those refsGitHub Actions reads job-level Both
Merge-up timing gap
The two new branches were cut inside that four-day window, so they never inherited the mutex. Both are still parked at The mutex does work where it exists
4. Hole still open #1 —
|
| Branch | gradle.yml |
release.yml |
release-publish-docs.yml |
|---|---|---|---|
7.0.x |
1 | 1 | 0 |
7.1.x |
1 | 1 | 0 |
7.2.x |
1 | 1 | 0 |
8.0.x |
1 | 1 | 0 |
8.1.x |
0 | — | 0 |
9.0.x |
0 | — | 0 |
It is workflow_dispatch-only, so a manual docs re-publish can race a snapshot or release publish at any time.
Instead of implementing apache/grails-github-actions#98 - this adds an exclusive mutex so no 2 publishing jobs will run at the same time. @jamesfredley