diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000000..c770fccc2f3 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,47 @@ +on: [push, pull_request, workflow_dispatch] +name: Build and test main solution + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + analyzer-build: + name: Build solution with analyzers + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install .NET 8 + uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8" + + - name: Debug build with analyzers + run: dotnet build -p:RunAnalyzersDuringBuild=true -c Debug -warnaserror BizHawk.sln + + - name: Release build with analyzers + run: dotnet build -p:RunAnalyzersDuringBuild=true -c Release -warnaserror BizHawk.sln + + test: + name: Test + runs-on: ${{matrix.os.fullname}} + strategy: + fail-fast: false + matrix: + os: + - { prettyname: Windows, fullname: windows-latest } + - { prettyname: Linux, fullname: ubuntu-latest } + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install .NET 8 + uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8" + + - name: Test + run: dotnet test BizHawk.sln + shell: pwsh