Fix Windows checkout (powershell, not WSL bash) and install node per-job via uv
release / gui-build (windows) (push) Failing after 0s
release / gui-build (macos) (push) Successful in 1m12s
release / gui-build (linux) (push) Successful in 1m15s

This commit is contained in:
2026-09-22 04:23:48 +00:00
parent 99e757bc6f
commit 3ae4ce9f9f
+28 -3
View File
@@ -15,11 +15,36 @@ jobs:
steps: steps:
# Plain git clone instead of actions/checkout (a JS action that would # Plain git clone instead of actions/checkout (a JS action that would
# require node on the host). Full history so setuptools_scm sees tags. # require node on the host). Full history so setuptools_scm sees tags.
# ${{ }} expressions are substituted by the runner, so both shells work.
- name: Checkout - name: Checkout
if: matrix.os != 'windows'
shell: bash shell: bash
run: | run: |
git clone "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git" . git clone "${{ gitea.server_url }}/${{ gitea.repository }}.git" .
git checkout -f "$GITHUB_SHA" git checkout -f "${{ gitea.sha }}"
- name: Checkout (Windows)
if: matrix.os == 'windows'
shell: powershell
run: |
git clone "${{ gitea.server_url }}/${{ gitea.repository }}.git" .
git checkout -f "${{ gitea.sha }}"
# The sdist build compiles the Vue frontend and needs node/npm.
# Install per-job via uv so runner hosts don't need node set up.
- name: Install Node.js
if: matrix.os != 'windows'
shell: bash
run: |
uv tool install nodejs-wheel
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- name: Install Node.js (Windows)
if: matrix.os == 'windows'
shell: powershell
run: |
uv tool install nodejs-wheel
Add-Content $env:GITHUB_PATH "$env:USERPROFILE\.local\bin"
- name: Build GUI app zip and dist packages - name: Build GUI app zip and dist packages
run: uv run --extra gui scripts/guibuild.py run: uv run --extra gui scripts/guibuild.py
@@ -33,7 +58,7 @@ jobs:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
run: uv run scripts/release.py run: uv run scripts/release.py
- name: Attach platform zip to the Gitea release - name: Attach platform artifact to the Gitea release
if: matrix.os != 'linux' if: matrix.os != 'linux'
env: env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}