diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e9fdc3b13..58f82dc74 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -282,6 +282,10 @@ jobs: needs: [msvc, src] runs-on: windows-latest steps: + - name: 'Fetch .github/actions/setup-ninja/action.yml' + uses: actions/checkout@v4 + with: + sparse-checkout: '.github/actions/setup-ninja/action.yml' - name: 'Download source archives' uses: actions/download-artifact@v4 with: @@ -306,41 +310,90 @@ jobs: cd '${{ github.workspace }}/vc' unzip "${{ github.workspace }}/${{ needs.msvc.outputs.VC-devel }}" echo "path=${{ github.workspace }}/vc/${{ needs.src.outputs.project }}-${{ needs.src.outputs.version }}" >>$env:GITHUB_OUTPUT + - name: Set up ninja + uses: ./.github/actions/setup-ninja + - name: 'Configure vcvars x86' + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: x64_x86 - name: 'CMake (configure + build + tests) x86' run: | - $env:PATH += ";${{ steps.bin.outputs.path }}/x86" cmake -S "${{ steps.src.outputs.path }}/cmake/test" ` + -B build_x86 ` + -GNinja ` + -DCMAKE_BUILD_TYPE=Debug ` + -Werror=dev ` -DTEST_FULL=TRUE ` -DTEST_STATIC=FALSE ` + -DTEST_SHARED=TRUE ` -DTEST_TEST=TRUE ` - -DCMAKE_PREFIX_PATH="${{ steps.bin.outputs.path }}" ` - -Werror=dev ` - -B build_x86 -A win32 + -DCMAKE_SUPPRESS_REGENERATION=TRUE ` + -DCMAKE_PREFIX_PATH="${{ steps.bin.outputs.path }}" + Start-Sleep -Seconds 2 cmake --build build_x86 --config Release --verbose ctest --test-dir build_x86 --no-tests=error -C Release --output-on-failure + - name: 'Configure vcvars x64' + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: x64 - name: 'CMake (configure + build + tests) x64' run: | - $env:PATH += ";${{ steps.bin.outputs.path }}/x86" cmake -S "${{ steps.src.outputs.path }}/cmake/test" ` + -B build_x64 ` + -GNinja ` + -DCMAKE_BUILD_TYPE=Debug ` + -Werror=dev ` -DTEST_FULL=TRUE ` -DTEST_STATIC=FALSE ` + -DTEST_SHARED=TRUE ` -DTEST_TEST=TRUE ` - -DCMAKE_PREFIX_PATH="${{ steps.bin.outputs.path }}" ` - -Werror=dev ` - -B build_x64 -A x64 + -DCMAKE_SUPPRESS_REGENERATION=TRUE ` + -DCMAKE_PREFIX_PATH="${{ steps.bin.outputs.path }}" + Start-Sleep -Seconds 2 cmake --build build_x64 --config Release --verbose ctest --test-dir build_x64 --no-tests=error -C Release --output-on-failure + - name: 'Configure vcvars arm64' + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: x64_arm64 - name: 'CMake (configure + build) arm64' run: | - $env:PATH += ";${{ steps.bin.outputs.path }}/x86" cmake -S "${{ steps.src.outputs.path }}/cmake/test" ` + -B build_arm64 ` + -GNinja ` + -DCMAKE_BUILD_TYPE=Debug ` + -Werror=dev ` -DTEST_FULL=TRUE ` -DTEST_STATIC=FALSE ` + -DTEST_SHARED=TRUE ` -DTEST_TEST=TRUE ` - -DCMAKE_PREFIX_PATH="${{ steps.bin.outputs.path }}" ` - -Werror=dev ` - -B build_arm64 -A ARM64 + -DCMAKE_SUPPRESS_REGENERATION=TRUE ` + -DCMAKE_PREFIX_PATH="${{ steps.bin.outputs.path }}" + Start-Sleep -Seconds 2 cmake --build build_arm64 --config Release --verbose + - name: 'CMake (configure + build) arm64ec' + run: | + cmake -S "${{ steps.src.outputs.path }}/cmake/test" ` + -B build_arm64ec ` + -GNinja ` + -DCMAKE_BUILD_TYPE=Debug ` + -Werror=dev ` + -DTEST_FULL=TRUE ` + -DTEST_STATIC=FALSE ` + -DTEST_SHARED=TRUE ` + -DTEST_TEST=TRUE ` + -DSDL_DISABLE_AVX=TRUE ` + -DSDL_DISABLE_AVX2=TRUE ` + -DSDL_DISABLE_AVX512F=TRUE ` + -DCMAKE_SUPPRESS_REGENERATION=TRUE ` + -DCMAKE_C_FLAGS="/arm64EC" ` + -DCMAKE_CXX_FLAGS="/arm64EC" ` + -DCMAKE_EXE_LINKER_FLAGS="/MACHINE:ARM64EC" ` + -DCMAKE_SHARED_LINKER_FLAGS="/MACHINE:ARM64EC" ` + -DCMAKE_STATIC_LINKER_FLAGS="/MACHINE:ARM64EC" ` + -DCMAKE_PREFIX_PATH="${{ steps.bin.outputs.path }}" + Start-Sleep -Seconds 2 + cmake --build build_arm64ec --config Release --verbose mingw: needs: [src]