Skip to content

fix(ci): retry real install paths in verify-publish#719

Merged
khaliqgant merged 4 commits intomainfrom
fix/verify-publish-retry-installs
Apr 11, 2026
Merged

fix(ci): retry real install paths in verify-publish#719
khaliqgant merged 4 commits intomainfrom
fix/verify-publish-retry-installs

Conversation

@kjgbot
Copy link
Copy Markdown
Contributor

@kjgbot kjgbot commented Apr 11, 2026

Summary

  • stop treating npm tarball CDN propagation as a hard preflight gate
  • retry the real install paths used by verification instead
  • share retry logic via a small helper script

Why

verify-publish.yml was changed to use npm cache add as a propagation gate. That fixed one class of false positives, but introduced a new false negative: publish can succeed while some runners still fail the preflight because a CDN edge lags. In that case the workflow fails before the actual install tests even run.

This patch keeps a lightweight metadata wait via npm view, then adds retries to the real install operations we actually care about:

  • global npm install
  • local npm install
  • macOS local npm install

That makes the workflow verify user-facing installability without making transient npm propagation lag look like a publish failure.

Testing

  • inspected failing run 24284283529
  • confirmed regression was introduced by commit cba28b6
  • validated workflow diff locally

Open with Devin

devin-ai-integration[bot]

This comment was marked as resolved.

khaliqgant and others added 2 commits April 11, 2026 20:48
The script was committed with mode 100644 but is invoked directly
as a command in the workflow, requiring the executable bit.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The verify-publish workflow failed because @relaycast/sdk was not
properly installed during global installs. Root cause: version conflict
between root dependency (pinned "1.0.0") and bundled @agent-relay/sdk
(needs "^1.1.0") caused npm to create empty placeholder directories
with no package.json or dist/ files.

- Update @relaycast/sdk from "1.0.0" to "^1.1.0" to resolve conflict
- Add @relaycast/sdk to bundledDependencies for reliable tarball inclusion

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
devin-ai-integration[bot]

This comment was marked as resolved.

Address Devin review: the Docker verification job runs npm install
without retry logic, and retry-command.sh was not copied into the
Docker image. This creates a race condition where registry metadata
is available but the tarball isn't yet on the CDN.

- Copy retry-command.sh into Docker image
- Wrap global and local npm install calls with retry-command.sh

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@khaliqgant khaliqgant merged commit 1a29b44 into main Apr 11, 2026
45 checks passed
@khaliqgant khaliqgant deleted the fix/verify-publish-retry-installs branch April 11, 2026 19:48
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.

2 participants