on: workflow_call: name: windows - subset of tests env: RUST_BACKTRACE: 1 jobs: windows-test-subset: name: windows-test-subset runs-on: windows-2022 env: LLVM_SYS_180_PREFIX: C:\LLVM-18.1.8-win64 timeout-minutes: 150 steps: - uses: actions/checkout@v4 - run: Add-Content -Path "$env:GITHUB_ENV" -Value "GITHUB_RUNNER_CPU=$((Get-CimInstance Win32_Processor).Name)" - uses: Swatinem/rust-cache@v2 with: shared-key: "rust-cache-windows-${{env.GITHUB_RUNNER_CPU}}" - name: download and install zig run: | curl.exe -f --output "C:\zig-windows-x86_64-0.13.0.zip" --url https://ziglang.org/download/0.13.0/zig-windows-x86_64-0.13.0.zip cd C:\ 7z x zig-windows-x86_64-0.13.0.zip Add-Content $env:GITHUB_PATH "C:\zig-windows-x86_64-0.13.0\" - run: zig version - name: zig tests run: | cd crates\compiler\builtins\bitcode\ zig build test - name: install rust nightly 1.77.0 run: rustup install nightly-2024-02-03 - name: set up llvm 18 run: | curl.exe -f -L -O -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" https://github.com/roc-lang/llvm-package-windows/releases/download/v18.1.8/LLVM-18.1.8-win64.7z 7z x LLVM-18.1.8-win64.7z -oC:\LLVM-18.1.8-win64 - name: Build tests --release without running. run: cargo test --locked --release --no-run # Why are these tests not build with previous command? => fingerprint error. Use `CARGO_LOG=cargo::core::compiler::fingerprint=info` to investigate - name: Build specific tests without running. run: cargo test --locked --release --no-run -p roc_ident -p roc_region -p roc_collections -p roc_can -p roc_types -p roc_solve -p roc_mono -p roc_gen_dev -p roc_gen_wasm -p roc_serialize -p roc_linker -p roc_cli -p test_gen - name: Test setjmp/longjmp logic run: cargo test-gen-dev --locked --release nat_alias && cargo test-gen-dev --locked --release a_crash - name: Run gen tests run: cargo test-gen-llvm --locked --release gen_str - name: Actually run the tests. run: cargo test --locked --release -p roc_ident -p roc_region -p roc_collections -p roc_can -p roc_types -p roc_solve -p roc_mono -p roc_gen_dev -p roc_gen_wasm -p roc_serialize -p roc_linker -p roc_cli