From 4688956f075ab3e8dcfdbbe04b4960b157f22574 Mon Sep 17 00:00:00 2001 From: Jason Barden Date: Mon, 7 Jul 2025 20:23:23 +0100 Subject: [PATCH 1/4] Tweak the GitHub Actions yml files --- .github/workflows/dotnet.yml | 2 +- .github/workflows/publish.yml | 8 ++++---- .../AStar.Dev.Functional.Extensions.csproj | 9 ++++++++- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index d5b2c55..4d228cc 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -1,4 +1,4 @@ -name: .NET +name: Build and analyze on: workflow_dispatch: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c97e50d..8b1c908 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -2,9 +2,9 @@ name: 🚀 Publish NuGet Package on: workflow_dispatch: - push: - branches: - - main +# push: +# branches: +# - main jobs: build: @@ -34,5 +34,5 @@ jobs: run: dotnet pack ./src/${{ env.ProjectName }}/${{ env.ProjectName }}.csproj --configuration Release --output ./nupkg - name: 🚀 Publish to NuGet.org - run: dotnet nuget push ./nupkg/*.nupkg --skip-duplicate --source https://int.nugettest.org/v3/index.json # https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }} + run: dotnet nuget push ./nupkg/*.nupkg --skip-duplicate --source https://apiint.nugettest.org/v3/index.json # https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }} diff --git a/src/AStar.Dev.Functional.Extensions/AStar.Dev.Functional.Extensions.csproj b/src/AStar.Dev.Functional.Extensions/AStar.Dev.Functional.Extensions.csproj index 26ba9f3..354cf8d 100644 --- a/src/AStar.Dev.Functional.Extensions/AStar.Dev.Functional.Extensions.csproj +++ b/src/AStar.Dev.Functional.Extensions/AStar.Dev.Functional.Extensions.csproj @@ -9,7 +9,8 @@ true snupkg AStar.Dev.Functional.Extensions - 0.1.4-alpha + 0.2.1-alpha + Readme.md Jason AStar Development F#-inspired Result type with functional combinators, async support, and LINQ integration. @@ -22,10 +23,16 @@ latest enable true + AStar.Dev.Functional.Extensions + AStar Development 2025 + + + + From 2e04ef9c0f2602df303f148c308a3ee88995ea14 Mon Sep 17 00:00:00 2001 From: Jason Barden Date: Mon, 7 Jul 2025 20:25:33 +0100 Subject: [PATCH 2/4] Put back the SonarCloud (AKA Qube) analysis --- .github/workflows/dotnet.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 4d228cc..f76779e 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -48,18 +48,18 @@ jobs: New-Item -Path .\.sonar\scanner -ItemType Directory dotnet tool update dotnet-sonarscanner --tool-path .\.sonar\scanner -# - name: Build and analyze -# env: -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} -# shell: powershell -# run: | -# dotnet tool install --global dotnet-coverage -# .\.sonar\scanner\dotnet-sonarscanner begin /k:"astar-development_${{ env.RepositoryName }}" /o:"astar-development" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https:#sonarcloud.io" /d:sonar.cs.vscoveragexml.reportsPaths=coverage.xml /d:sonar.scanner.scanAll=false -# dotnet-coverage collect 'dotnet test --filter "FullyQualifiedName!~Acceptance.Tests"' -f xml -o 'coverage.xml' -# dotnet build --configuration Release -# dotnet-coverage collect 'dotnet test --filter "FullyQualifiedName!~Acceptance.Tests"' -f xml -o 'coverage.xml' -# .\.sonar\scanner\dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}" + - name: Build and analyze + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + shell: powershell + run: | + dotnet tool install --global dotnet-coverage + .\.sonar\scanner\dotnet-sonarscanner begin /k:"astar-development_${{ env.RepositoryName }}" /o:"astar-development" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https:#sonarcloud.io" /d:sonar.cs.vscoveragexml.reportsPaths=coverage.xml /d:sonar.scanner.scanAll=false + dotnet-coverage collect 'dotnet test --filter "FullyQualifiedName!~Acceptance.Tests"' -f xml -o 'coverage.xml' + dotnet build --configuration Release + dotnet-coverage collect 'dotnet test --filter "FullyQualifiedName!~Acceptance.Tests"' -f xml -o 'coverage.xml' + .\.sonar\scanner\dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}" - name: Pack NuGet package if: github.ref == 'refs/heads/main-not' From 00a511ce80fa6d26f78ea31a3032caa993069e06 Mon Sep 17 00:00:00 2001 From: Jason Barden Date: Mon, 7 Jul 2025 20:34:54 +0100 Subject: [PATCH 3/4] No idea how the URI was wrong but changed the # to // --- .github/workflows/dotnet.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index f76779e..8ec162c 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -55,10 +55,10 @@ jobs: shell: powershell run: | dotnet tool install --global dotnet-coverage - .\.sonar\scanner\dotnet-sonarscanner begin /k:"astar-development_${{ env.RepositoryName }}" /o:"astar-development" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https:#sonarcloud.io" /d:sonar.cs.vscoveragexml.reportsPaths=coverage.xml /d:sonar.scanner.scanAll=false - dotnet-coverage collect 'dotnet test --filter "FullyQualifiedName!~Acceptance.Tests"' -f xml -o 'coverage.xml' + .\.sonar\scanner\dotnet-sonarscanner begin /k:"astar-development_${{ env.RepositoryName }}" /o:"astar-development" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.cs.vscoveragexml.reportsPaths=coverage.xml /d:sonar.scanner.scanAll=false + dotnet-coverage collect 'dotnet test --filter "FullyQualifiedName!~Tests.EndToEnd"' -f xml -o 'coverage.xml' dotnet build --configuration Release - dotnet-coverage collect 'dotnet test --filter "FullyQualifiedName!~Acceptance.Tests"' -f xml -o 'coverage.xml' + dotnet-coverage collect 'dotnet test --filter "FullyQualifiedName!~Tests.EndToEnd"' -f xml -o 'coverage.xml' .\.sonar\scanner\dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}" - name: Pack NuGet package From 28a0297bbcb836a58554211d6c7c7e96a1322cd0 Mon Sep 17 00:00:00 2001 From: Jason Barden Date: Mon, 7 Jul 2025 21:49:46 +0100 Subject: [PATCH 4/4] Existing dotnet.yml seems to hand. SonarQube has this updated version --- .github/workflows/dotnet.yml | 48 ++++++++++++------------------------ 1 file changed, 16 insertions(+), 32 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 8ec162c..821ba3d 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -1,47 +1,44 @@ -name: Build and analyze +name: SonarQube on: - workflow_dispatch: push: - branches: [ "main" ] + branches: + - main pull_request: - branches: [ "main" ] + types: [ opened, synchronize, reopened ] jobs: build: name: Build and analyze runs-on: windows-latest - env: - ProjectName: 'AStar.Dev.Functional.Extensions' - RepositoryName: 'astar-dev-functional-extensions' + steps: - - name: Set up JDK - uses: actions/setup-java@v4.4.0 + - name: Set up JDK 17 + uses: actions/setup-java@v4 with: java-version: 17 distribution: 'zulu' - - name: Checkout - uses: actions/checkout@v4.2.1 + - uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis - - name: Cache SonarCloud packages - uses: actions/cache@v4.2.3 + - name: Cache SonarQube Cloud packages + uses: actions/cache@v4 with: path: ~\sonar\cache key: ${{ runner.os }}-sonar restore-keys: ${{ runner.os }}-sonar - - name: Cache SonarCloud scanner + - name: Cache SonarQube Cloud scanner id: cache-sonar-scanner - uses: actions/cache@v4.2.3 + uses: actions/cache@v4 with: path: .\.sonar\scanner key: ${{ runner.os }}-sonar-scanner restore-keys: ${{ runner.os }}-sonar-scanner - - name: Install SonarCloud scanner + - name: Install SonarQube Cloud scanner if: steps.cache-sonar-scanner.outputs.cache-hit != 'true' shell: powershell run: | @@ -50,22 +47,9 @@ jobs: - name: Build and analyze env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} shell: powershell run: | - dotnet tool install --global dotnet-coverage - .\.sonar\scanner\dotnet-sonarscanner begin /k:"astar-development_${{ env.RepositoryName }}" /o:"astar-development" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.cs.vscoveragexml.reportsPaths=coverage.xml /d:sonar.scanner.scanAll=false - dotnet-coverage collect 'dotnet test --filter "FullyQualifiedName!~Tests.EndToEnd"' -f xml -o 'coverage.xml' - dotnet build --configuration Release - dotnet-coverage collect 'dotnet test --filter "FullyQualifiedName!~Tests.EndToEnd"' -f xml -o 'coverage.xml' + .\.sonar\scanner\dotnet-sonarscanner begin /k:"astar-development_astar-dev-functional-extensions" /o:"astar-development" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" + dotnet build .\.sonar\scanner\dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}" - - - name: Pack NuGet package - if: github.ref == 'refs/heads/main-not' - run: dotnet pack .\src\${{ env.ProjectName }}\${{ env.ProjectName }}.csproj - - - name: Push to NuGet - if: github.ref == 'refs/heads/main-not' - run: dotnet nuget push "**\${{ env.ProjectName }}.*.nupkg" --api-key ${{secrets.nuget_api_key}} --skip-duplicate --source https://api.nuget.org/v3/index.json -