Skip to content

Commit 6403cdd

Browse files
committed
Publish Package workflow
1 parent 2abe1ad commit 6403cdd

File tree

4 files changed

+111
-29
lines changed

4 files changed

+111
-29
lines changed

.config/dotnet-tools.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"version": 1,
3+
"isRoot": true,
4+
"tools": {
5+
"dotnet-reportgenerator-globaltool": {
6+
"version": "5.4.7",
7+
"commands": [
8+
"reportgenerator"
9+
],
10+
"rollForward": false
11+
}
12+
}
13+
}

.github/workflows/dotnet.yml

Lines changed: 0 additions & 29 deletions
This file was deleted.

.github/workflows/publish.yml

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
# Publishes beta-versions only
2+
name: Publish Package
3+
on:
4+
push:
5+
branches:
6+
- main
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Check .NET 8
12+
id: check-dotnet8
13+
run: |
14+
DOTNET8_VERSION=$(dotnet --version)
15+
if [[ "$DOTNET8_VERSION" =~ ^8\.0\.[0-9]+$ ]]; then
16+
echo "dotnet8_installed=true" >> $GITHUB_ENV
17+
else
18+
echo "dotnet8_installed=false" >> $GITHUB_ENV
19+
fi
20+
- name: Setup .NET 8
21+
if: env.dotnet8_installed == 'false'
22+
uses: actions/setup-dotnet@v4
23+
with:
24+
dotnet-version: 8.0.x
25+
dotnet-quality: 'ga'
26+
- name: Checkout
27+
uses: actions/checkout@v4
28+
- name: Restore
29+
run: dotnet restore ./Ocelot.Administration.IdentityServer4.sln -p:TargetFramework=net8.0
30+
- name: Build
31+
run: dotnet build --no-restore ./Ocelot.Administration.IdentityServer4.sln --framework net8.0
32+
- name: Unit tests
33+
run: dotnet test --no-restore --no-build ./unit/Ocelot.Administration.IdentityServer4.UnitTests.csproj --collect:"XPlat Code Coverage" --framework net8.0
34+
- name: Acceptance tests
35+
run: dotnet test --no-restore --no-build ./acceptance/Ocelot.Administration.IdentityServer4.AcceptanceTests.csproj --framework net8.0
36+
- name: Generate coverage report # https://reportgenerator.io/
37+
id: coverage
38+
run: |
39+
echo "GITHUB REF is ${{ github.ref }}"
40+
echo "GITHUB REF NAME is ${{ github.ref_name }}"
41+
echo "GITHUB SHA is ${{ github.sha }}"
42+
coverage_1st_folder=$(ls -d ./unit/TestResults/*/ | head -1)
43+
echo "Detected first folder : $coverage_1st_folder"
44+
coverage_file="${coverage_1st_folder%/}/coverage.cobertura.xml"
45+
echo "Detecting coverage file... -> $coverage_file"
46+
if [ -f "$coverage_file" ]; then
47+
echo "Coverage file exists."
48+
echo "FILE_EXISTS=true" >> $GITHUB_OUTPUT
49+
echo "COVERAGE_FILE=$coverage_file" >> $GITHUB_OUTPUT
50+
else
51+
echo "Coverage file DOES NOT exist!"
52+
echo "FILE_EXISTS=false" >> $GITHUB_OUTPUT
53+
exit 1
54+
fi
55+
dotnet tool restore
56+
dotnet tool run reportgenerator -reports:$coverage_file -targetdir:coveragereport
57+
- name: Generate report Markdown
58+
if: steps.coverage.outputs.FILE_EXISTS == 'true'
59+
uses: danielpalme/ReportGenerator-GitHub-Action@5.4.7 # Docs: https://github.com/marketplace/actions/reportgenerator
60+
with:
61+
reports: coverage.cobertura.xml
62+
targetdir: coveragereport-md
63+
reporttypes: MarkdownSummary
64+
65+
# build2:
66+
# runs-on: ubuntu-latest
67+
# permissions:
68+
# packages: write
69+
# contents: read
70+
# steps:
71+
# - name: Checkout repository
72+
# uses: actions/checkout@v4
73+
74+
# - name: Setup .NET
75+
# uses: actions/setup-dotnet@v4
76+
# with:
77+
# dotnet-version: |
78+
# 8.0.x
79+
# 9.0.x
80+
81+
# - name: .NET Info
82+
# run: dotnet --info
83+
84+
# - name: Restore dependencies
85+
# run: dotnet restore ./Ocelot.Administration.IdentityServer4.sln
86+
87+
# - name: Build project
88+
# run: dotnet build ./src/Ocelot.Testing.csproj --configuration Release --no-restore
89+
90+
# - name: Pack project
91+
# run: dotnet pack ./src/Ocelot.Testing.csproj --configuration Release --output ./packages
92+
93+
# - name: Publish to GitHub Packages
94+
# run: dotnet nuget push ./packages/*.nupkg --source "https://nuget.pkg.github.com/ThreeMammals/index.json" --api-key ${{ secrets.GITHUB_TOKEN }} --skip-duplicate
95+
96+
# - name: Publish to NuGet
97+
# run: dotnet nuget push ./packages/*.nupkg --source "https://api.nuget.org/v3/index.json" --api-key ${{ secrets.NUGET_API_KEY_2025 }} --skip-duplicate

unit/Ocelot.Administration.IdentityServer4.UnitTests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<PrivateAssets>all</PrivateAssets>
1515
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1616
</PackageReference>
17+
<PackageReference Include="ReportGenerator.Core" Version="5.4.7" />
1718
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
1819
<PackageReference Include="Moq" Version="4.20.72" />
1920
<PackageReference Include="xunit" Version="2.9.3" />

0 commit comments

Comments
 (0)