diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d4d74163d..f0278b427 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -170,40 +170,45 @@ jobs: ./build/api-test windows-msvc: - runs-on: windows-latest + runs-on: ${{ matrix.config.os }} strategy: fail-fast: false matrix: - arch: [x64, Win32] - buildType: [Debug, Release] + config: + - { arch: x64, vsArch: x64, buildType: Debug, os: windows-latest } + - { arch: x64, vsArch: x64, buildType: Release, os: windows-latest } + - { arch: Win32, vsArch: x86, buildType: Debug, os: windows-latest } + - { arch: Win32, vsArch: x86, buildType: Release, os: windows-latest } + - { arch: ARM64, vsArch: arm64, buildType: Debug, os: windows-11-arm } + - { arch: ARM64, vsArch: arm64, buildType: Release, os: windows-11-arm } steps: - uses: actions/checkout@v4 - name: build run: | - cmake -B build -DQJS_BUILD_EXAMPLES=ON -G "Visual Studio 17 2022" -A ${{matrix.arch}} - cmake --build build --config ${{matrix.buildType}} + cmake -B build -DQJS_BUILD_EXAMPLES=ON -G "Visual Studio 17 2022" -A ${{matrix.config.arch}} + cmake --build build --config ${{matrix.config.buildType}} - name: stats run: | - build\${{matrix.buildType}}\qjs.exe -qd + build\${{matrix.config.buildType}}\qjs.exe -qd - name: test run: | - cp build\${{matrix.buildType}}\fib.dll examples\ - cp build\${{matrix.buildType}}\point.dll examples\ - build\${{matrix.buildType}}\qjs.exe examples\test_fib.js - build\${{matrix.buildType}}\qjs.exe examples\test_point.js - build\${{matrix.buildType}}\run-test262.exe -c tests.conf - build\${{matrix.buildType}}\function_source.exe + cp build\${{matrix.config.buildType}}\fib.dll examples\ + cp build\${{matrix.config.buildType}}\point.dll examples\ + build\${{matrix.config.buildType}}\qjs.exe examples\test_fib.js + build\${{matrix.config.buildType}}\qjs.exe examples\test_point.js + build\${{matrix.config.buildType}}\run-test262.exe -c tests.conf + build\${{matrix.config.buildType}}\function_source.exe - name: test standalone run: | - build\${{matrix.buildType}}\qjs.exe -c examples\hello.js -o hello.exe + build\${{matrix.config.buildType}}\qjs.exe -c examples\hello.js -o hello.exe .\hello.exe - name: test api run: | - build\${{matrix.buildType}}\api-test.exe + build\${{matrix.config.buildType}}\api-test.exe - name: Set up Visual Studio shell uses: egor-tensin/vs-shell@v2 with: - arch: ${{ matrix.arch == 'x64' && 'x64' || 'x86' }} + arch: ${{ matrix.config.vsArch }} - name: cxxtest run: | cl.exe /DJS_NAN_BOXING=0 /Zs cxxtest.cc