Skip to content

Comments

fix: handle race condition in release promote job#130

Merged
AaronFeledy merged 1 commit intomainfrom
fix/release-promote-race
Feb 25, 2026
Merged

fix: handle race condition in release promote job#130
AaronFeledy merged 1 commit intomainfrom
fix/release-promote-race

Conversation

@AaronFeledy
Copy link
Member

@AaronFeledy AaronFeledy commented Feb 22, 2026

Problem

When a fresh (non-prerelease) release is created, GitHub fires both published and released events simultaneously. The promote job (triggered by released) races the deploy job (triggered by published) and tries to npm dist-tag add before the package is published to npm.

Fix

Add a retry loop that waits up to 5 minutes for the package version to appear on npm before promoting. If the version never appears, the job fails with a clear error instead of silently succeeding.

This is better than simply skipping when the version doesn't exist (as in lando/phpmyadmin#72), because it still catches genuine failures — e.g., if a prerelease promotion runs and the version is truly missing.

Affected repos

This same fix is being rolled out to all Lando repos with this release workflow pattern.

Closes any race condition failures on the promote job.


Note

Low Risk
Small, CI-only change limited to the release promotion step; main risk is increased release latency or a false failure if npm is slow/unavailable.

Overview
Prevents a race in the release workflow where the promote job could run npm dist-tag add ... latest before the package version was actually published to npm.

The Promote edge to latest step now polls npm view for up to 5 minutes (30x10s) before promoting, and fails with an explicit error if the version never appears.

Written by Cursor Bugbot for commit 463e9f6. This will update automatically on new commits. Configure here.

When a fresh non-prerelease is published, GitHub fires both 'published'
and 'released' events simultaneously. The promote job races the deploy
job and fails because the package isn't on npm yet.

Add a retry loop (up to 5 min) so promote waits for the package to
appear, while still failing loudly if it never does.
@netlify
Copy link

netlify bot commented Feb 22, 2026

Deploy Preview for lando-wordpress ready!

Name Link
🔨 Latest commit 463e9f6
🔍 Latest deploy log https://app.netlify.com/projects/lando-wordpress/deploys/699b6d1257bf450008a19176
😎 Deploy Preview https://deploy-preview-130--lando-wordpress.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 73 (🔴 down 22 from production)
Accessibility: 96 (no change from production)
Best Practices: 100 (no change from production)
SEO: 100 (no change from production)
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

@AaronFeledy AaronFeledy merged commit b274429 into main Feb 25, 2026
34 checks passed
@AaronFeledy AaronFeledy deleted the fix/release-promote-race branch February 25, 2026 05:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant