Repository navigation
windows-msix #5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Builds the Microsoft Store package of MEDHĀ on a real Windows machine. | |
| # Trigger: push a tag like v2.0.0, or run it manually (Actions → windows-msix → Run). | |
| # Output artifacts: MEDHA-<ver>.msix (upload to Partner Center) + portable .zip. | |
| name: windows-msix | |
| on: | |
| workflow_dispatch: | |
| push: | |
| tags: ["v*"] | |
| permissions: | |
| contents: write # lets the job attach the .msix to a GitHub Release | |
| jobs: | |
| msix: | |
| runs-on: windows-latest | |
| timeout-minutes: 90 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| - name: Install build dependencies | |
| run: python -m pip install -r requirements.txt pyinstaller | |
| - name: Download offline toolchains (GCC, JDK 25, Python) + checksums | |
| shell: pwsh | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: packaging\windows\fetch_toolchains.ps1 | |
| - name: Build MSIX (includes MEDHA.exe --selftest with bundled GCC) | |
| shell: pwsh | |
| run: packaging\windows\build_msix.ps1 | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: medha-windows | |
| path: | | |
| dist/*.msix | |
| dist/*.zip | |
| toolchains/MANIFEST.json | |
| # The Store upload is done from Partner Center; a public Release asset gives the | |
| # browser a direct URL to the exact file CI built and tested. | |
| - name: Publish MSIX to GitHub Release | |
| shell: pwsh | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: | | |
| $f = Get-ChildItem dist/*.msix | Select-Object -First 1 | |
| $tag = "store-" + ($f.BaseName -replace '^[^-]+-','') | |
| gh release view $tag 2>$null; if ($LASTEXITCODE -ne 0) { gh release create $tag --title "Microsoft Store package $tag" --notes "MSIX built and smoke-tested by windows-msix CI." } | |
| gh release upload $tag $f.FullName --clobber |