name: Build on: push: branches: - "*" tags: - '[0-9]+.[0-9]+.[0-9]+' pull_request: branches: - "*" types: [opened, synchronize, reopened] concurrency: group: ${{ github.ref }} cancel-in-progress: true env: PREMAKE_VERSION: "5.0.0-beta2" jobs: build: name: Build binaries runs-on: windows-2022 strategy: matrix: configuration: - Debug - Release steps: - name: Check out files uses: actions/checkout@v3 with: submodules: true fetch-depth: 0 lfs: false - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v1.1.3 - name: Add premake5 to PATH uses: abel0b/setup-premake@v2.3 with: version: ${{ env.PREMAKE_VERSION }} - name: Generate project files run: 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:PlatformTarget=x86 build/t4sp-server-plugin.sln - name: Upload ${{matrix.configuration}} binaries uses: actions/upload-artifact@v3.1.0 with: name: ${{matrix.configuration}} binaries path: | build/bin/${{matrix.configuration}}/t4sp-server-plugin.dll deploy: name: Deploy release runs-on: ubuntu-latest needs: [ build ] if: github.event_name == 'push' && (github.ref == 'refs/heads/main') steps: - name: Check out files uses: actions/checkout@v3.5.3 - name: Download Binaries uses: actions/download-artifact@v3.0.2 with: name: Release binaries - name: Create Release uses: "marvinpinto/action-automatic-releases@latest" with: repo_token: "${{ secrets.GITHUB_TOKEN }}" automatic_release_tag: 'latest' prerelease: false draft: true files: | t4sp-server-plugin.dll