name: Build on: push: branches: - "*" pull_request: branches: - "*" types: [opened, synchronize, reopened] jobs: build: name: Build binaries runs-on: windows-2022 strategy: matrix: configuration: - Debug - Release steps: - name: Wait for previous workflows if: github.event_name == 'push' && github.ref == 'refs/heads/master' uses: softprops/turnstyle@v1 with: poll-interval-seconds: 10 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Check out files uses: actions/checkout@v3 with: submodules: true fetch-depth: 0 # NOTE - If LFS ever starts getting used during builds, switch this to true! lfs: false - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v1.1 - name: Generate project files run: tools/premake5 vs2022 - name: Set up problem matching uses: ammaraskar/msvc-problem-matcher@master - name: Build ${{matrix.configuration}} binaries run: msbuild /m /v:minimal /p:Configuration=${{matrix.configuration}} /p:Platform=Win32 build/open-iw5.sln - name: Upload ${{matrix.configuration}} binaries uses: actions/upload-artifact@v2 with: name: ${{matrix.configuration}} binaries path: | build/bin/Win32/${{matrix.configuration}}/open-iw5.exe build/bin/Win32/${{matrix.configuration}}/open-iw5.pdb