name: Build on: push: branches: - "*" pull_request: branches: - "*" types: [opened, synchronize, reopened] concurrency: group: ${{ github.ref }} cancel-in-progress: true jobs: build: name: Build runs-on: windows-2022 strategy: fail-fast: false matrix: configuration: - Debug - Release steps: - name: Check out files uses: actions/checkout@v3.3.0 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.3.1 - name: Generate project files run: tools/premake5 vs2022 --dev-build - name: Set up problem matching uses: ammaraskar/msvc-problem-matcher@master - name: Build ${{matrix.configuration}} run: msbuild /m /v:minimal /p:Configuration=${{matrix.configuration}} /p:Platform=x64 build/boiii.sln - name: Upload ${{matrix.configuration}} bundle uses: actions/upload-artifact@v3.1.2 with: name: ${{matrix.configuration}} Bundle path: | build/bin/x64/${{matrix.configuration}}/boiii.exe build/bin/x64/${{matrix.configuration}}/boiii.pdb - name: Upload ${{matrix.configuration}} binary if: matrix.configuration == 'Release' uses: actions/upload-artifact@v3.1.2 with: name: ${{matrix.configuration}} Binary path: | build/bin/x64/${{matrix.configuration}}/boiii.exe - name: Upload version if: matrix.configuration == 'Release' uses: actions/upload-artifact@v3.1.2 with: name: Version path: | build/version.txt