* lower gop size and keyframe interval * update changelog * fix build using latest dotnet sdk * fixes
119 lines
3.3 KiB
YAML
119 lines
3.3 KiB
YAML
name: Pull Request
|
|
on:
|
|
pull_request:
|
|
jobs:
|
|
build_and_analyze:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Get the sources
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
submodules: true
|
|
|
|
- name: Setup dotnet
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: '10.0.x'
|
|
|
|
- name: Clean
|
|
run: dotnet clean --configuration Release && dotnet nuget locals all --clear
|
|
|
|
- name: Install dependencies
|
|
run: dotnet restore
|
|
|
|
- name: Prep project file
|
|
run: sed -i '/Scanner/d' ErsatzTV/ErsatzTV.csproj
|
|
|
|
- name: Build
|
|
run: dotnet build --configuration Release --no-restore /p:EnableThreadingAnalyzers=true
|
|
build_and_test_windows:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Get the sources
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup dotnet
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: '10.0.x'
|
|
|
|
- name: Clean
|
|
run: dotnet clean --configuration Release && dotnet nuget locals all --clear
|
|
|
|
- name: Install dependencies
|
|
run: dotnet restore
|
|
|
|
- name: Prep project file
|
|
run: sed -i '/Scanner/d' ErsatzTV/ErsatzTV.csproj
|
|
|
|
- name: Build
|
|
run: dotnet build --configuration Release --no-restore
|
|
|
|
- name: Test
|
|
run: dotnet test --blame-hang-timeout "2m" --no-restore --verbosity normal
|
|
build_and_test_linux:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-latest
|
|
target: linux-x64
|
|
- os: ubuntu-latest
|
|
target: linux-musl-x64
|
|
- os: ubuntu-latest
|
|
target: linux-arm
|
|
- os: ubuntu-24.04-arm
|
|
target: linux-arm64
|
|
steps:
|
|
- name: Get the sources
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup dotnet
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: '10.0.x'
|
|
|
|
- name: Clean
|
|
run: dotnet clean --configuration Release && dotnet nuget locals all --clear
|
|
|
|
- name: Install dependencies
|
|
run: dotnet restore -p:RestoreEnablePackagePruning=true -r "${{ matrix.target }}"
|
|
|
|
- name: Prep project file
|
|
run: sed -i '/Scanner/d' ErsatzTV/ErsatzTV.csproj
|
|
|
|
- name: Build
|
|
run: dotnet build ErsatzTV/ErsatzTV.csproj --runtime "${{ matrix.target }}" --configuration Release --no-restore && dotnet build --configuration Release --no-restore
|
|
|
|
- name: Test
|
|
run: dotnet test --blame-hang-timeout "2m" --no-restore --verbosity normal
|
|
build_and_test_mac:
|
|
runs-on: macos-14
|
|
steps:
|
|
- name: Get the sources
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
submodules: true
|
|
|
|
- name: Setup dotnet
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: '10.0.x'
|
|
|
|
- name: Clean
|
|
run: dotnet clean --configuration Release && dotnet nuget locals all --clear
|
|
|
|
- name: Install dependencies
|
|
run: dotnet restore
|
|
|
|
- name: Prep project file
|
|
run: sed -i '' '/Scanner/d' ErsatzTV/ErsatzTV.csproj
|
|
|
|
- name: Build
|
|
run: dotnet build --configuration Release --no-restore
|
|
|
|
- name: Test
|
|
run: dotnet test --blame-hang-timeout "2m" --no-restore --verbosity normal
|