Skip to content

Fix publish smoke install for cloud SDK dependency#840

Merged
khaliqgant merged 2 commits intomainfrom
codex/fix-publish-smoke-cloud
May 11, 2026
Merged

Fix publish smoke install for cloud SDK dependency#840
khaliqgant merged 2 commits intomainfrom
codex/fix-publish-smoke-cloud

Conversation

@khaliqgant
Copy link
Copy Markdown
Member

Summary

  • pack packages/cloud with the SDK smoke-test internal dependency tarballs
  • include the cloud tarball in the scratch-project npm install
  • record the fix trajectory for future release-workflow context

Why

The publish smoke job version-bumps the SDK to the new release version before publishing. Since @agent-relay/sdk depends on exact-version @agent-relay/cloud, the scratch install tried to resolve unpublished @agent-relay/cloud@6.0.15 from npm and failed with ETARGET.

Verification

  • ruby -e 'require "yaml"; YAML.load_file(".github/workflows/publish.yml"); puts "publish.yml parses"'
  • static Node check confirmed the smoke workflow covers all internal @agent-relay/* SDK dependencies: cloud, config, github-primitive, slack-primitive, workflow-types

@khaliqgant khaliqgant requested a review from willwashburn as a code owner May 11, 2026 07:52
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 11, 2026

Review Change Stack
No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: b8d20a03-f83b-4c69-ba64-7aa9de4caee5

📥 Commits

Reviewing files that changed from the base of the PR and between fa2c7dc and 80c288b.

📒 Files selected for processing (6)
  • .github/workflows/publish.yml
  • .trajectories/completed/2026-05/traj_aw7stgf4qau0.json
  • .trajectories/completed/2026-05/traj_aw7stgf4qau0.md
  • .trajectories/completed/2026-05/traj_z171lng2fbbi.json
  • .trajectories/completed/2026-05/traj_z171lng2fbbi.md
  • .trajectories/index.json
✅ Files skipped from review due to trivial changes (4)
  • .trajectories/completed/2026-05/traj_z171lng2fbbi.json
  • .trajectories/completed/2026-05/traj_z171lng2fbbi.md
  • .trajectories/index.json
  • .trajectories/completed/2026-05/traj_aw7stgf4qau0.json

📝 Walkthrough

Walkthrough

The pull request extends the publish workflow smoke test to pack and install the locally-built @agent-relay/cloud package tarball alongside existing SDK and broker dependencies. It also adds cloud to the SDK internal-deps publish matrix. Trajectory files documenting the task and verification steps were added and index metadata was updated.

Changes

Cloud Tarball Smoke Test Integration

Layer / File(s) Summary
Workflow Tarball Packing and Install
.github/workflows/publish.yml
Smoke-broker-packages now packs packages/cloud into agent-relay-cloud-*.tgz, stages it in the shared tarballs directory, discovers it as CLOUD_TGZ, and includes it in the scratch-project npm install command.
Negative Smoke — optional dep missing
.github/workflows/publish.yml
Negative smoke (linux-x64) step now discovers CLOUD_TGZ and includes the cloud tarball in the npm install command for the negative scenario.
Publish matrix: internal deps
.github/workflows/publish.yml
publish-sdk-internal-deps package matrix adds cloud so @agent-relay/cloud is published with pinned internal runtime dependency versions before the SDK publish.
Trajectories & metadata
.trajectories/completed/2026-05/traj_aw7stgf4qau0.json, .trajectories/completed/2026-05/traj_aw7stgf4qau0.md, .trajectories/completed/2026-05/traj_z171lng2fbbi.json, .trajectories/completed/2026-05/traj_z171lng2fbbi.md, .trajectories/index.json
Added/updated completed trajectory JSON/MD files recording the decision, verification notes (YAML parse, static dependency coverage), retrospective, and updated .trajectories/index.json metadata.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • AgentWorkforce/relay#817: Also modifies .github/workflows/publish.yml to extend the publish matrix by adding a package.

Suggested reviewers

  • willwashburn

Poem

🐰 A cloud tarball hops into the smoke,
Where packages resolve without a joke,
The workflow now packs with care and grace,
Cloud finds its spot in its rightful place! ☁️✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically summarizes the main change: fixing the publish smoke install process to include the cloud SDK dependency tarball.
Description check ✅ Passed The description covers all template sections with detailed information about what changed, why it was necessary, and how verification was performed, exceeding the basic template requirements.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/fix-publish-smoke-cloud

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

View 2 additional findings in Devin Review.

Open in Devin Review

# workflow — so pack them locally and install them alongside the
# SDK. Keep this list in sync with packages/sdk/package.json's
# `dependencies` whenever a new internal dep is added.
(cd packages/cloud && npm pack --ignore-scripts --pack-destination "$TARBALLS")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 Negative smoke test missing cloud tarball will cause npm install failure

The PR adds @agent-relay/cloud to the positive smoke test's pack-and-install path (lines 643, 661, 668) but does not add it to the "Negative smoke — optional dep missing" test at .github/workflows/publish.yml:718-728. That negative test installs the SDK plus every non-optional internal dep whose bumped version isn't on the registry yet — but omits the cloud tarball. Since @agent-relay/cloud is a regular (non-optional) dependency in packages/sdk/package.json:152, npm install --no-optional will still attempt to resolve @agent-relay/cloud@6.0.14 from the npm registry. Because that version doesn't exist yet at this point in the workflow, the install will fail, breaking the negative smoke test on every publish run.

Negative smoke test install command that needs cloud

At .github/workflows/publish.yml:727-728:

npm install --ignore-scripts --no-audit --no-fund --no-optional \
  "$SDK_TGZ" "$CONFIG_TGZ" "$GITHUB_PRIMITIVE_TGZ" "$SLACK_PRIMITIVE_TGZ" "$WORKFLOW_TYPES_TGZ"

This needs $CLOUD_TGZ added, mirroring the fix applied to the positive smoke test.

Prompt for agents
The PR adds cloud to the positive smoke test pack/install steps but misses the negative smoke test. In the 'Negative smoke — optional dep missing (linux-x64 only)' step (around line 709), CLOUD_TGZ needs to be located and included in the npm install command, just like it was for the positive smoke test.

Specifically, in the negative smoke test block:
1. Add CLOUD_TGZ=$(ls "$TARBALLS"/agent-relay-cloud-*.tgz | head -n1) after the SDK_TGZ line (around line 718-722)
2. Add "$CLOUD_TGZ" to the npm install command at line 727-728

The negative test also installs non-optional SDK internal deps locally because the bumped version doesn't exist on the registry. @agent-relay/cloud is a regular dependency of the SDK (not optional), so it must be included here too.

Additionally, the publish-sdk-internal-deps job (line 752-765) matrix should include 'cloud' to ensure it is published to npm before the SDK. Without this, running the publish workflow with package=sdk will publish the SDK without first publishing @agent-relay/cloud at the matching version, causing install failures for end users.
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/publish.yml:
- Around line 661-669: The negative-smoke install step is missing the CLOUD_TGZ
package causing npm install to fail before the broker-missing assertion; update
the negative-smoke npm install invocation to include "$CLOUD_TGZ" alongside
"$SDK_TGZ", "$BROKER_TGZ", "$CONFIG_TGZ", "$GITHUB_PRIMITIVE_TGZ",
"$SLACK_PRIMITIVE_TGZ", and "$WORKFLOW_TYPES_TGZ" so the exact-version
dependency chain is present for that path (look for the second npm install block
that mirrors the earlier echo/installation using the SDK_TGZ/BROKER_TGZ
variables).

In @.trajectories/completed/2026-05/traj_aw7stgf4qau0.json:
- Line 47: Replace the machine-local absolute path value assigned to the JSON
key "projectId" with a stable, non-user-specific identifier (e.g., a
repo-relative path, repository name, or a logical ID). Locate the "projectId"
entry in the trajectory JSON and update its value to something like the
repository name or a relative path (not an absolute path containing a username
or local filesystem), then validate the JSON remains well-formed.

In @.trajectories/completed/2026-05/traj_aw7stgf4qau0.md:
- Line 12: Replace the incorrect wildcard typos: change the literal string
"agent-relay-cloud-_.tgz" to use a star wildcard "agent-relay-cloud-*.tgz" and
change the package pattern "@agent-relay/_" to "@agent-relay/*" wherever those
tokens appear in the trajectory summary so the publish workflow and SDK
dependency check use proper wildcard notation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c8191052-b73e-40d9-a5cd-462a1ef984eb

📥 Commits

Reviewing files that changed from the base of the PR and between b57a111 and fa2c7dc.

📒 Files selected for processing (4)
  • .github/workflows/publish.yml
  • .trajectories/completed/2026-05/traj_aw7stgf4qau0.json
  • .trajectories/completed/2026-05/traj_aw7stgf4qau0.md
  • .trajectories/index.json

Comment thread .github/workflows/publish.yml
Comment thread .trajectories/completed/2026-05/traj_aw7stgf4qau0.json Outdated
Comment thread .trajectories/completed/2026-05/traj_aw7stgf4qau0.md Outdated
@khaliqgant khaliqgant merged commit 489d3c5 into main May 11, 2026
37 checks passed
@khaliqgant khaliqgant deleted the codex/fix-publish-smoke-cloud branch May 11, 2026 08:25
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