From d435fabc36d3f4b0fc92fd273fb926bd6ce5e64d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9rald=20Barr=C3=A9?= Date: Wed, 31 Jul 2024 22:58:56 -0400 Subject: [PATCH 1/6] Simplify CI --- .github/workflows/ci.yml | 68 +++++++++---------- .github/workflows/close-issues.yml | 2 +- .github/workflows/codeql-analysis.yml | 67 ------------------ .github/workflows/dependency-review.yml | 18 ----- ...Meziantou.Framework.StronglyTypedId.csproj | 1 - ...ntou.Framework.HttpClientMock.Tests.csproj | 4 -- .../InlineSnapshotTests.cs | 2 - .../PromptContextTests.cs | 2 - 8 files changed, 32 insertions(+), 132 deletions(-) delete mode 100644 .github/workflows/codeql-analysis.yml delete mode 100644 .github/workflows/dependency-review.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b4fa8292..4a8c84d6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,41 +26,41 @@ jobs: validate_readme: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@v4 - name: Setup .NET Core (global.json) - uses: actions/setup-dotnet@6bd8b7f7774af54e05809fcc5431931b3eb1ddee # v4 + uses: actions/setup-dotnet@v4 - name: Validate Readme run: .\eng\update-readme.ps1 - name: Validate Tool Readme run: .\eng\update-tool-readme.ps1 validate_test_projects: - runs-on: windows-2022 # Use windows to evaluate TFMs in MSBuild + runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@v4 - name: Setup .NET Core (global.json) - uses: actions/setup-dotnet@6bd8b7f7774af54e05809fcc5431931b3eb1ddee # v4 + uses: actions/setup-dotnet@v4 - name: Validate run: .\eng\validate-testprojects-configuration.ps1 create_nuget: - runs-on: windows-2022 + runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@v4 - name: Setup .NET Core (global.json) - uses: actions/setup-dotnet@6bd8b7f7774af54e05809fcc5431931b3eb1ddee # v4 + uses: actions/setup-dotnet@v4 - run: dotnet build eng/packages.proj --configuration Release /p:IsOfficialBuild=true /bl:build.binlog -warnaserror - run: dotnet publish src/Meziantou.Framework.InlineSnapshotTesting.Prompt.TaskDialog --configuration Release /p:IsOfficialBuild=true /bl:publish-taskdialog.binlog - run: dotnet publish src/Meziantou.Framework.InlineSnapshotTesting.Prompt.NotificationTray --configuration Release /p:IsOfficialBuild=true /bl:publish-notificationtray.binlog - run: dotnet pack eng/packages.proj --configuration Release /p:IsOfficialBuild=true --output ${{ env.NuGetDirectory }} /p:RepositoryBranch="${{github.ref}}" /bl:pack.binlog - - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4 + - uses: actions/upload-artifact@v4 if: always() with: name: nuget if-no-files-found: error retention-days: 3 path: ${{ env.NuGetDirectory }}/**/* - - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4 + - uses: actions/upload-artifact@v4 if: always() with: name: binlog @@ -69,13 +69,13 @@ jobs: path: '**/*.binlog' validate_nuget: - runs-on: windows-2022 # Use windows to evaluate TFMs in MSBuild + runs-on: ubuntu-22.04 needs: [ create_nuget ] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@v4 - name: Setup .NET Core (global.json) - uses: actions/setup-dotnet@6bd8b7f7774af54e05809fcc5431931b3eb1ddee # v4 - - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4 + uses: actions/setup-dotnet@v4 + - uses: actions/download-artifact@v4 with: name: nuget path: ${{ env.NuGetDirectory }} @@ -91,7 +91,7 @@ jobs: TestResultsDirectory: ${{ github.workspace}}/TestResults strategy: matrix: - runs-on: [ windows-2019, windows-2022, ubuntu-20.04, ubuntu-22.04, macos-12, macos-13, macos-14 ] + runs-on: [ windows-2022, ubuntu-22.04, macos-13, macos-14 ] configuration: [ Debug, Release ] additionalArguments: [ "", "/p:InvariantGlobalization=true" ] architecture: [ x64 ] @@ -102,15 +102,14 @@ jobs: run: | $Name = "test-results-${{ matrix.runs-on }}-${{ matrix.configuration }}-${{ matrix.architecture }}-${{matrix.additionalArguments}}".Replace(":", "_").Replace("/", "_") "artifact-name=$Name" >> $env:GITHUB_OUTPUT - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@v4 - run: git config --global protocol.file.allow always - name: Setup .NET Core (global.json) - uses: actions/setup-dotnet@6bd8b7f7774af54e05809fcc5431931b3eb1ddee # v4 + uses: actions/setup-dotnet@v4 - name: Setup .NET Core (additional versions) - uses: actions/setup-dotnet@6bd8b7f7774af54e05809fcc5431931b3eb1ddee # v4 + uses: actions/setup-dotnet@v4 with: dotnet-version: | - 7.0.x 6.0.x - name: Build run: dotnet build eng/build.proj --configuration ${{ matrix.configuration }} /bl ${{ matrix.additionalArguments }} @@ -118,7 +117,7 @@ jobs: - name: Run tests run: dotnet test eng/build.proj --configuration ${{ matrix.configuration }} --no-build --logger trx --results-directory "${{ env.TestResultsDirectory }}" --collect:"Code Coverage" --blame-hang --blame-hang-timeout 5min ${{ matrix.additionalArguments }} - - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4 + - uses: actions/upload-artifact@v4 if: always() with: name: ${{ steps.compute-artifact-name.outputs.artifact-name }} @@ -137,8 +136,6 @@ jobs: configuration: [ Debug, Release ] additionalArguments: [ "", "/p:InvariantGlobalization=true" ] include: - - runs-on: windows-2019 - architecture: x86 - runs-on: windows-2022 architecture: x86 fail-fast: false @@ -148,7 +145,7 @@ jobs: run: | $Name = "test-results-${{ matrix.runs-on }}-${{ matrix.configuration }}-${{ matrix.architecture }}-${{matrix.additionalArguments}}".Replace(":", "_").Replace("/", "_") "artifact-name=$Name" >> $env:GITHUB_OUTPUT - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@v4 - run: git config --global protocol.file.allow always - name: Build and Run Tests run: | @@ -160,9 +157,6 @@ jobs: echo "Installing .NET 6.0" ./dotnet-install.ps1 -Channel 6.0 -Architecture ${{ matrix.architecture }} -InstallDir ~/dotnet -NoPath - echo "Installing .NET 7.0" - ./dotnet-install.ps1 -Channel 7.0 -Architecture ${{ matrix.architecture }} -InstallDir ~/dotnet -NoPath - echo "Installing .NET (global.json)" ./dotnet-install.ps1 -JSonFile ${{github.workspace}}/global.json -Architecture ${{ matrix.architecture }} -InstallDir ~/dotnet @@ -183,7 +177,7 @@ jobs: exit $LASTEXITCODE } echo "::endgroup::" - - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4 + - uses: actions/upload-artifact@v4 if: always() with: name: ${{ steps.compute-artifact-name.outputs.artifact-name }} @@ -200,9 +194,9 @@ jobs: runtime: [ "win-x64", "win-x86", "linux-x64", "osx-x64" ] fail-fast: false steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@v4 - name: Setup .NET Core (global.json) - uses: actions/setup-dotnet@6bd8b7f7774af54e05809fcc5431931b3eb1ddee # v4 + uses: actions/setup-dotnet@v4 - run: dotnet publish --configuration Release --runtime ${{ matrix.runtime }} --self-contained Samples/Trimmable/Trimmable.csproj test_trimming_wpf: @@ -213,22 +207,22 @@ jobs: runtime: [ "win-x64", "win-x86" ] fail-fast: false steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@v4 - name: Setup .NET Core (global.json) - uses: actions/setup-dotnet@6bd8b7f7774af54e05809fcc5431931b3eb1ddee # v4 + uses: actions/setup-dotnet@v4 - run: dotnet publish --configuration Release --runtime ${{ matrix.runtime }} --self-contained Samples/Trimmable.Wpf/Trimmable.Wpf.csproj merge_coverage: runs-on: ubuntu-22.04 needs: [build_and_test_x64, build_and_test_windows_x86] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@v4 - name: Setup .NET Core (global.json) - uses: actions/setup-dotnet@6bd8b7f7774af54e05809fcc5431931b3eb1ddee # v4 + uses: actions/setup-dotnet@v4 - name: Install dotnet-coverage run: dotnet tool update --global dotnet-coverage - name: Download test results - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4 + uses: actions/download-artifact@v4 with: pattern: test-results-* path: test-results @@ -236,7 +230,7 @@ jobs: run: dotnet-coverage merge --output test-result.coverage --output-format coverage (Get-ChildItem test-results -Recurse -Filter "*.coverage") - name: Merge coverage files (format cobertura) run: dotnet-coverage merge --output test-result.cobertura.xml --output-format cobertura (Get-ChildItem test-results -Recurse -Filter "*.coverage") - - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4 + - uses: actions/upload-artifact@v4 with: name: code-coverage if-no-files-found: error @@ -249,12 +243,12 @@ jobs: runs-on: ubuntu-22.04 needs: [ validate_readme, validate_test_projects, validate_nuget, build_and_test_x64, build_and_test_windows_x86, test_trimming, test_trimming_wpf ] steps: - - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4 + - uses: actions/download-artifact@v4 with: name: nuget path: ${{ env.NuGetDirectory }} - name: Setup .NET Core (global.json) - uses: actions/setup-dotnet@6bd8b7f7774af54e05809fcc5431931b3eb1ddee # v4 + uses: actions/setup-dotnet@v4 - run: | Write-Host "Current ref: $env:GITHUB_REF" Write-Host "Searching nupkg in folder: ${{ env.NuGetDirectory }}" diff --git a/.github/workflows/close-issues.yml b/.github/workflows/close-issues.yml index 9919634a..febfae15 100644 --- a/.github/workflows/close-issues.yml +++ b/.github/workflows/close-issues.yml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: write steps: - - uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9 + - uses: actions/stale@v9 with: days-before-issue-stale: 60 days-before-issue-close: 14 diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index 1ca325d2..00000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,67 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" - -on: - workflow_dispatch: - push: - branches: [ main ] - pull_request: - # The branches below must be a subset of the branches above - branches: [ main ] - schedule: - - cron: '27 4 * * 2' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - statuses: write - - strategy: - fail-fast: false - matrix: - language: [ 'csharp', 'javascript' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] - # Learn more: - # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed - - steps: - - name: Checkout repository - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - - name: Setup .NET Core (global.json) - uses: actions/setup-dotnet@6bd8b7f7774af54e05809fcc5431931b3eb1ddee # v4 - - - run: dotnet build eng/build.proj --configuration Release - name: Build - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3 diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml deleted file mode 100644 index fd4f5a44..00000000 --- a/.github/workflows/dependency-review.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: 'Dependency Review' -on: [pull_request] - -concurrency: - group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -permissions: - contents: read - -jobs: - dependency-review: - runs-on: ubuntu-latest - steps: - - name: 'Checkout Repository' - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 - - name: 'Dependency Review' - uses: actions/dependency-review-action@5a2ce3f5b92ee19cbb1541a4984c76d921601d7c # v4 diff --git a/src/Meziantou.Framework.StronglyTypedId/Meziantou.Framework.StronglyTypedId.csproj b/src/Meziantou.Framework.StronglyTypedId/Meziantou.Framework.StronglyTypedId.csproj index 50b69714..4c13c359 100644 --- a/src/Meziantou.Framework.StronglyTypedId/Meziantou.Framework.StronglyTypedId.csproj +++ b/src/Meziantou.Framework.StronglyTypedId/Meziantou.Framework.StronglyTypedId.csproj @@ -13,7 +13,6 @@ - diff --git a/tests/Meziantou.Framework.HttpClientMock.Tests/Meziantou.Framework.HttpClientMock.Tests.csproj b/tests/Meziantou.Framework.HttpClientMock.Tests/Meziantou.Framework.HttpClientMock.Tests.csproj index e2efb7aa..414ee634 100644 --- a/tests/Meziantou.Framework.HttpClientMock.Tests/Meziantou.Framework.HttpClientMock.Tests.csproj +++ b/tests/Meziantou.Framework.HttpClientMock.Tests/Meziantou.Framework.HttpClientMock.Tests.csproj @@ -13,10 +13,6 @@ - - - - diff --git a/tests/Meziantou.Framework.InlineSnapshotTesting.Tests/InlineSnapshotTests.cs b/tests/Meziantou.Framework.InlineSnapshotTesting.Tests/InlineSnapshotTests.cs index 8f5460c1..d8a24b28 100644 --- a/tests/Meziantou.Framework.InlineSnapshotTesting.Tests/InlineSnapshotTests.cs +++ b/tests/Meziantou.Framework.InlineSnapshotTesting.Tests/InlineSnapshotTests.cs @@ -727,8 +727,6 @@ static string GetTargetFramework() return "net48"; #elif NET6_0 return "net6.0"; -#elif NET7_0 - return "net7.0"; #elif NET8_0 return "net8.0"; #endif diff --git a/tests/Meziantou.Framework.InlineSnapshotTesting.Tests/SnapshotUpdateStrategies/PromptContextTests.cs b/tests/Meziantou.Framework.InlineSnapshotTesting.Tests/SnapshotUpdateStrategies/PromptContextTests.cs index 3a0bd192..433098a2 100644 --- a/tests/Meziantou.Framework.InlineSnapshotTesting.Tests/SnapshotUpdateStrategies/PromptContextTests.cs +++ b/tests/Meziantou.Framework.InlineSnapshotTesting.Tests/SnapshotUpdateStrategies/PromptContextTests.cs @@ -129,8 +129,6 @@ static string GetTargetFramework() return "net48"; #elif NET6_0 return "net6.0"; -#elif NET7_0 - return "net7.0"; #elif NET8_0 return "net8.0"; #endif From 1ffcfe9a05a28aaa9ebfedc6aab5cb180ca26b9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9rald=20Barr=C3=A9?= Date: Wed, 31 Jul 2024 23:01:08 -0400 Subject: [PATCH 2/6] fix --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4a8c84d6..330de522 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,7 +35,7 @@ jobs: run: .\eng\update-tool-readme.ps1 validate_test_projects: - runs-on: ubuntu-22.04 + runs-on: windows-2022 steps: - uses: actions/checkout@v4 - name: Setup .NET Core (global.json) From 0cdd6185936af0ef907b9ccfd677e1556c957fd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9rald=20Barr=C3=A9?= Date: Wed, 31 Jul 2024 23:09:20 -0400 Subject: [PATCH 3/6] test --- .../Meziantou.Framework.FastEnumToStringGenerator.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Meziantou.Framework.FastEnumToStringGenerator/Meziantou.Framework.FastEnumToStringGenerator.csproj b/src/Meziantou.Framework.FastEnumToStringGenerator/Meziantou.Framework.FastEnumToStringGenerator.csproj index 90b4763a..7fe6a77f 100644 --- a/src/Meziantou.Framework.FastEnumToStringGenerator/Meziantou.Framework.FastEnumToStringGenerator.csproj +++ b/src/Meziantou.Framework.FastEnumToStringGenerator/Meziantou.Framework.FastEnumToStringGenerator.csproj @@ -13,9 +13,9 @@ - - - + + + From b4d7243b28e57e2b700895260f970b8fda7ee3e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9rald=20Barr=C3=A9?= Date: Wed, 31 Jul 2024 23:17:45 -0400 Subject: [PATCH 4/6] wip --- .../Meziantou.Framework.ResxSourceGenerator.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Meziantou.Framework.ResxSourceGenerator/Meziantou.Framework.ResxSourceGenerator.csproj b/src/Meziantou.Framework.ResxSourceGenerator/Meziantou.Framework.ResxSourceGenerator.csproj index 1853dfd2..d5baa00b 100644 --- a/src/Meziantou.Framework.ResxSourceGenerator/Meziantou.Framework.ResxSourceGenerator.csproj +++ b/src/Meziantou.Framework.ResxSourceGenerator/Meziantou.Framework.ResxSourceGenerator.csproj @@ -12,7 +12,7 @@ - + From 81677240593a59d5d3c3bc87d9c5ac45a1e15850 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9rald=20Barr=C3=A9?= Date: Wed, 31 Jul 2024 23:23:51 -0400 Subject: [PATCH 5/6] wip --- .../Meziantou.Framework.FastEnumToStringGenerator.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Meziantou.Framework.FastEnumToStringGenerator/Meziantou.Framework.FastEnumToStringGenerator.csproj b/src/Meziantou.Framework.FastEnumToStringGenerator/Meziantou.Framework.FastEnumToStringGenerator.csproj index 7fe6a77f..ee9e3d7d 100644 --- a/src/Meziantou.Framework.FastEnumToStringGenerator/Meziantou.Framework.FastEnumToStringGenerator.csproj +++ b/src/Meziantou.Framework.FastEnumToStringGenerator/Meziantou.Framework.FastEnumToStringGenerator.csproj @@ -12,7 +12,7 @@ - + From 304e56ef21ae6d7d2f684fcc4da2e07a7f0e82e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9rald=20Barr=C3=A9?= Date: Wed, 31 Jul 2024 23:29:28 -0400 Subject: [PATCH 6/6] wip --- .../Meziantou.Framework.StronglyTypedId.csproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Meziantou.Framework.StronglyTypedId/Meziantou.Framework.StronglyTypedId.csproj b/src/Meziantou.Framework.StronglyTypedId/Meziantou.Framework.StronglyTypedId.csproj index 4c13c359..f5b7e388 100644 --- a/src/Meziantou.Framework.StronglyTypedId/Meziantou.Framework.StronglyTypedId.csproj +++ b/src/Meziantou.Framework.StronglyTypedId/Meziantou.Framework.StronglyTypedId.csproj @@ -10,10 +10,10 @@ - - - - + + + +