name: CI Workflow on: [push, pull_request] jobs: linux: runs-on: ubuntu-latest strategy: matrix: config: [debug, release] platform: [x64] steps: - name: Checkout uses: actions/checkout@v2 - name: Build run: make -f Bootstrap.mak linux PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} - name: Test run: bin/${{ matrix.config }}/premake5 test --test-all - name: Docs check run: bin/${{ matrix.config }}/premake5 docs-check - name: Upload Artifacts if: matrix.config == 'release' uses: actions/upload-artifact@v2 with: name: premake-linux-${{ matrix.platform }} path: bin/${{ matrix.config }}/ macosx: runs-on: macos-latest strategy: matrix: config: [debug, release] platform: [x64] steps: - name: Checkout uses: actions/checkout@v2 - name: Build run: make -f Bootstrap.mak macosx PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} - name: Test run: bin/${{ matrix.config }}/premake5 test --test-all - name: Docs check run: bin/${{ matrix.config }}/premake5 docs-check - name: Upload Artifacts if: matrix.config == 'release' uses: actions/upload-artifact@v2 with: name: premake-macosx-${{ matrix.platform }} path: bin/${{ matrix.config }}/ windows: runs-on: windows-latest strategy: matrix: config: [debug, release] platform: [Win32, x64] steps: - name: Checkout uses: actions/checkout@v2 - name: Build run: | call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64 nmake -f Bootstrap.mak MSDEV=vs2019 windows-msbuild PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} shell: cmd - name: Test run: bin\${{ matrix.config }}\premake5 test --test-all shell: cmd - name: Docs check run: bin\${{ matrix.config }}\premake5 docs-check shell: cmd - name: Upload Artifacts if: matrix.config == 'release' uses: actions/upload-artifact@v2 with: name: premake-windows-${{ matrix.platform }} path: bin\${{ matrix.config }}\