From 67489e05bc8aea5149a710e4ccfeb3da4c138f08 Mon Sep 17 00:00:00 2001 From: Leo Vasanko Date: Tue, 22 Sep 2026 04:26:30 +0000 Subject: [PATCH] Use cmd shell for Windows steps; powershell is blocked by execution policy under SYSTEM --- .gitea/workflows/release.yaml | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index aa1f547..80cd3ad 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -10,22 +10,22 @@ jobs: strategy: fail-fast: false matrix: - os: [macos, windows, linux] + include: + - os: macos + shell: bash + - os: windows + shell: cmd + - os: linux + shell: bash runs-on: ${{ matrix.os }} steps: # Plain git clone instead of actions/checkout (a JS action that would # require node on the host). Full history so setuptools_scm sees tags. # ${{ }} expressions are substituted by the runner, so both shells work. + # Windows uses cmd: bash resolves to WSL (refuses SYSTEM accounts) and + # powershell hits the script execution policy under SYSTEM. - name: Checkout - if: matrix.os != 'windows' - shell: bash - run: | - git clone "${{ gitea.server_url }}/${{ gitea.repository }}.git" . - git checkout -f "${{ gitea.sha }}" - - - name: Checkout (Windows) - if: matrix.os == 'windows' - shell: powershell + shell: ${{ matrix.shell }} run: | git clone "${{ gitea.server_url }}/${{ gitea.repository }}.git" . git checkout -f "${{ gitea.sha }}" @@ -41,12 +41,13 @@ jobs: - name: Install Node.js (Windows) if: matrix.os == 'windows' - shell: powershell + shell: cmd run: | uv tool install nodejs-wheel - Add-Content $env:GITHUB_PATH "$env:USERPROFILE\.local\bin" + echo %USERPROFILE%\.local\bin>>"%GITHUB_PATH%" - name: Build GUI app zip and dist packages + shell: ${{ matrix.shell }} run: uv run --extra gui scripts/guibuild.py # Every platform converges on the one release for the tag; release.py @@ -54,12 +55,14 @@ jobs: # Only the linux job publishes the wheel/sdist (identical across platforms). - name: Create Gitea release and upload assets if: matrix.os == 'linux' + shell: ${{ matrix.shell }} env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} run: uv run scripts/release.py - name: Attach platform artifact to the Gitea release if: matrix.os != 'linux' + shell: ${{ matrix.shell }} env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} run: uv run scripts/release.py --no-dist