diff --git a/.github/workflows/artifacts.yml b/.github/workflows/artifacts.yml index 73db910b2..177d62ea5 100644 --- a/.github/workflows/artifacts.yml +++ b/.github/workflows/artifacts.yml @@ -57,7 +57,7 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@v4 with: - dotnet-version: '10.0.102' + dotnet-version: '10.0.x' - name: Clean run: dotnet clean --configuration Release && dotnet nuget locals all --clear @@ -172,7 +172,7 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@v4 with: - dotnet-version: '10.0.102' + dotnet-version: '10.0.x' - name: Clean run: dotnet clean --configuration Release && dotnet nuget locals all --clear @@ -229,7 +229,7 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@v4 with: - dotnet-version: '10.0.102' + dotnet-version: '10.0.x' - name: Clean run: dotnet clean --configuration Release && dotnet nuget locals all --clear diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 0ffbd14c1..259419b7f 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -14,7 +14,7 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@v4 with: - dotnet-version: '10.0.102' + dotnet-version: '10.0.x' - name: Clean run: dotnet clean --configuration Release && dotnet nuget locals all --clear @@ -36,7 +36,7 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@v4 with: - dotnet-version: '10.0.102' + dotnet-version: '10.0.x' - name: Clean run: dotnet clean --configuration Release && dotnet nuget locals all --clear @@ -72,7 +72,7 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@v4 with: - dotnet-version: '10.0.102' + dotnet-version: '10.0.x' - name: Clean run: dotnet clean --configuration Release && dotnet nuget locals all --clear @@ -100,7 +100,7 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@v4 with: - dotnet-version: '10.0.102' + dotnet-version: '10.0.x' - name: Clean run: dotnet clean --configuration Release && dotnet nuget locals all --clear diff --git a/ErsatzTV.Application/ErsatzTV.Application.csproj b/ErsatzTV.Application/ErsatzTV.Application.csproj index fea5a50c3..2d23bfa0e 100644 --- a/ErsatzTV.Application/ErsatzTV.Application.csproj +++ b/ErsatzTV.Application/ErsatzTV.Application.csproj @@ -2,7 +2,7 @@ net10.0 - VSTHRD200 + VSTHRD200,CA1873 enable latest-Recommended true diff --git a/ErsatzTV.Application/Streaming/Queries/GetPlayoutItemProcessByChannelNumberHandler.cs b/ErsatzTV.Application/Streaming/Queries/GetPlayoutItemProcessByChannelNumberHandler.cs index ff89d948b..b41375354 100644 --- a/ErsatzTV.Application/Streaming/Queries/GetPlayoutItemProcessByChannelNumberHandler.cs +++ b/ErsatzTV.Application/Streaming/Queries/GetPlayoutItemProcessByChannelNumberHandler.cs @@ -498,7 +498,7 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler< Option maybeDuration = maybeNextStart.Map(s => s - now); // limit working ahead on errors to 1 minute - if (!request.HlsRealtime && maybeDuration.IfNone(TimeSpan.FromMinutes(2)) > TimeSpan.FromMinutes(1)) + if (!request.HlsRealtime && await maybeDuration.IfNoneAsync(TimeSpan.FromMinutes(2)) > TimeSpan.FromMinutes(1)) { maybeNextStart = now.AddMinutes(1); maybeDuration = TimeSpan.FromMinutes(1); @@ -766,7 +766,7 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler< .ToListAsync(cancellationToken); // always play min(duration to next item, version.Duration) - TimeSpan duration = maybeDuration.IfNone(version.Duration); + TimeSpan duration = await maybeDuration.IfNoneAsync(version.Duration); if (version.Duration < duration) { duration = version.Duration; diff --git a/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj b/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj index 31a67fb78..23f6cc585 100644 --- a/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj +++ b/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj @@ -2,7 +2,7 @@ net10.0 - VSTHRD200 + VSTHRD200,CA1873 enable diff --git a/ErsatzTV.Core/ErsatzTV.Core.csproj b/ErsatzTV.Core/ErsatzTV.Core.csproj index 475fcd531..e02bc5382 100644 --- a/ErsatzTV.Core/ErsatzTV.Core.csproj +++ b/ErsatzTV.Core/ErsatzTV.Core.csproj @@ -2,7 +2,7 @@ net10.0 - VSTHRD200 + VSTHRD200,CA1873 enable latest-Recommended true diff --git a/ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs b/ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs index 7abbf7747..606b82c2a 100644 --- a/ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs +++ b/ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs @@ -893,7 +893,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService playbackSettings.NormalizeColors, playbackSettings.Deinterlace); - var frameRate = playbackSettings.FrameRate.IfNone(new FrameRate("24")); + var frameRate = await playbackSettings.FrameRate.IfNoneAsync(new FrameRate("24")); var ffmpegVideoStream = new VideoStream( 0, diff --git a/ErsatzTV.FFmpeg/ErsatzTV.FFmpeg.csproj b/ErsatzTV.FFmpeg/ErsatzTV.FFmpeg.csproj index 8605f656f..068391dc3 100644 --- a/ErsatzTV.FFmpeg/ErsatzTV.FFmpeg.csproj +++ b/ErsatzTV.FFmpeg/ErsatzTV.FFmpeg.csproj @@ -7,7 +7,7 @@ latest-Recommended true true - VSTHRD200 + VSTHRD200,CA1873 diff --git a/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj b/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj index 8302df518..6e9575e54 100644 --- a/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj +++ b/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj @@ -4,7 +4,7 @@ net10.0 enable enable - VSTHRD200 + VSTHRD200,CA1873 false diff --git a/ErsatzTV.Infrastructure/Data/DbInitializer.cs b/ErsatzTV.Infrastructure/Data/DbInitializer.cs index b0d2add93..3ee194d9d 100644 --- a/ErsatzTV.Infrastructure/Data/DbInitializer.cs +++ b/ErsatzTV.Infrastructure/Data/DbInitializer.cs @@ -48,25 +48,22 @@ public static class DbInitializer if (resource != null) { using var reader = new StreamReader(resource); - while (!reader.EndOfStream) + string line; + while ((line = await reader.ReadLineAsync(cancellationToken)) is not null) { - string line = await reader.ReadLineAsync(cancellationToken); - if (line != null) + string[] split = line.Split("|"); + if (split.Length == 5) { - string[] split = line.Split("|"); - if (split.Length == 5) + var languageCode = new LanguageCode { - var languageCode = new LanguageCode - { - ThreeCode1 = split[0], - ThreeCode2 = split[1], - TwoCode = split[2], - EnglishName = split[3], - FrenchName = split[4] - }; + ThreeCode1 = split[0], + ThreeCode2 = split[1], + TwoCode = split[2], + EnglishName = split[3], + FrenchName = split[4] + }; - await context.LanguageCodes.AddAsync(languageCode, cancellationToken); - } + await context.LanguageCodes.AddAsync(languageCode, cancellationToken); } } } diff --git a/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj b/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj index 894748db6..eead7978f 100644 --- a/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj +++ b/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj @@ -3,7 +3,7 @@ net10.0 true - VSTHRD200 + VSTHRD200,CA1873 enable latest-Recommended true diff --git a/ErsatzTV.Infrastructure/Metadata/LanguageCodeCache.cs b/ErsatzTV.Infrastructure/Metadata/LanguageCodeCache.cs index 0d80a6355..32046c0a5 100644 --- a/ErsatzTV.Infrastructure/Metadata/LanguageCodeCache.cs +++ b/ErsatzTV.Infrastructure/Metadata/LanguageCodeCache.cs @@ -21,9 +21,9 @@ public class LanguageCodeCache : ILanguageCodeCache if (resource != null) { using var reader = new StreamReader(resource); - while (!reader.EndOfStream) + string line; + while ((line = await reader.ReadLineAsync(cancellationToken)) is not null) { - string line = await reader.ReadLineAsync(cancellationToken); if (string.IsNullOrWhiteSpace(line)) { continue; diff --git a/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj b/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj index a0fcd2ddb..2ceee7724 100644 --- a/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj +++ b/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj @@ -4,7 +4,7 @@ net10.0 enable enable - + VSTHRD200,CA1873 false diff --git a/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj b/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj index 43a4a0862..626120a71 100644 --- a/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj +++ b/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj @@ -10,6 +10,7 @@ 729e6271-c307-43c8-8e36-1b36c39f6de2 latest-Recommended true + VSTHRD200,CA1873 diff --git a/ErsatzTV/ErsatzTV.csproj b/ErsatzTV/ErsatzTV.csproj index d13c75219..8cf704294 100644 --- a/ErsatzTV/ErsatzTV.csproj +++ b/ErsatzTV/ErsatzTV.csproj @@ -6,7 +6,7 @@ Latest false enable - VSTHRD200 + VSTHRD200,CA1873 true Debug;Release;Debug No Sync AnyCPU diff --git a/docker/Dockerfile b/docker/Dockerfile index fcb2d94ac..25412bd86 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -9,7 +9,7 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* # https://hub.docker.com/_/microsoft-dotnet -FROM mcr.microsoft.com/dotnet/sdk:10.0.102-noble-amd64 AS build +FROM mcr.microsoft.com/dotnet/sdk:10.0-noble-amd64 AS build RUN apt-get update && apt-get install -y ca-certificates gnupg default-jre-headless python3-pip WORKDIR /source diff --git a/docker/arm32v7/Dockerfile b/docker/arm32v7/Dockerfile index 9d95d9a9b..546cd8717 100644 --- a/docker/arm32v7/Dockerfile +++ b/docker/arm32v7/Dockerfile @@ -4,7 +4,7 @@ FROM --platform=linux/arm/v7 ghcr.io/ersatztv/ersatztv-ffmpeg:7.1.1 AS runtime-b COPY --from=dotnet-runtime /usr/share/dotnet /usr/share/dotnet # https://hub.docker.com/_/microsoft-dotnet -FROM mcr.microsoft.com/dotnet/sdk:10.0.102-noble-amd64 AS build +FROM mcr.microsoft.com/dotnet/sdk:10.0-noble-amd64 AS build RUN apt-get update && apt-get install -y ca-certificates gnupg WORKDIR /source diff --git a/docker/arm64/Dockerfile b/docker/arm64/Dockerfile index c97c2568a..3e122386a 100644 --- a/docker/arm64/Dockerfile +++ b/docker/arm64/Dockerfile @@ -4,7 +4,7 @@ FROM --platform=linux/arm64 ghcr.io/ersatztv/ersatztv-ffmpeg:7.1.1 AS runtime-ba COPY --from=dotnet-runtime /usr/share/dotnet /usr/share/dotnet # https://hub.docker.com/_/microsoft-dotnet -FROM mcr.microsoft.com/dotnet/sdk:10.0.102-noble-arm64v8 AS build +FROM mcr.microsoft.com/dotnet/sdk:10.0-noble-arm64v8 AS build RUN apt-get update && apt-get install -y ca-certificates gnupg WORKDIR /source