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'