From 97e18bbf2fb2375c494e7ee61ce81ab24b7a5255 Mon Sep 17 00:00:00 2001 From: Thore Cimbal Date: Fri, 31 Jul 2026 12:00:00 +0000 Subject: [PATCH] ci: Windows-Provisionierung um Rust/Perl/Python/NASM-PATH ergaenzt hak/matrix-seshat/check.ts verlangt auf Windows rustc, perl, patch, nasm, nmake und python - Job 399 scheiterte an fehlendem rustc. Rust landet maschinenweit unter C:\Rust (SYSTEM-Dienst sieht kein Benutzerprofil), Strawberry Perl deckt perl+patch ab, NASM-PATH wie im Upstream-Workflow explizit nachgezogen. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01PKhFj1S3UdD6xL2fbWPeYj --- .gitlab-ci.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7309e1f42..27c2c37c0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -203,9 +203,24 @@ windows_provision: - choco install -y nasm - choco install -y magicsplat-tcl-tk - choco install -y nodejs --version=24.15.0 + # Fuer den seshat-hak-Build (hak/matrix-seshat/check.ts): perl+patch (Strawberry + # liefert beides, patch.exe in C:\Strawberry\c\bin), python (node-gyp), rustc. + - choco install -y strawberryperl + - choco install -y python3 + # Rust maschinenweit statt Benutzerprofil: der Runner-Dienst laeuft als SYSTEM und + # sieht nur die Maschinen-Umgebung - ein Default-rustup unter %USERPROFILE% waere + # fuer Jobs unsichtbar. + - $env:RUSTUP_HOME='C:\Rust\rustup'; $env:CARGO_HOME='C:\Rust\cargo'; Invoke-WebRequest -UseBasicParsing https://win.rustup.rs/x86_64 -OutFile "$env:TEMP\rustup-init.exe" + - '& "$env:TEMP\rustup-init.exe" -y --profile minimal --default-toolchain stable --default-host x86_64-pc-windows-msvc' + - '[Environment]::SetEnvironmentVariable(''RUSTUP_HOME'',''C:\Rust\rustup'',''Machine'')' + - '[Environment]::SetEnvironmentVariable(''CARGO_HOME'',''C:\Rust\cargo'',''Machine'')' + # choco-nasm traegt sich nicht selbst in den PATH ein (Upstream macht das auch + # explizit via GITHUB_PATH) - zusammen mit cargo\bin hier maschinenweit nachziehen + - $mp=[Environment]::GetEnvironmentVariable('Path','Machine'); if ($mp -notlike '*C:\Rust\cargo\bin*') { [Environment]::SetEnvironmentVariable('Path', "$mp;C:\Rust\cargo\bin;C:\Program Files\NASM", 'Machine') } - refreshenv; corepack enable - '& "C:\Program Files\Git\cmd\git.exe" --version' - '& "C:\Program Files\nodejs\node.exe" --version' + - '& C:\Rust\cargo\bin\rustc.exe --version' # Windows-260-Zeichen-Pfadlimit: die Visual-Baseline-Pfade des Monorepos sprengen # MAX_PATH - beide Schalter noetig (git-seitig + OS-Policy) - '& "C:\Program Files\Git\cmd\git.exe" config --system core.longpaths true'