Skip to content

Commit c6a2ee1

Browse files
Fix release process
1 parent a78f5ef commit c6a2ee1

File tree

15 files changed

+53
-6
lines changed

15 files changed

+53
-6
lines changed

.github/workflows/release.yml

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,52 @@ jobs:
2121
- name: Setup .NET
2222
uses: actions/setup-dotnet@v4
2323
with:
24-
dotnet-version: '10.0.x'
24+
dotnet-version: '9.0.x'
2525

2626
- name: Extract version from tag
2727
id: version
2828
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
2929

30-
- name: Build and Pack
30+
- name: Pack and Push libraries in dependency order
31+
env:
32+
VERSION: ${{ steps.version.outputs.VERSION }}
33+
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
3134
run: |
32-
dotnet build -c Release
33-
dotnet pack -c Release -p:Version=${{ steps.version.outputs.VERSION }} -o ./nupkgs
35+
set -euo pipefail
36+
37+
PACKAGES=(
38+
# Tier 0
39+
"Other/Nimblesite.Sql.Model/Nimblesite.Sql.Model.csproj"
40+
# Tier 1
41+
"DataProvider/Nimblesite.DataProvider.Core/Nimblesite.DataProvider.Core.csproj"
42+
"Lql/Nimblesite.Lql.Core/Nimblesite.Lql.Core.csproj"
43+
"Migration/Nimblesite.DataProvider.Migration.Core/Nimblesite.DataProvider.Migration.Core.csproj"
44+
# Tier 2
45+
"DataProvider/Nimblesite.DataProvider.SQLite/Nimblesite.DataProvider.SQLite.csproj"
46+
"DataProvider/Nimblesite.DataProvider.SqlServer/Nimblesite.DataProvider.SqlServer.csproj"
47+
"Lql/Nimblesite.Lql.SQLite/Nimblesite.Lql.SQLite.csproj"
48+
"Lql/Nimblesite.Lql.Postgres/Nimblesite.Lql.Postgres.csproj"
49+
"Lql/Nimblesite.Lql.SqlServer/Nimblesite.Lql.SqlServer.csproj"
50+
"Migration/Nimblesite.DataProvider.Migration.SQLite/Nimblesite.DataProvider.Migration.SQLite.csproj"
51+
"Migration/Nimblesite.DataProvider.Migration.Postgres/Nimblesite.DataProvider.Migration.Postgres.csproj"
52+
"Sync/Nimblesite.Sync.Core/Nimblesite.Sync.Core.csproj"
53+
# Tier 3
54+
"Sync/Nimblesite.Sync.SQLite/Nimblesite.Sync.SQLite.csproj"
55+
"Sync/Nimblesite.Sync.Postgres/Nimblesite.Sync.Postgres.csproj"
56+
# Tier 4
57+
"Sync/Nimblesite.Sync.Http/Nimblesite.Sync.Http.csproj"
58+
)
3459
35-
- name: Push to NuGet
36-
run: dotnet nuget push "./nupkgs/*.nupkg" --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
60+
for proj in "${PACKAGES[@]}"; do
61+
name=$(basename "$proj" .csproj)
62+
echo "::group::Pack and push $name"
63+
dotnet pack "$proj" -c Release -p:Version="$VERSION" -o ./nupkgs
64+
dotnet nuget push "./nupkgs/${name}.${VERSION}.nupkg" \
65+
--api-key "$NUGET_API_KEY" \
66+
--source https://api.nuget.org/v3/index.json \
67+
--skip-duplicate
68+
echo "::endgroup::"
69+
done
3770
3871
- name: Create GitHub Release
3972
env:

DataProvider/Nimblesite.DataProvider.Example.FSharp/Nimblesite.DataProvider.Example.FSharp.fsproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5+
<IsPackable>false</IsPackable>
56
<TargetFramework>net9.0</TargetFramework>
67
<GenerateDocumentationFile>true</GenerateDocumentationFile>
78
<LangVersion>preview</LangVersion>

DataProvider/Nimblesite.DataProvider.Example/Nimblesite.DataProvider.Example.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<OutputType>Exe</OutputType>
4+
<IsPackable>false</IsPackable>
45
<NoWarn>EPC12;CA1303;CA1515</NoWarn>
56
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
67
<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)Example.ruleset</CodeAnalysisRuleSet>

DataProvider/Nimblesite.DataProvider.Postgres.Cli/Nimblesite.DataProvider.Postgres.Cli.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
1111
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
1212
<NoWarn>EPC12;CA2100</NoWarn>
13+
<IsPackable>false</IsPackable>
1314
<PackageId>Nimblesite.DataProvider.Postgres.Cli</PackageId>
1415
<PackAsTool>true</PackAsTool>
1516
<ToolCommandName>dataprovider-postgres</ToolCommandName>

DataProvider/Nimblesite.DataProvider.SQLite.Cli/Nimblesite.DataProvider.SQLite.Cli.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
1111
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
1212
<NoWarn>EPC12;CA2100</NoWarn>
13+
<IsPackable>false</IsPackable>
1314
<PackageId>Nimblesite.DataProvider.SQLite.Cli</PackageId>
1415
<PackAsTool>true</PackAsTool>
1516
<ToolCommandName>dataprovider-sqlite</ToolCommandName>

Lql/Nimblesite.Lql.Browser/Nimblesite.Lql.Browser.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<OutputType>WinExe</OutputType>
4+
<IsPackable>false</IsPackable>
45
<TargetFramework>net9.0</TargetFramework>
56
<Nullable>enable</Nullable>
67
<BuiltInComInteropSupport>true</BuiltInComInteropSupport>

Lql/Nimblesite.Lql.Cli.SQLite.Tests/Nimblesite.Lql.Cli.SQLite.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<IsTestProject>true</IsTestProject>
4+
<IsPackable>false</IsPackable>
45
<CodeAnalysisRuleSet>TestingRuleset.ruleset</CodeAnalysisRuleSet>
56
<NoWarn>CA1707,CA1515,CA1307,CA2007</NoWarn>
67
</PropertyGroup>

Lql/Nimblesite.Lql.TypeProvider.FSharp.Tests.Data/Nimblesite.Lql.TypeProvider.FSharp.Tests.Data.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<Nullable>enable</Nullable>
66
<GenerateDocumentationFile>true</GenerateDocumentationFile>
77
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
8+
<IsPackable>false</IsPackable>
89
</PropertyGroup>
910

1011
<!-- Exclude Generated folder from default globbing - we include it explicitly in the target -->

Lql/Nimblesite.Lql.Website/Nimblesite.Lql.Website.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<TargetFramework>net9.0</TargetFramework>
44
<ImplicitUsings>enable</ImplicitUsings>
55
<Nullable>enable</Nullable>
6+
<IsPackable>false</IsPackable>
67
</PropertyGroup>
78

89
<ItemGroup>

Migration/Nimblesite.DataProvider.Migration.Cli/Nimblesite.DataProvider.Migration.Cli.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<OutputType>Exe</OutputType>
44
<RootNamespace>Nimblesite.DataProvider.Migration.Cli</RootNamespace>
55
<NoWarn>$(NoWarn);CA2254;CA1515;RS1035;CA2100</NoWarn>
6+
<IsPackable>false</IsPackable>
67
<PackageId>Nimblesite.DataProvider.Migration.Cli</PackageId>
78
<PackAsTool>true</PackAsTool>
89
<ToolCommandName>migration-cli</ToolCommandName>

0 commit comments

Comments
 (0)