name: Alternative Build Systems on: push: branches: [devel] pull_request: permissions: contents: read jobs: xmake: name: Xmake on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [windows-2025-vs2026, ubuntu-26.04] steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 with: persist-credentials: false - uses: xmake-io/github-action-setup-xmake@3a1a5dddfc7fa625d9a698738334bf55655a861a # v1 with: xmake-version: '3.1.1' - name: Configure Clang build run: xmake f --toolchain=${{ runner.os == 'Windows' && 'clang-cl' || 'clang' }} -m debug -y - name: Build run: xmake -j 4 - name: Run property tests run: xmake run ProgmasoftPropertyTests premake: name: Premake on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [windows-2022, ubuntu-26.04] steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 with: persist-credentials: false - uses: abel0b/setup-premake@b80dc6f70e8ab159fb854bdadbeb1a53cfc28723 # v2.4 with: version: '5.0.0-beta7' - uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3 if: runner.os == 'Windows' with: msbuild-architecture: x64 - name: Generate and build Visual Studio projects if: runner.os == 'Windows' shell: pwsh run: | premake5 vs2022 msbuild build/premake/Catch3.sln /m /p:Configuration=Debug /p:Platform=x64 /nologo - name: Run property tests on Windows if: runner.os == 'Windows' run: build/premake/bin/Debug/ProgmasoftPropertyTests.exe - name: Generate and build Clang Makefiles if: runner.os == 'Linux' run: | premake5 gmake --cc=clang make -C build/premake config=debug -j 4 - name: Run property tests on Linux if: runner.os == 'Linux' run: build/premake/bin/Debug/ProgmasoftPropertyTests