10 { triple: x64, arch: x64, type: Debug },
11 { triple: x86, arch: win32, type: Debug },
12 { triple: x64, arch: x64, type: Release },
13 { triple: x86, arch: win32, type: Release },
14 { triple: arm64, arch: ARM64, type: Release },
15 { triple: arm, arch: ARM, type: Release },
17 runs-on: windows-latest
19 - uses: actions/checkout@v4
27 venv/Scripts/Activate.ps1
28 python -m pip install -r requirements.txt
29 Get-ChildItem Env: | Sort Name
34 venv/Scripts/Activate.ps1
36 cmake -S . -B build -A ${{ matrix.arch }} `
44 cmake --build build --config ${{ matrix.type }} --target package -- -noLogo
46 if: ${{ matrix.type == 'Release' }}
49 cp -r -Force build/vcpkg/* $ENV:VCPKG_INSTALLATION_ROOT
50 vcpkg install liba[ipo,pkgconfig]:${{ matrix.triple }}-windows
51 vcpkg install liba[ipo,pkgconfig]:${{ matrix.triple }}-windows-static
53 if: ${{ startsWith(matrix.triple, 'x') }}
55 CTEST_OUTPUT_ON_FAILURE: 1
58 cmake --build build --config ${{ matrix.type }} --target run_tests -- -noLogo
59 - uses: mymindstorm/setup-emsdk@v13
60 if: ${{ matrix.arch == 'x64' }}
62 if: ${{ matrix.arch == 'x64' }}
66 venv/Scripts/Activate.ps1
68 cmake -S . -B build.llvm -G "Ninja Multi-Config" --toolchain cmake/UseClang.cmake `
72 -DLIBA_JAVASCRIPT_BIGINT=1 `
73 -DLIBA_JAVASCRIPT_DEBUG=1 `
74 -DLIBA_JAVASCRIPT_TSGEN=1 `
79 cmake --build build.llvm --config ${{ matrix.type }} --target package
81 if: ${{ matrix.arch == 'x64' }}
83 CTEST_OUTPUT_ON_FAILURE: 1
86 cmake --build build.llvm --config ${{ matrix.type }} --target test