Skip to content

Submit the Store bundle through the Store submission API when a release is published - #52

Merged
kellylford merged 2 commits into
mainfrom
store-submission-api
Oct 22, 2026
Merged

kellylford merged 2 commits into
mainfrom
store-submission-api

Conversation

@kellylford

Copy link
Copy Markdown
Collaborator

Kelly asked whether the Store has an API we can use, so updates don't need a manual Partner Center upload. It does: the Store submission API, through Microsoft's Store Developer CLI (msstore).

  • .github/workflows/store-submit.yml
    • Downloads a release run's rssquick-microsoft-store bundle and checks its version.
    • msstore publish … --noCommit uploads it into a draft submission.
    • Sets "What's new in this version" on every listing, from the version's CHANGELOG section. It drops the "Windows-only release" line, which means nothing in the Store, and unwraps the hard line breaks.
    • msstore submission publish commits the draft for certification.
    • Runs by hand from the Actions tab, given a run id and version. That's how 1.4.1's bundle will be submitted.
  • release.yml gains a store job after package, on tags that ship Windows (secrets: inherit).
  • No credentials yet, so it skips with a notice and never fails a release. The one-time Partner Center setup (an Entra app with the Manager role, a key, the Seller ID, then four gh secret set) is in docs/STORE-PLAN.md under Submitting through the API.

Not yet tried against Partner Center, since the credentials don't exist yet. The docs list .msix and .msixupload for -i. Our file is an .msixbundle, so the first run is where we find out whether it's accepted.

🤖 Generated with Claude Code

kellylford and others added 2 commits October 22, 2026 08:46
store-submit.yml uploads a release run's msixbundle with the Microsoft Store
Developer CLI, sets What's new from the version's CHANGELOG section, and
commits it for certification. release.yml calls it after the Windows job on a
tag that ships Windows; it can also be run by hand for an earlier run's
bundle. Until the PARTNER_CENTER_* secrets exist it skips with a notice.
docs/STORE-PLAN.md has the one-time Partner Center setup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…'s findings

- Runs on release: published (and by hand with a tag), not on the tag push,
  so the Store waits for the same screen reader check the GitHub draft does.
  It finds the release.yml run that built the tag; release.yml no longer
  calls it. A release that doesn't ship on Windows is skipped.
- msstore publish takes the bundle as its path argument; -i is a directory,
  so the old call could never upload.
- msstore pinned to v0.4.3 (earlier versions wrapped their JSON output) and
  the setup action to v1.4 (node24).
- The submission JSON goes through --payload, not the command line.
- Everything that can fail is checked before the upload: the tag, the
  release run, and the What's new text, which is now the CHANGELOG section
  from its first ### heading, without links, cut at a whole line.
- Exit codes checked after submission get; no listing is an error; inputs
  reach scripts through env.
- STORE-PLAN.md, WORKFLOW.md and CLAUDE.md describe it, including that a
  submission still in certification blocks the next one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kellylford kellylford changed the title Submit the Store bundle through the Microsoft Store submission API Submit the Store bundle through the Store submission API when a release is published Oct 22, 2026
@kellylford
kellylford enabled auto-merge (squash) October 22, 2026 13:54
@kellylford
kellylford merged commit efcafcb into main Oct 22, 2026
5 checks passed
@kellylford
kellylford deleted the store-submission-api branch October 22, 2026 13:57
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