From ea2ca7365e1283c62d997f0d2d6b950f5acbcc6a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 15 Feb 2025 22:34:56 +0000 Subject: [PATCH 01/10] Bump the nuget group across 1 directory with 14 updates Bumps the nuget group with 14 updates in the /GitHubIssueFormsParser directory: | Package | From | To | | --- | --- | --- | | [Meziantou.Analyzer](https://github.com/meziantou/Meziantou.Analyzer) | `2.0.172` | `2.0.187` | | [Microsoft.VisualStudio.Threading.Analyzers](https://github.com/microsoft/vs-threading) | `17.11.20` | `17.13.2` | | [Roslynator.Analyzers](https://github.com/dotnet/roslynator) | `4.12.8` | `4.13.0` | | [Roslynator.CodeAnalysis.Analyzers](https://github.com/dotnet/roslynator) | `4.12.8` | `4.13.0` | | [Roslynator.Formatting.Analyzers](https://github.com/dotnet/roslynator) | `4.12.8` | `4.13.0` | | [YamlDotNet](https://github.com/aaubry/YamlDotNet) | `16.1.3` | `16.3.0` | | [coverlet.collector](https://github.com/coverlet-coverage/coverlet) | `6.0.2` | `6.0.4` | | [coverlet.msbuild](https://github.com/coverlet-coverage/coverlet) | `6.0.2` | `6.0.4` | | [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) | `17.11.1` | `17.13.0` | | [NSubstitute](https://github.com/nsubstitute/NSubstitute) | `5.1.0` | `5.3.0` | | [Shouldly](https://github.com/shouldly/shouldly) | `4.2.1` | `4.3.0` | | [xunit](https://github.com/xunit/xunit) | `2.9.2` | `2.9.3` | | [xunit.analyzers](https://github.com/xunit/xunit.analyzers) | `1.16.0` | `1.18.0` | | [xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit) | `2.8.2` | `3.0.2` | Updates `Meziantou.Analyzer` from 2.0.172 to 2.0.187 - [Release notes](https://github.com/meziantou/Meziantou.Analyzer/releases) - [Commits](https://github.com/meziantou/Meziantou.Analyzer/compare/2.0.172...2.0.187) Updates `Microsoft.VisualStudio.Threading.Analyzers` from 17.11.20 to 17.13.2 - [Release notes](https://github.com/microsoft/vs-threading/releases) - [Commits](https://github.com/microsoft/vs-threading/compare/v17.11.20...v17.13.2) Updates `Roslynator.Analyzers` from 4.12.8 to 4.13.0 - [Release notes](https://github.com/dotnet/roslynator/releases) - [Changelog](https://github.com/dotnet/roslynator/blob/main/ChangeLog.md) - [Commits](https://github.com/dotnet/roslynator/compare/v4.12.8...v4.13.0) Updates `Roslynator.CodeAnalysis.Analyzers` from 4.12.8 to 4.13.0 - [Release notes](https://github.com/dotnet/roslynator/releases) - [Changelog](https://github.com/dotnet/roslynator/blob/main/ChangeLog.md) - [Commits](https://github.com/dotnet/roslynator/compare/v4.12.8...v4.13.0) Updates `Roslynator.Formatting.Analyzers` from 4.12.8 to 4.13.0 - [Release notes](https://github.com/dotnet/roslynator/releases) - [Changelog](https://github.com/dotnet/roslynator/blob/main/ChangeLog.md) - [Commits](https://github.com/dotnet/roslynator/compare/v4.12.8...v4.13.0) Updates `YamlDotNet` from 16.1.3 to 16.3.0 - [Release notes](https://github.com/aaubry/YamlDotNet/releases) - [Commits](https://github.com/aaubry/YamlDotNet/compare/v16.1.3...v16.3.0) Updates `coverlet.collector` from 6.0.2 to 6.0.4 - [Release notes](https://github.com/coverlet-coverage/coverlet/releases) - [Commits](https://github.com/coverlet-coverage/coverlet/compare/v6.0.2...v6.0.4) Updates `coverlet.msbuild` from 6.0.2 to 6.0.4 - [Release notes](https://github.com/coverlet-coverage/coverlet/releases) - [Commits](https://github.com/coverlet-coverage/coverlet/compare/v6.0.2...v6.0.4) Updates `Microsoft.NET.Test.Sdk` from 17.11.1 to 17.13.0 - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](https://github.com/microsoft/vstest/compare/v17.11.1...v17.13.0) Updates `NSubstitute` from 5.1.0 to 5.3.0 - [Release notes](https://github.com/nsubstitute/NSubstitute/releases) - [Changelog](https://github.com/nsubstitute/NSubstitute/blob/main/CHANGELOG.md) - [Commits](https://github.com/nsubstitute/NSubstitute/compare/v5.1.0...v5.3.0) Updates `Shouldly` from 4.2.1 to 4.3.0 - [Release notes](https://github.com/shouldly/shouldly/releases) - [Changelog](https://github.com/shouldly/shouldly/blob/master/BREAKING%20CHANGES.txt) - [Commits](https://github.com/shouldly/shouldly/compare/4.2.1...4.3.0) Updates `xunit` from 2.9.2 to 2.9.3 - [Commits](https://github.com/xunit/xunit/compare/v2-2.9.2...v2-2.9.3) Updates `xunit.analyzers` from 1.16.0 to 1.18.0 - [Commits](https://github.com/xunit/xunit.analyzers/compare/1.16.0...1.18.0) Updates `xunit.runner.visualstudio` from 2.8.2 to 3.0.2 - [Release notes](https://github.com/xunit/visualstudio.xunit/releases) - [Commits](https://github.com/xunit/visualstudio.xunit/compare/2.8.2...3.0.2) --- updated-dependencies: - dependency-name: Meziantou.Analyzer dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget - dependency-name: Microsoft.VisualStudio.Threading.Analyzers dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget - dependency-name: Roslynator.Analyzers dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget - dependency-name: Roslynator.CodeAnalysis.Analyzers dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget - dependency-name: Roslynator.Formatting.Analyzers dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget - dependency-name: YamlDotNet dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget - dependency-name: coverlet.collector dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget - dependency-name: coverlet.msbuild dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget - dependency-name: NSubstitute dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget - dependency-name: Shouldly dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget - dependency-name: xunit dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget - dependency-name: xunit.analyzers dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget - dependency-name: xunit.runner.visualstudio dependency-type: direct:production update-type: version-update:semver-major dependency-group: nuget ... Signed-off-by: dependabot[bot] --- GitHubIssueFormsParser/Directory.Build.props | 18 +++++++++--------- .../GitHubIssuesParserCli.csproj | 2 +- .../GitHubIssuesParserCli.Tests.csproj | 8 ++++---- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/GitHubIssueFormsParser/Directory.Build.props b/GitHubIssueFormsParser/Directory.Build.props index bbb89c0..7cc153a 100644 --- a/GitHubIssueFormsParser/Directory.Build.props +++ b/GitHubIssueFormsParser/Directory.Build.props @@ -41,23 +41,23 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -68,13 +68,13 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + diff --git a/GitHubIssueFormsParser/src/GitHubIssuesParserCli/GitHubIssuesParserCli.csproj b/GitHubIssueFormsParser/src/GitHubIssuesParserCli/GitHubIssuesParserCli.csproj index 081e3aa..5b020a4 100644 --- a/GitHubIssueFormsParser/src/GitHubIssuesParserCli/GitHubIssuesParserCli.csproj +++ b/GitHubIssueFormsParser/src/GitHubIssuesParserCli/GitHubIssuesParserCli.csproj @@ -8,7 +8,7 @@ - + diff --git a/GitHubIssueFormsParser/tests/GitHubIssuesParserCli.Tests/GitHubIssuesParserCli.Tests.csproj b/GitHubIssueFormsParser/tests/GitHubIssuesParserCli.Tests/GitHubIssuesParserCli.Tests.csproj index d28cc70..29ea597 100644 --- a/GitHubIssueFormsParser/tests/GitHubIssuesParserCli.Tests/GitHubIssuesParserCli.Tests.csproj +++ b/GitHubIssueFormsParser/tests/GitHubIssuesParserCli.Tests/GitHubIssuesParserCli.Tests.csproj @@ -7,13 +7,13 @@ - - - + + + runtime; build; native; contentfiles; analyzers; buildtransitive all - + runtime; build; native; contentfiles; analyzers; buildtransitive all From ed6408a805b9337724d34d94a85c41fca713caf9 Mon Sep 17 00:00:00 2001 From: Eduardo Serrano Date: Sun, 25 May 2025 10:28:56 +0100 Subject: [PATCH 02/10] Migrates solution to .slnx format Updates the solution file format from .sln to .slnx for improved structure and performance. Updates the .gitattributes, build workflow, and documentation to reflect the new solution file extension. Additionally, the .editorconfig file is updated to correctly recognize both solution file extensions. --- .gitattributes | 3 +- .github/workflows/build-test.yml | 2 +- GitHubIssueFormsParser/.editorconfig | 2 +- .../GitHubIssueFormsParser.sln | 39 ------------------- .../GitHubIssueFormsParser.slnx | 8 ++++ docs/dev-notes/README.md | 8 ++-- 6 files changed, 16 insertions(+), 46 deletions(-) delete mode 100644 GitHubIssueFormsParser/GitHubIssueFormsParser.sln create mode 100644 GitHubIssueFormsParser/GitHubIssueFormsParser.slnx diff --git a/.gitattributes b/.gitattributes index 56941f8..7da945c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -13,4 +13,5 @@ *.cs text=auto diff=csharp *.csproj text=auto -*.sln text=auto eol=crlf \ No newline at end of file +*.sln text=auto eol=crlf +*.slnx text=auto eol=crlf \ No newline at end of file diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 594890a..25c6b17 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -27,7 +27,7 @@ jobs: runs-on: ${{ matrix.os }} env: SLN_DIR: GitHubIssueFormsParser - SLN_FILENAME: GitHubIssueFormsParser.sln + SLN_FILENAME: GitHubIssueFormsParser.slnx TEST_RESULTS_ARTIFACT_NAME: test-results CODE_COVERAGE_ARTIFACT_NAME: code-coverage-report steps: diff --git a/GitHubIssueFormsParser/.editorconfig b/GitHubIssueFormsParser/.editorconfig index ead2921..cb6f148 100644 --- a/GitHubIssueFormsParser/.editorconfig +++ b/GitHubIssueFormsParser/.editorconfig @@ -26,7 +26,7 @@ trim_trailing_whitespace = true ########################################## # Visual Studio Solution Files -[*.sln] +[*.{sln,slnx}] indent_style = tab # Visual Studio XML Project Files diff --git a/GitHubIssueFormsParser/GitHubIssueFormsParser.sln b/GitHubIssueFormsParser/GitHubIssueFormsParser.sln deleted file mode 100644 index dd185bb..0000000 --- a/GitHubIssueFormsParser/GitHubIssueFormsParser.sln +++ /dev/null @@ -1,39 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.32014.148 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C68997ED-6F39-4CE0-B525-F49D26EEF6F1}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{EB24C11E-ADD7-46F1-B96F-76CD399083F9}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GitHubIssuesParserCli", "src\GitHubIssuesParserCli\GitHubIssuesParserCli.csproj", "{F88B6DE9-79FA-4E66-89CB-7A1103E4068C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitHubIssuesParserCli.Tests", "tests\GitHubIssuesParserCli.Tests\GitHubIssuesParserCli.Tests.csproj", "{DDD862B1-0716-46B8-88EC-7C8250B8F27B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {F88B6DE9-79FA-4E66-89CB-7A1103E4068C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F88B6DE9-79FA-4E66-89CB-7A1103E4068C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F88B6DE9-79FA-4E66-89CB-7A1103E4068C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F88B6DE9-79FA-4E66-89CB-7A1103E4068C}.Release|Any CPU.Build.0 = Release|Any CPU - {DDD862B1-0716-46B8-88EC-7C8250B8F27B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DDD862B1-0716-46B8-88EC-7C8250B8F27B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DDD862B1-0716-46B8-88EC-7C8250B8F27B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DDD862B1-0716-46B8-88EC-7C8250B8F27B}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {F88B6DE9-79FA-4E66-89CB-7A1103E4068C} = {C68997ED-6F39-4CE0-B525-F49D26EEF6F1} - {DDD862B1-0716-46B8-88EC-7C8250B8F27B} = {EB24C11E-ADD7-46F1-B96F-76CD399083F9} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {E25122DA-2DCA-4C8B-B972-036AB2707577} - EndGlobalSection -EndGlobal diff --git a/GitHubIssueFormsParser/GitHubIssueFormsParser.slnx b/GitHubIssueFormsParser/GitHubIssueFormsParser.slnx new file mode 100644 index 0000000..6f3cd01 --- /dev/null +++ b/GitHubIssueFormsParser/GitHubIssueFormsParser.slnx @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev-notes/README.md b/docs/dev-notes/README.md index d0cb07d..4418684 100644 --- a/docs/dev-notes/README.md +++ b/docs/dev-notes/README.md @@ -22,19 +22,19 @@ ### Building with Visual Studio -1) Clone the repo and open the **GitHubIssueFormsParser.sln** solution file at `/GitHubIssueFormsParser`. +1) Clone the repo and open the **GitHubIssueFormsParser.slnx** solution file at `/GitHubIssueFormsParser`. 2) Press build on Visual Studio. ### Building with dotnet CLI 1) Clone the repo and browse to the solution's directory at `/GitHubIssueFormsParser` using your favorite shell. -2) Run **`dotnet build GitHubIssueFormsParser.sln`** to build the source of the CLI app. +2) Run **`dotnet build GitHubIssueFormsParser.slnx`** to build the source of the CLI app. ## Running GitHubIssueFormsParser solution tests ### Run tests with Visual Studio -1) Clone the repo and open the **GitHubIssueFormsParser.sln** solution file at `/GitHubIssueFormsParser`. +1) Clone the repo and open the **GitHubIssueFormsParser.slnx** solution file at `/GitHubIssueFormsParser`. 2) Go to the test explorer in Visual Studio and run tests. **Note:** [Remote testing](https://docs.microsoft.com/en-us/visualstudio/test/remote-testing?view=vs-2022) with is configured on the solution which enables you to run the tests locally on Linux or on Windows. You can view the configuration file at [testenvironments.json](/GitHubIssueFormsParser/testenvironments.json). To run the tests on Linux you need to have at least `Visual Studio 2022` and: @@ -45,7 +45,7 @@ ### Run tests with dotnet CLI 1) Clone the repo and browse to the solution's directory at `/GitHubIssueFormsParser` using your favorite shell. -2) Run **`dotnet test GitHubIssueFormsParser.sln`** to run tests. +2) Run **`dotnet test GitHubIssueFormsParser.slnx`** to run tests. ## Debugging the `GitHubIssuesParserCli` project using Visual Studio From 642b36d89c9e4310421473c3c22ed281a564aa7f Mon Sep 17 00:00:00 2001 From: Eduardo Serrano Date: Sun, 25 May 2025 10:37:40 +0100 Subject: [PATCH 03/10] Uses central package management Migrates to central package management for managing package versions. Removes version attributes from package references in project files. Adds Directory.Packages.props to define package versions centrally. Updates the target framework to net9.0. --- GitHubIssueFormsParser/Directory.Build.props | 26 ++++++++--------- .../Directory.Packages.props | 28 +++++++++++++++++++ .../GitHubIssuesParserCli.csproj | 8 +++--- .../GitHubIssuesParserCli.Tests.csproj | 10 +++---- 4 files changed, 50 insertions(+), 22 deletions(-) create mode 100644 GitHubIssueFormsParser/Directory.Packages.props diff --git a/GitHubIssueFormsParser/Directory.Build.props b/GitHubIssueFormsParser/Directory.Build.props index 7cc153a..e4adfcc 100644 --- a/GitHubIssueFormsParser/Directory.Build.props +++ b/GitHubIssueFormsParser/Directory.Build.props @@ -41,43 +41,43 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - + + + + + + diff --git a/GitHubIssueFormsParser/Directory.Packages.props b/GitHubIssueFormsParser/Directory.Packages.props new file mode 100644 index 0000000..5c794a8 --- /dev/null +++ b/GitHubIssueFormsParser/Directory.Packages.props @@ -0,0 +1,28 @@ + + + + true + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GitHubIssueFormsParser/src/GitHubIssuesParserCli/GitHubIssuesParserCli.csproj b/GitHubIssueFormsParser/src/GitHubIssuesParserCli/GitHubIssuesParserCli.csproj index 5b020a4..2a3fa61 100644 --- a/GitHubIssueFormsParser/src/GitHubIssuesParserCli/GitHubIssuesParserCli.csproj +++ b/GitHubIssueFormsParser/src/GitHubIssuesParserCli/GitHubIssuesParserCli.csproj @@ -2,13 +2,13 @@ Exe - net8.0 + net9.0 - - - + + + diff --git a/GitHubIssueFormsParser/tests/GitHubIssuesParserCli.Tests/GitHubIssuesParserCli.Tests.csproj b/GitHubIssueFormsParser/tests/GitHubIssuesParserCli.Tests/GitHubIssuesParserCli.Tests.csproj index 29ea597..208cbc1 100644 --- a/GitHubIssueFormsParser/tests/GitHubIssuesParserCli.Tests/GitHubIssuesParserCli.Tests.csproj +++ b/GitHubIssueFormsParser/tests/GitHubIssuesParserCli.Tests/GitHubIssuesParserCli.Tests.csproj @@ -1,19 +1,19 @@ - net8.0 + net9.0 false true - - - + + + runtime; build; native; contentfiles; analyzers; buildtransitive all - + runtime; build; native; contentfiles; analyzers; buildtransitive all From 1b2cf8f5de308cbbf6b3dcbdf06be468dc43b6bf Mon Sep 17 00:00:00 2001 From: Eduardo Serrano Date: Sun, 25 May 2025 10:39:44 +0100 Subject: [PATCH 04/10] Fix global.json Updates the .NET SDK version to 9.0.300 and sets rollForward to latestMinor. This ensures the project uses the latest minor version of the specified SDK. --- GitHubIssueFormsParser/global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GitHubIssueFormsParser/global.json b/GitHubIssueFormsParser/global.json index 1a11256..7062528 100644 --- a/GitHubIssueFormsParser/global.json +++ b/GitHubIssueFormsParser/global.json @@ -1,7 +1,7 @@ { "sdk": { - "version": "8.0.x", - "rollForward": "disable", + "version": "9.0.300", + "rollForward": "latestMinor", "allowPrerelease": false } } From 768dfa96593340a0c07609a1ef41bb29a0097392 Mon Sep 17 00:00:00 2001 From: Eduardo Serrano Date: Sun, 25 May 2025 10:41:03 +0100 Subject: [PATCH 05/10] Updates Dockerfiles to use .NET 9 Updates the base and build Docker images to use .NET 9.0. This ensures the application is built and run with the latest .NET runtime and SDK. --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4ba9d8f..722b28f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ # See https://hub.docker.com/_/microsoft-dotnet-runtime/ for list of tags for dotnet runtime # See https://hub.docker.com/_/microsoft-dotnet-sdk for list of tags for dotnet sdk -FROM mcr.microsoft.com/dotnet/runtime:8.0-alpine AS base +FROM mcr.microsoft.com/dotnet/runtime:9.0-alpine AS base # install powershell as per https://docs.microsoft.com/en-us/powershell/scripting/install/install-alpine # the official docs install libssl1.1 but that started to fail and I tried ussing libssl3 which seems to work ARG PWSH_VERSION=7.4.1 @@ -28,7 +28,7 @@ RUN chmod +x /opt/microsoft/powershell/7/pwsh RUN ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh # end of install powershell -FROM mcr.microsoft.com/dotnet/sdk:8.0-alpine AS build +FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build WORKDIR /github-issue-forms-parser COPY ["GitHubIssueFormsParser/NuGet.Config", "GitHubIssueFormsParser/"] COPY ["GitHubIssueFormsParser/src/GitHubIssuesParserCli/GitHubIssuesParserCli.csproj", "GitHubIssueFormsParser/src/GitHubIssuesParserCli/"] From 2e743fbbbe629467a92b20ad002eb443d97a5adf Mon Sep 17 00:00:00 2001 From: Eduardo Serrano Date: Sun, 25 May 2025 10:46:23 +0100 Subject: [PATCH 06/10] Updates package versions Updates various NuGet package versions to pick up latest features and fixes. Also, configures xunit.analyzers to be private and included as assets. --- GitHubIssueFormsParser/Directory.Build.props | 5 ++++- .../Directory.Packages.props | 20 +++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/GitHubIssueFormsParser/Directory.Build.props b/GitHubIssueFormsParser/Directory.Build.props index e4adfcc..ff89587 100644 --- a/GitHubIssueFormsParser/Directory.Build.props +++ b/GitHubIssueFormsParser/Directory.Build.props @@ -74,7 +74,10 @@ - + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/GitHubIssueFormsParser/Directory.Packages.props b/GitHubIssueFormsParser/Directory.Packages.props index 5c794a8..186e944 100644 --- a/GitHubIssueFormsParser/Directory.Packages.props +++ b/GitHubIssueFormsParser/Directory.Packages.props @@ -4,25 +4,25 @@ true - + - + - + - - - - - + + + + + - + - + \ No newline at end of file From cbe3e04775da3dfc967be954597b027b60e367ce Mon Sep 17 00:00:00 2001 From: Eduardo Serrano Date: Sun, 25 May 2025 10:54:15 +0100 Subject: [PATCH 07/10] Disables specific Roslyn and Meziantou analyzers Disables CA1515 due to numerous open issues and false positives. Disables MA0165 as it suggests changes that are not always desirable. Also, simplifies the creation of checkbox options using collection expressions for conciseness. --- GitHubIssueFormsParser/.editorconfig | 2 ++ .../IssueFormItems/Checkboxes/IssueFormCheckBoxesText.cs | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/GitHubIssueFormsParser/.editorconfig b/GitHubIssueFormsParser/.editorconfig index cb6f148..6454f02 100644 --- a/GitHubIssueFormsParser/.editorconfig +++ b/GitHubIssueFormsParser/.editorconfig @@ -96,6 +96,7 @@ dotnet_diagnostic.CA1303.severity = none # CA1303: Do not pass literals a dotnet_diagnostic.CA1308.severity = none # CA1308: Normalize strings to uppercase # Maintainability rules https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/maintainability-warnings dotnet_diagnostic.CA1508.severity = none # CA1508: Avoid dead conditional code # This one seems to flag false positives in some cases +dotnet_diagnostic.CA1515.severity = none # CA1515: Consider making public types internal # As of writing this there are several open issues about this rule but this one seems to sum the problem https://github.com/dotnet/roslyn-analyzers/issues/7192. Other issues: https://github.com/dotnet/roslyn-analyzers/issues?q=ca1515 # Naming rules https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/naming-warnings dotnet_diagnostic.CA1711.severity = none # CA1711: Identifiers should not have incorrect suffix # Reliability rules https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/reliability-warnings @@ -399,6 +400,7 @@ dotnet_diagnostic.MA0032.severity = warning # MA0032 Use an overload with a Canc dotnet_diagnostic.MA0048.severity = none # MA0048 File name must match type name dotnet_diagnostic.MA0076.severity = none # MA0076 Do not use implicit culture-sensitive ToString in interpolated strings dotnet_diagnostic.MA0101.severity = none # MA0101 String contains an implicit end of line character +dotnet_diagnostic.MA0165.severity = none # MA0165 Make interpolated string. See https://github.com/meziantou/Meziantou.Analyzer/issues/764 ########################################## # Rules for Microsoft.VisualStudio.Threading.Analyzers diff --git a/GitHubIssueFormsParser/src/GitHubIssuesParserCli/IssueFormBodies/IssueFormItems/Checkboxes/IssueFormCheckBoxesText.cs b/GitHubIssueFormsParser/src/GitHubIssuesParserCli/IssueFormBodies/IssueFormItems/Checkboxes/IssueFormCheckBoxesText.cs index f888ebb..2de21cd 100644 --- a/GitHubIssueFormsParser/src/GitHubIssuesParserCli/IssueFormBodies/IssueFormItems/Checkboxes/IssueFormCheckBoxesText.cs +++ b/GitHubIssueFormsParser/src/GitHubIssuesParserCli/IssueFormBodies/IssueFormItems/Checkboxes/IssueFormCheckBoxesText.cs @@ -12,8 +12,8 @@ public IssueFormCheckBoxesText(string value) private static List CreateCheckboxOptions(string options) { - return options - .Split(new char[] { NewLines.CR, NewLines.LF }, StringSplitOptions.RemoveEmptyEntries) + var checkboxOptions = options + .Split([NewLines.CR, NewLines.LF], StringSplitOptions.RemoveEmptyEntries) .Select(optionText => { string label; @@ -45,7 +45,7 @@ private static List CreateCheckboxOptions(string option } return new IssueFormCheckboxOption(label, isChecked); - }) - .ToList(); + }); + return [.. checkboxOptions]; } } From 87ddc2f612b4e0c460ef4283055b5e82ffca239a Mon Sep 17 00:00:00 2001 From: Eduardo Serrano Date: Sun, 25 May 2025 10:57:13 +0100 Subject: [PATCH 08/10] Copies build properties files to build image Copies the Directory.Build.props and Directory.Packages.props files to the build image to ensure proper build configuration during the Docker build process. This ensures that common properties and package versions are available during the build. --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile b/Dockerfile index 722b28f..c94d6ca 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,6 +32,8 @@ FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build WORKDIR /github-issue-forms-parser COPY ["GitHubIssueFormsParser/NuGet.Config", "GitHubIssueFormsParser/"] COPY ["GitHubIssueFormsParser/src/GitHubIssuesParserCli/GitHubIssuesParserCli.csproj", "GitHubIssueFormsParser/src/GitHubIssuesParserCli/"] +COPY ["GitHubIssueFormsParser/Directory.Build.props", "GitHubIssueFormsParser/"] +COPY ["GitHubIssueFormsParser/Directory.Packages.props", "GitHubIssueFormsParser/"] RUN dotnet restore "GitHubIssueFormsParser/src/GitHubIssuesParserCli/GitHubIssuesParserCli.csproj" COPY . . WORKDIR "/github-issue-forms-parser/GitHubIssueFormsParser/src/GitHubIssuesParserCli" From 1443e70985e9c066f7e95cf57f10f67118a3efe8 Mon Sep 17 00:00:00 2001 From: Eduardo Serrano Date: Sun, 25 May 2025 10:59:33 +0100 Subject: [PATCH 09/10] Updates StyleCop Analyzers Updates to the unstable version of StyleCop Analyzers. This ensures access to the latest rules and fixes for code style analysis. --- GitHubIssueFormsParser/Directory.Build.props | 2 +- GitHubIssueFormsParser/Directory.Packages.props | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/GitHubIssueFormsParser/Directory.Build.props b/GitHubIssueFormsParser/Directory.Build.props index ff89587..f04b7c1 100644 --- a/GitHubIssueFormsParser/Directory.Build.props +++ b/GitHubIssueFormsParser/Directory.Build.props @@ -61,7 +61,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/GitHubIssueFormsParser/Directory.Packages.props b/GitHubIssueFormsParser/Directory.Packages.props index 186e944..b933aac 100644 --- a/GitHubIssueFormsParser/Directory.Packages.props +++ b/GitHubIssueFormsParser/Directory.Packages.props @@ -16,7 +16,7 @@ - + @@ -25,4 +25,4 @@ - \ No newline at end of file + From a2eabb8aab17c33f1733a1e665cc85843ce3d300 Mon Sep 17 00:00:00 2001 From: Eduardo Serrano Date: Sun, 25 May 2025 11:00:52 +0100 Subject: [PATCH 10/10] Allows 429 status code to be considered alive Updates markdown link check configuration to treat 429 status codes as alive. This change prevents false link breakage reports due to rate limiting. --- .github/markdown-link-check-config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/markdown-link-check-config.json b/.github/markdown-link-check-config.json index 567749c..3c50c6a 100644 --- a/.github/markdown-link-check-config.json +++ b/.github/markdown-link-check-config.json @@ -22,5 +22,6 @@ }, "description": "Avoids 403s from GitHub docs" } - ] + ], + "aliveStatusCodes": [429, 200] }