diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml new file mode 100644 index 0000000..543120d --- /dev/null +++ b/.forgejo/workflows/ci.yml @@ -0,0 +1,44 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + build-and-test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install .NET 8 + run: | + curl -sSL https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh + chmod +x dotnet-install.sh + ./dotnet-install.sh --channel 8.0 --install-dir $HOME/.dotnet + echo "$HOME/.dotnet" >> $GITHUB_PATH + echo "DOTNET_ROOT=$HOME/.dotnet" >> $GITHUB_ENV + + - name: Restore (Linux solution filter — excludes Windows-only WPF app) + run: dotnet restore TeamsISO.Linux.slnf + + - name: Build (Release, treat warnings as errors) + run: dotnet build TeamsISO.Linux.slnf --configuration Release --no-restore + + - name: Test (excluding requires=ndi) + run: > + dotnet test TeamsISO.Linux.slnf + --configuration Release + --no-build + --logger "trx;LogFileName=test-results.trx" + --collect:"XPlat Code Coverage" + --filter "Category!=ndi&requires!=ndi" + + - name: Upload test results + if: always() + uses: actions/upload-artifact@v4 + with: + name: test-results + path: '**/test-results.trx'