Skip to content

fix(ci): move canary npm publish into changesets workflow for OIDC auth#4216

Open
balegas wants to merge 1 commit intomainfrom
fix/canary-npm-oidc-auth
Open

fix(ci): move canary npm publish into changesets workflow for OIDC auth#4216
balegas wants to merge 1 commit intomainfrom
fix/canary-npm-oidc-auth

Conversation

@balegas
Copy link
Copy Markdown
Contributor

@balegas balegas commented Apr 28, 2026

Summary

  • Delete standalone canary_npm_publish.yml — it can never authenticate via OIDC
  • Add publish-canary job to changesets_release.yml (the workflow file trusted by npmjs.com)
  • Add workflow_dispatch trigger for manual testing

Context

npm trusted publishing is configured per-package with a specific workflow filename. The @electric-ax/* packages trust changesets_release.yml, so any other workflow gets ENEEDAUTH. Moving canary publishing into the same workflow file lets it share the OIDC trust relationship.

The canary job:

  • Only runs when changesets didn't publish a release
  • Checks if agents packages changed in the latest commit
  • Publishes <version>-canary.<sha> with --tag canary (won't affect stable installs)

Test plan

  • Manually trigger via Actions → "Changesets" → "Run workflow" from this branch
  • Verify canary packages publish successfully

🤖 Generated with Claude Code

npm trusted publishing is configured per-package with a specific
workflow filename. The packages trust changesets_release.yml, so the
separate canary_npm_publish.yml could never authenticate via OIDC.

Move canary publishing into the changesets workflow as a new job that
runs when changesets didn't publish a release and agents packages
changed. Delete the standalone canary workflow.

Also add workflow_dispatch for manual testing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@balegas balegas force-pushed the fix/canary-npm-oidc-auth branch from a8589a4 to 700e5b1 Compare April 28, 2026 17:36
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 28, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 64.69%. Comparing base (f6d0b45) to head (700e5b1).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4216      +/-   ##
==========================================
+ Coverage   61.54%   64.69%   +3.15%     
==========================================
  Files         129      143      +14     
  Lines       17152    18979    +1827     
  Branches     4145     4615     +470     
==========================================
+ Hits        10556    12279    +1723     
- Misses       6594     6697     +103     
- Partials        2        3       +1     
Flag Coverage Δ
packages/agents 53.73% <ø> (ø)
packages/agents-runtime 78.49% <ø> (ø)
packages/agents-server 66.03% <ø> (ø)
packages/agents-server-ui 0.00% <ø> (ø)
packages/electric-ax 30.11% <ø> (ø)
packages/experimental 87.73% <ø> (ø)
packages/react-hooks 86.48% <ø> (ø)
packages/start 82.83% <ø> (ø)
packages/typescript-client 94.30% <ø> (?)
packages/y-electric 56.05% <ø> (ø)
typescript 64.69% <ø> (+3.15%) ⬆️
unit-tests 64.69% <ø> (+3.15%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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