From 0d0255cb7f2e4c4314d60355408848c42d3aeceb Mon Sep 17 00:00:00 2001 From: Thore Cimbal Date: Fri, 31 Jul 2026 12:00:00 +0000 Subject: [PATCH] ci: Windows-Strecke - VM-Start/Stop-Jobs + desktop_windows (Issue #5) start/stop_windows_vm steuern die On-Demand-Build-VM vom Linux-Runner aus (Docker-Socket). desktop_windows (tags: windows, manuell, unsigniert/nsis) uebersetzt den x64-Pfad des Upstream-Workflows: frozen-lockfile, webapp + axion-config vor dem asar, VS-DevShell + build:native mit MSVC-Target. Wartet in der Queue bis der Windows-Runner (lab-windows-1) online ist. Co-Authored-By: Claude Fable 5 --- .gitlab-ci.yml | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 23be00424..0042b8777 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,6 +11,32 @@ stages: - build - package +# --- Windows-Runner-VM-Steuerung (Issue #5) --------------------------------- +# Die Windows-Build-VM (dockur/windows-Fork, siehe git.lab/axion1337.chat/vendor/windows, +# Runbook: docs/axion-runner.md dort) laeuft on-demand auf Overmind. Diese beiden Jobs +# starten/stoppen sie vom Linux-Runner aus ueber den Docker-Socket - der +# desktop_windows-Job wartet danach einfach in der Queue, bis der Runner online ist. + +start_windows_vm: + stage: build + image: docker:27-cli + rules: + - if: $CI_COMMIT_BRANCH == "main" + when: manual + allow_failure: true + script: + - docker start windows-runner + +stop_windows_vm: + stage: package + image: docker:27-cli + rules: + - if: $CI_COMMIT_BRANCH == "main" + when: manual + allow_failure: true + script: + - docker stop windows-runner + web: stage: build image: node:24-bullseye @@ -98,3 +124,33 @@ desktop_linux: - apps/desktop/dist/*.deb - apps/desktop/dist/*.tar.gz expire_in: 1 week + +# Windows-Desktop-Build (x64, unsigniert - Signing siehe Issue #5). Laeuft NUR auf dem +# Windows-Runner (tags), manuell: vorher start_windows_vm ausloesen. Uebersetzt aus dem +# Upstream-Workflow build_desktop_windows.yaml (x64-Pfad; arm-only-Schritte entfallen). +desktop_windows: + stage: package + tags: + - windows + needs: + - job: web + artifacts: true + rules: + - if: $CI_COMMIT_BRANCH == "main" + when: manual + allow_failure: true + variables: + SQLCIPHER_BUNDLED: "1" + script: + - pnpm install --frozen-lockfile --filter element-desktop + - Copy-Item -Recurse apps/web/webapp apps/desktop/webapp + - Copy-Item apps/desktop/axion1337/config.json apps/desktop/webapp/config.json -Force + - cd apps/desktop + - pnpm run asar-webapp + - '& "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\Tools\Launch-VsDevShell.ps1" -Arch amd64 -SkipAutomaticLocation' + - pnpm run build:native --target x86_64-pc-windows-msvc + - pnpm run build --publish never -w nsis + artifacts: + paths: + - apps/desktop/dist/*.exe + expire_in: 1 week