name: Pull Request on: pull_request: jobs: 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: 9.0.203 - 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 - name: Build Windows run: | cd ErsatzTV-Windows cargo build --release --all-features 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: 9.0.203 - 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: 9.0.203 - 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