feat: cross-build Windows ZIP from Linux CI runner
Some checks failed
Lint & Test / test (push) Successful in 1m50s
Build Release / create-release (push) Successful in 1s
Build Release / build-linux (push) Successful in 1m54s
Build Release / build-windows (push) Successful in 2m0s
Build Release / build-docker (push) Failing after 1m48s

Replace Windows runner requirement with cross-compilation:
download Windows embedded Python + win_amd64 wheels from PyPI,
package into the same ZIP structure as build-dist.ps1.

All 4 release jobs now run on ubuntu-latest.
This commit is contained in:
2026-03-22 03:05:40 +03:00
parent 67860b02ac
commit 62fdb093d6
2 changed files with 289 additions and 6 deletions

View File

@@ -40,25 +40,35 @@ jobs:
echo "release_id=$RELEASE_ID" >> "$GITHUB_OUTPUT"
echo "Created release ID: $RELEASE_ID"
# ── Windows portable ZIP ───────────────────────────────────
# ── Windows portable ZIP (cross-built from Linux) ─────────
build-windows:
needs: create-release
runs-on: windows-latest
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Build portable distribution
shell: pwsh
- name: Install system dependencies
run: |
.\build-dist.ps1 -Version "${{ gitea.ref_name }}"
sudo apt-get update
sudo apt-get install -y --no-install-recommends zip libportaudio2
- name: Cross-build Windows distribution
run: |
chmod +x build-dist-windows.sh
./build-dist-windows.sh "${{ gitea.ref_name }}"
- name: Upload build artifact
uses: actions/upload-artifact@v3
@@ -68,7 +78,6 @@ jobs:
retention-days: 90
- name: Attach ZIP to release
shell: bash
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
run: |