Repository navigation
feat: accept workspace publish requests - #9339
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 52ef600. Configure here.
BYK
left a comment
There was a problem hiding this comment.
I was hoping that we could replace all regexp based parsing with peggy at this point.
| owner: getsentry # create token with access to all getsentry repos | ||
|
|
||
| - name: Check out publish controller | ||
| uses: actions/checkout@v5 |
There was a problem hiding this comment.
| uses: actions/checkout@v5 | |
| uses: actions/checkout@v7 |
Let's go with latest version
| requires_workspace_discovery="$(node -e ' | ||
| const { needsWorkspaceDiscovery } = require("./.__publish__/src/modules/publish-location"); | ||
| const input = JSON.parse(process.env.PUBLISH_ARGS || ""); | ||
| process.stdout.write(String(needsWorkspaceDiscovery(input))); | ||
| ')" |
There was a problem hiding this comment.
Why not put this into a file too? Even better, make it a runnable node script to avoid passing JS through YAML and bash?
| @@ -0,0 +1,29 @@ | |||
| const CHECK_RUNS_LINK = | |||
There was a problem hiding this comment.
I wonder if this can be part of the peggy parser/language too?
## Summary - Accept and validate workspace input before every action side effect. - Pass the selected workspace through prepare, target discovery, publish issue identity, and controller execution. - Preserve legacy unscoped publish issue titles and use controller checkout identity only for secure state lookup. ## Validation - pnpm test: 60 files, 1,138 passed, 1 skipped. - pnpm lint: 0 errors; 7 existing unused-variable warnings. - Prettier check and build passed. - Independent adversarial review: MERGE. ## Dependency Draft until getsentry/publish#9339 deploys. The Publish controller must accept workspace-qualified titles and provide the secure state-file contract before this action emits them.

Summary
Validation
Deployment
Deploy this controller before Craft PR #872. It adds the title parser and secure state contract required for workspace-qualified requests.