Publish from GitHub Actions

The StoreFast GitHub Action sends your .msix to StoreFast from a workflow. It writes the release notes from your changelog or GitHub release and translates them into every language of your listing.

Add your API key

  1. 1

    In StoreFast, open Settings and create an API key that Can publish. You see it once, so copy it now.

  2. 2

    In your GitHub repository, open Settings, then Secrets and variables, then Actions, and add a secret named STOREFAST_API_KEY with the key.

Add the step

This workflow runs when you publish a GitHub release. It downloads the .msix attached to the release and sends it to StoreFast. If your workflow builds the package itself, add the last step right after the one that makes it.

Workflow
name: Microsoft Store

on:
  release:
    types: [published]

jobs:
  store:
    runs-on: ubuntu-latest
    permissions:
      contents: read
    steps:
      - uses: actions/checkout@v4

      - name: Download the MSIX from the release
        env:
          GH_TOKEN: ${{ github.token }}
        run: gh release download "${{ github.event.release.tag_name }}" --pattern '*.msix'

      - uses: legendaryspy/storefast-publish@v1
        with:
          api-key: ${{ secrets.STOREFAST_API_KEY }}
          app: 9PJWF4W8V4WG
          package: '*.msix'
api-key
The secret you added. Required.
app
The app's 12-character Store ID, its StoreFast app ID or its exact name. Required.
package
A path or glob pattern that matches exactly one .msix. Required.

The version is read from the package. The notes come from the matching section of CHANGELOG.md when there is one, and otherwise from the release's description. Long notes are shortened to fit the Store's 1,500 characters.

Review or submit

By default the update waits on your app's page in StoreFast, and nothing goes to Microsoft until you click Submit. When you trust the workflow to ship on its own, add these inputs:

  • submit: true submits the update for certification straight away.
  • wait: true also waits until Partner Center has the submission, which usually takes a few minutes. It doesn't wait for certification.

The action's README lists every input, like notes from a file, dropping lines that only concern other platforms, and replacing an unfinished update.

Stuck on something? Email hello@storefast.app and we'll help you get it working.