Run Windows NSIS build on scopenet host runner
CI / Real Minecraft installs (manual) (push) Skipped
CI / Windows launcher (push) Failing after 14m37s
CI / Rust, web and container (push) Canceled after 0s

This commit is contained in:
SCOPEDD committed 2026-10-01 01:15:17 -04:00
1 parent d3057a2fc5
commit eeeaa16f40
3 files changed
+18 -3

No files matched your search

+16 -1
View File
@@ -58,7 +58,7 @@ jobs:
launcher-windows: launcher-windows:
name: Windows launcher name: Windows launcher
runs-on: windows-latest runs-on: scopenet
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v5
- name: Install Windows build dependencies - name: Install Windows build dependencies
@@ -69,6 +69,21 @@ jobs:
working-directory: launcher working-directory: launcher
- run: npm run build - run: npm run build
working-directory: launcher working-directory: launcher
- name: Build NSIS installer
working-directory: launcher
shell: pwsh
env:
SCOPENET_PANEL_URL: ${{ vars.PANEL_URL }}
SCOPENET_LOCK_PANEL: ${{ vars.LOCK_PANEL }}
SCOPENET_REPO: ${{ gitea.server_url }}/${{ gitea.repository }}
run: |
npx tauri build --bundles nsis
if ($LASTEXITCODE -ne 0) { throw "NSIS build failed with exit code $LASTEXITCODE" }
- uses: actions/upload-artifact@v4
with:
name: windows-installer-ci
path: target/release/bundle/nsis/*-setup.exe
if-no-files-found: error
- run: cargo clippy -p scopenet-launcher --locked -- -D warnings - run: cargo clippy -p scopenet-launcher --locked -- -D warnings
- run: cargo test -p scopenet-launcher -p scopenet-core -p scopenet-shared --locked - run: cargo test -p scopenet-launcher -p scopenet-core -p scopenet-shared --locked
+1 -1
View File
@@ -50,7 +50,7 @@ jobs:
launcher: launcher:
name: Windows installer name: Windows installer
needs: version needs: version
runs-on: windows-latest runs-on: scopenet
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v5
- name: Install Windows build dependencies - name: Install Windows build dependencies
+1 -1
View File
@@ -82,7 +82,7 @@ The workflow builds the **Windows installer**, pushes the **panel image to Gitea
### Gitea runner setup ### Gitea runner setup
Register a Linux host runner with the `ubuntu-latest` label and a Windows host runner with `windows-latest`. Linux builds the panel Docker image and server JARs; Windows builds the NSIS installer. The workflows use [the Linux setup tool](scripts/ci/install-linux.sh) and [the Windows setup tool](scripts/ci/install-windows.ps1) to install or check job dependencies. Linux Node 22 and Java 21/25 are downloaded by `setup-node` and `setup-java`; the Linux tool installs Rust, Tauri system packages, and release utilities. The Windows tool downloads PowerShell 7.6.6 and Node 22 if unavailable, then installs Rust and Microsoft C++ Build Tools. Docker and Buildx are set up by Docker's Actions. The Linux runner must allow a Docker daemon to start or provide one, and system package installation needs root or passwordless sudo. Enable Actions for the repository and allow its job token to write releases and packages. See [Gitea's runner labels](https://docs.gitea.com/runner/labels/) and [token permissions](https://docs.gitea.com/usage/actions/token-permissions/). Register a Linux host runner with the `ubuntu-latest` label and a Windows host runner with `scopenet:host` (selected by `runs-on: scopenet`). Linux builds the panel Docker image and server JARs; Windows builds the NSIS installer. CI also builds and uploads a Windows NSIS artifact so the installer can be checked without publishing a release. The workflows use [the Linux setup tool](scripts/ci/install-linux.sh) and [the Windows setup tool](scripts/ci/install-windows.ps1) to install or check job dependencies. Linux Node 22 and Java 21/25 are downloaded by `setup-node` and `setup-java`; the Linux tool installs Rust, Tauri system packages, and release utilities. The Windows tool downloads PowerShell 7.6.6 and Node 22 if unavailable, then installs Rust and Microsoft C++ Build Tools. Docker and Buildx are set up by Docker's Actions. The Linux runner must allow a Docker daemon to start or provide one, and system package installation needs root or passwordless sudo. Enable Actions for the repository and allow its job token to write releases and packages. See [Gitea's runner labels](https://docs.gitea.com/runner/labels/) and [token permissions](https://docs.gitea.com/usage/actions/token-permissions/).
The setup tools also run directly on matching hosts: `bash scripts/ci/install-linux.sh rust` prepares Rust and Tauri builds, `bash scripts/ci/install-linux.sh image` checks Docker, `bash scripts/ci/install-linux.sh java 21` checks a Java integration runner, and `powershell -File scripts/ci/install-windows.ps1` prepares the Windows installer runner. Gitea uses them in CI and release jobs; GitHub provides a manual **Runner setup** workflow for both platforms. Run the Linux `rust` mode as root or with passwordless sudo; the Windows script may need administrator rights to install Microsoft C++ Build Tools. The setup tools also run directly on matching hosts: `bash scripts/ci/install-linux.sh rust` prepares Rust and Tauri builds, `bash scripts/ci/install-linux.sh image` checks Docker, `bash scripts/ci/install-linux.sh java 21` checks a Java integration runner, and `powershell -File scripts/ci/install-windows.ps1` prepares the Windows installer runner. Gitea uses them in CI and release jobs; GitHub provides a manual **Runner setup** workflow for both platforms. Run the Linux `rust` mode as root or with passwordless sudo; the Windows script may need administrator rights to install Microsoft C++ Build Tools.