Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 22 additions & 38 deletions .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
@@ -1,71 +1,55 @@
name: .NET
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/[email protected]
- 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: |
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: 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

- name: Build and analyze
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
shell: powershell
run: |
.\.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 }}"
8 changes: 4 additions & 4 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: 🚀 Publish NuGet Package

on:
workflow_dispatch:
push:
branches:
- main
# push:
# branches:
# - main

jobs:
build:
Expand Down Expand Up @@ -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 }}

Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PackageId>AStar.Dev.Functional.Extensions</PackageId>
<Version>0.1.4-alpha</Version>
<Version>0.2.1-alpha</Version>
<PackageReadmeFile>Readme.md</PackageReadmeFile>
<Authors>Jason</Authors>
<Company>AStar Development</Company>
<Description>F#-inspired Result type with functional combinators, async support, and LINQ integration.</Description>
Expand All @@ -22,10 +23,16 @@
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<IsPackable>true</IsPackable>
<Title>AStar.Dev.Functional.Extensions</Title>
<Copyright>AStar Development 2025</Copyright>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All"/>
</ItemGroup>

<ItemGroup>
<None Include="Readme.md" Pack="true" PackagePath="\"/>
</ItemGroup>

</Project>