10 { triple: x64, arch: x64 },
11 { triple: x86, arch: win32 },
12 { triple: arm64, arch: ARM64 },
14 runs-on: windows-latest
16 - uses: actions/checkout@v4
23 _/Scripts/Activate.ps1
24 python -m pip install ninja
25 python -m pip install -r requirements.txt
26 Get-ChildItem Env: | Sort Name
29 _/Scripts/Activate.ps1
31 cmake -S . -B build -A ${{ matrix.arch }} `
32 -DCMAKE_INSTALL_PREFIX=_ `
38 -DLIBA_PYTHON=${{ matrix.arch == 'x64' }} `
45 cmake --build build --config Debug --target package -- -noLogo
47 if: ${{ startsWith(matrix.triple, 'x') }}
49 CTEST_OUTPUT_ON_FAILURE: 1
52 cmake --build build --config Debug --target run_tests -- -noLogo
58 cmake --build build --config RelWithDebInfo --target package -- -noLogo
60 if: ${{ startsWith(matrix.triple, 'x') }}
62 CTEST_OUTPUT_ON_FAILURE: 1
65 cmake --build build --config RelWithDebInfo --target run_tests -- -noLogo
68 CMAKE_PREFIX_PATH: ${{ github.workspace }}/_
71 cmake --build build --config RelWithDebInfo --target install -- -noLogo
72 cmake -S demo -B demo/build -A ${{ matrix.arch }}
73 cmake --build demo/build -v
74 - uses: actions/checkout@v4
76 repository: microsoft/vcpkg
81 cmake -B build -DLIBA_VCPKG=_/vcpkg
82 _/vcpkg/bootstrap-vcpkg.bat -disableMetrics
83 _/vcpkg/vcpkg install liba[ipo,pkgconfig]:${{ matrix.triple }}-windows
84 _/vcpkg/vcpkg install liba[ipo,pkgconfig]:${{ matrix.triple }}-windows-static
85 - uses: actions/checkout@v4
86 if: ${{ matrix.arch == 'x64' }}
88 repository: emscripten-core/emsdk
91 if: ${{ matrix.arch == 'x64' }}
93 _/emsdk/emsdk install latest
94 _/emsdk/emsdk activate latest
96 pushd _/emsdk/upstream/emscripten
97 & $ENV:EMSDK_NODE.Replace('node.exe', 'npm') install
99 if: ${{ matrix.arch == 'x64' }}
101 CMAKE_TOOLCHAIN_FILE: cmake/UseClang.cmake
105 _/Scripts/Activate.ps1
106 _/emsdk/emsdk_env.ps1
108 cmake -S . -B build.llvm -G "Ninja Multi-Config" `
111 -DLIBA_JAVASCRIPT=1 `
112 -DLIBA_JAVASCRIPT_TSGEN=1 `
113 -DLIBA_JAVASCRIPT_BIGINT=1 `
118 if: ${{ matrix.arch == 'x64' }}
123 cmake --build build.llvm --config Debug --target package
125 if: ${{ matrix.arch == 'x64' }}
127 CTEST_OUTPUT_ON_FAILURE: 1
130 cmake --build build.llvm --config Debug --target test
132 if: ${{ matrix.arch == 'x64' }}
137 cmake --build build.llvm --config RelWithDebInfo --target package
139 if: ${{ matrix.arch == 'x64' }}
141 CTEST_OUTPUT_ON_FAILURE: 1
144 cmake --build build.llvm --config RelWithDebInfo --target test