44 lines
1.3 KiB
YAML
44 lines
1.3 KiB
YAML
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'
|