chore(skills): add release-widget skill - #2370
Conversation
This comment has been minimized.
This comment has been minimized.
fbe06a0 to
7773a8b
Compare
This comment has been minimized.
This comment has been minimized.
74a8e99 to
cce0a0d
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Automates widget/module release pipeline: version bump, GitHub draft release, OSS clearance SBOM, Marketplace publish. Sharing for team feedback before promoting out of private trial.
50fbf1e to
1ac50b0
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
|
||
| Find the run matching this tag/branch. | ||
|
|
||
| - `conclusion: success` → means the API call didn't error, not that the version is live (`createDraft`/`publishDraft` are write-only, no read-back). Confirm with a read: `marketplace-mcp`'s `get_content_versions` with `contentId` = `appNumber` from Phase 0, and check `<version>` is listed. If `marketplace-mcp` isn't connected or errors, ask the user to check Marketplace → package page → Manage Versions. Don't declare the release done until one of the two confirms it. |
There was a problem hiding this comment.
Marketplace → package page → Manage Versions
User can simply go to the front page to see it, no need to login and open admin panel.
There was a problem hiding this comment.
createDraft/publishDraftare write-only, no read-back)
I don't think this is any useful information, rather internal details. Instruct it to simply confirm the version appeared in the marketplace.
…helpers - skill: user merges the changelog PR, not the agent (needs team approvals) - skill: drop gh pr merge from the autonomy carve-out - skill: clarify why a successful publish call doesn't guarantee the version is live - skill: check the public Marketplace listing instead of the admin panel - skill: find a wrapped widget's owner in pluggableWidgets too, not just modules - skill: correct which phases reuse appNumber vs npm-package-name - skill: drop the unnecessary rui-helpers-not-linked check - rui-bump-version: accept only an explicit x.y.z version, no bump-type shorthand - rui-bump-version: keep the @mendix/ scope in bumpedPackages output - bump-version: getNewVersion now uses Version's bump methods instead of manual math - rui-changelog: read each wrapped widget's own CHANGELOG.md for module unreleased work
AI Code Review
What was reviewed
Skipped (out of scope): none — no CI checks: could not retrieve (permission denied in this environment) — author should confirm checks are green before merge. Findings🔶 Medium —
|
|
|
||
| ### Phase 3 — Version bump + release branch (autonomous) | ||
|
|
||
| Bump to the `<version>` confirmed in Phase 2. The helper only accepts an explicit `x.y.z` version — it has no bump-type shorthand: |
There was a problem hiding this comment.
The helper only accepts an explicit
x.y.zversion — it has no bump-type shorthand:
Looks redundant, if there is no other possibilities why mentioning it at all.
| pnpm exec rui-bump-version <npm-package-name> <version> | ||
| ``` | ||
|
|
||
| Prints `{"previousVersion", "version", "xmlBumped", "bumpedPackages", "changedPaths"}`. `xmlBumped: false` is expected for modules (no `package.xml`) — not an error. |
There was a problem hiding this comment.
Looks like xmlBumped has no real use.
| ``` | ||
| If it's a `409` on `POST .../packages/<appNumber>/versions`: | ||
| 1. Check whether an **earlier run for this exact tag already succeeded**: `gh run list --workflow="Publishes a package to marketplace" --json databaseId,status,conclusion,createdAt,headBranch` filtered to this tag. If one did, the 409 means **the version is already published** — report that, don't escalate, retry, or teardown. | ||
| 2. If no prior success: check for two runs created seconds apart for the same tag (double-trigger). Otherwise it's a genuine stuck server-side state, same as the last incident — not caused by our script. |
There was a problem hiding this comment.
the last incident
what is the last incident?
Summary
Test plan