Skip to content

ci(windows): add manual Microsoft Store flight submission - #5346

Open
jensenpat wants to merge 5 commits into
aethersdr:mainfrom
jensenpat:aether/windows-store-test-flight
Open

ci(windows): add manual Microsoft Store flight submission#5346
jensenpat wants to merge 5 commits into
aethersdr:mainfrom
jensenpat:aether/windows-store-test-flight

Conversation

@jensenpat

Copy link
Copy Markdown
Collaborator

Dependency

This is a stacked draft built on #5345. The current GitHub diff therefore includes the symbol-packaging prerequisite from that PR. Do not merge this PR before #5345. After #5345 is squash-merged, this branch must be rebased onto the updated main so the diff contains only commit d3fd0555.

Summary

  • add an explicit workflow_dispatch checkbox to build Windows and fully submit the resulting .msixupload to an existing Partner Center developer package flight
  • generate a monotonically newer flight-only MSIX version from the source CalVer plus the Windows Installer workflow run number, without creating a public tag or release
  • add a separate flight publication job that requires AETHERSDR_STORE_FLIGHT_ID, passes it explicitly as --flightId, retains --uploadTimeout 300, and uses -Commit for full automatic submission
  • document initial Partner Center flight setup and the API-owned submission lifecycle

Production isolation

The existing production path is unchanged: v* tags still stage drafts with --noCommit. The flight job runs only for an explicit manual dispatch in aethersdr/AetherSDR, requires a nonempty flight secret before authentication, and fails rather than falling back to production. FlightId has no environment default in the PowerShell wrapper. The manual path has no schedule and does not create or attach to a GitHub Release.

The repository-level Actions secret list does not currently expose AETHERSDR_STORE_FLIGHT_ID; it must be added before the workflow can publish unless an organization secret with that name is already scoped to this repository.

Full-auto behavior

Microsoft documents --flightId as the package-flight target and --noCommit as the option that prevents automatic commit. The pinned CLI source confirms that a publish with a flight ID and without --noCommit calls the flight-specific commit API and polls the resulting status.

Validation

  • actionlint .github/workflows/windows-installer.yml
  • PowerShell AST parse of packaging/windows/publish-store.ps1
  • mocked production invocation: exact arguments include --uploadTimeout 300 --verbose --noCommit and no flight ID
  • mocked flight invocation: exact arguments include --uploadTimeout 300 --verbose --flightId TESTFLIGHT and omit --noCommit
  • timeout range check rejects 99 seconds
  • flight version check produces 26.9.1.203 for source 26.9.1 and workflow run 203
  • python3 tools/check_test_registration.py --strict
  • python3 tools/check_engine_boundary.py --strict
  • git diff --check

No socket-based tests were run or added. No Microsoft Store submission was triggered.

Generated with OpenAI Codex (Daybreak Blue)

@jensenpat
jensenpat marked this pull request as ready for review August 31, 2026 04:08
@jensenpat
jensenpat requested review from a team as code owners August 31, 2026 04:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant