Skip to content

Commit 4304a28

Browse files
Release prep
1 parent b503e01 commit 4304a28

File tree

14 files changed

+247
-17
lines changed

14 files changed

+247
-17
lines changed

.github/workflows/release.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Release NuGet Packages
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
env:
9+
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
10+
DOTNET_CLI_TELEMETRY_OPTOUT: true
11+
12+
jobs:
13+
publish:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- name: Setup .NET
19+
uses: actions/setup-dotnet@v4
20+
with:
21+
dotnet-version: '9.0.x'
22+
23+
- name: Extract version from tag
24+
id: version
25+
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
26+
27+
- name: Restore
28+
run: dotnet restore
29+
30+
- name: Build
31+
run: dotnet build -c Release --no-restore
32+
33+
- name: Test
34+
run: dotnet test -c Release --no-build
35+
36+
- name: Pack libraries
37+
run: |
38+
dotnet pack Other/Selecta/Selecta.csproj -c Release -p:Version=${{ steps.version.outputs.VERSION }} -o ./nupkgs
39+
dotnet pack Migration/Migration/Migration.csproj -c Release -p:Version=${{ steps.version.outputs.VERSION }} -o ./nupkgs
40+
dotnet pack Migration/Migration.SQLite/Migration.SQLite.csproj -c Release -p:Version=${{ steps.version.outputs.VERSION }} -o ./nupkgs
41+
dotnet pack Migration/Migration.Postgres/Migration.Postgres.csproj -c Release -p:Version=${{ steps.version.outputs.VERSION }} -o ./nupkgs
42+
dotnet pack DataProvider/DataProvider/DataProvider.csproj -c Release -p:Version=${{ steps.version.outputs.VERSION }} -o ./nupkgs
43+
dotnet pack DataProvider/DataProvider.SQLite/DataProvider.SQLite.csproj -c Release -p:Version=${{ steps.version.outputs.VERSION }} -o ./nupkgs
44+
45+
- name: Pack CLI tools
46+
run: |
47+
dotnet pack DataProvider/DataProvider.Postgres.Cli/DataProvider.Postgres.Cli.csproj -c Release -p:Version=${{ steps.version.outputs.VERSION }} -o ./nupkgs
48+
dotnet pack DataProvider/DataProvider.SQLite.Cli/DataProvider.SQLite.Cli.csproj -c Release -p:Version=${{ steps.version.outputs.VERSION }} -o ./nupkgs
49+
dotnet pack Migration/Migration.Cli/Migration.Cli.csproj -c Release -p:Version=${{ steps.version.outputs.VERSION }} -o ./nupkgs
50+
51+
- name: Push to NuGet
52+
run: dotnet nuget push "./nupkgs/*.nupkg" --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
53+
54+
- name: Create GitHub Release
55+
uses: softprops/action-gh-release@v1
56+
with:
57+
files: ./nupkgs/*.nupkg
58+
generate_release_notes: true

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,3 +411,7 @@ Website/src/assets/images/lqldbbrowser.png
411411
Website/src/assets/images/Samples/
412412

413413
Lql/Lql.TypeProvider.FSharp.Tests.Data/Generated/
414+
415+
*.nupkg
416+
417+
*.snupkg

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
1111
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
1212
<NoWarn>EPC12;CA2100</NoWarn>
13+
<PackageId>DataProvider.Postgres.Cli</PackageId>
14+
<PackAsTool>true</PackAsTool>
15+
<ToolCommandName>dataprovider-postgres</ToolCommandName>
16+
<Description>CLI tool for generating type-safe PostgreSQL data access code</Description>
1317
</PropertyGroup>
1418
<ItemGroup>
1519
<ProjectReference Include="../DataProvider/DataProvider.csproj" />

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
1111
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
1212
<NoWarn>EPC12;CA2100</NoWarn>
13+
<PackageId>DataProvider.SQLite.Cli</PackageId>
14+
<PackAsTool>true</PackAsTool>
15+
<ToolCommandName>dataprovider-sqlite</ToolCommandName>
16+
<Description>CLI tool for generating type-safe SQLite data access code</Description>
1317
</PropertyGroup>
1418
<ItemGroup>
1519
<ProjectReference Include="../DataProvider.SQLite/DataProvider.SQLite.csproj" />

DataProvider/DataProvider.SQLite/DataProvider.SQLite.csproj

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,15 @@
22
<PropertyGroup>
33
<!-- Package Information -->
44
<PackageId>DataProvider.SQLite</PackageId>
5-
<Version>0.1.0-beta</Version>
65
<Authors>ChristianFindlay</Authors>
76
<Description>SQLite source generator for DataProvider. Provides compile-time safe database access with automatic code generation from SQL files for SQLite databases.</Description>
87
<PackageTags>source-generator;sql;sqlite;database;compile-time-safety;code-generation</PackageTags>
98
<PackageProjectUrl>https://github.com/MelbourneDeveloper/DataProvider</PackageProjectUrl>
109
<RepositoryUrl>https://github.com/MelbourneDeveloper/DataProvider</RepositoryUrl>
1110
<RepositoryType>git</RepositoryType>
1211
<PackageLicenseExpression>MIT</PackageLicenseExpression>
13-
<PackageReadmeFile>README.md</PackageReadmeFile>
1412
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
15-
<PackageReleaseNotes>Initial beta release of DataProvider.SQLite source generator.</PackageReleaseNotes>
13+
<PackageReleaseNotes>Initial release of DataProvider.SQLite source generator.</PackageReleaseNotes>
1614

1715
<!-- Source Generator Properties -->
1816
<IncludeBuildOutput>true</IncludeBuildOutput>
@@ -47,10 +45,7 @@
4745
<ProjectReference Include="../../Other/Selecta/Selecta.csproj" />
4846
</ItemGroup>
4947

50-
<!-- Package Content -->
51-
<ItemGroup>
52-
<None Include="../../DataProvider/README.md" Pack="true" PackagePath="\" />
53-
</ItemGroup>
48+
<!-- Package Content - README.md included via Directory.Build.props -->
5449

5550
<!-- Release Configuration -->
5651
<PropertyGroup Condition="'$(Configuration)' == 'Release'">

DataProvider/DataProvider.SqlServer/DataProvider.SqlServer.csproj

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,7 @@
2727
<ProjectReference Include="../../Other/Selecta/Selecta.csproj" />
2828
</ItemGroup>
2929

30-
<!-- Package Content -->
31-
<ItemGroup>
32-
<None Include="../../DataProvider/README.md" Pack="true" PackagePath="\" />
33-
</ItemGroup>
30+
<!-- Package Content - README.md included via Directory.Build.props -->
3431

3532
<!-- Release Configuration -->
3633
<PropertyGroup Condition="'$(Configuration)' == 'Release'">

DataProvider/DataProvider/DataProvider.csproj

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,13 @@
33
<PropertyGroup>
44
<!-- Package Information -->
55
<PackageId>DataProvider</PackageId>
6-
<Version>0.1.0-beta</Version>
76
<Authors>ChristianFindlay</Authors>
87
<Description>A source generator that creates compile-time safe extension methods for database operations from SQL files. Generates strongly-typed C# code based on your SQL queries and database schema, ensuring type safety and eliminating runtime SQL errors.</Description>
98
<PackageTags>source-generator;sql;database;compile-time-safety;code-generation;sqlite;sqlserver</PackageTags>
109
<PackageProjectUrl>https://github.com/christianfindlay/DataProvider</PackageProjectUrl>
1110
<RepositoryUrl>https://github.com/christianfindlay/DataProvider</RepositoryUrl>
1211
<RepositoryType>git</RepositoryType>
1312
<PackageLicenseExpression>MIT</PackageLicenseExpression>
14-
<PackageReadmeFile>README.md</PackageReadmeFile>
1513
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
1614
<PackageReleaseNotes>Initial release of DataProvider source generator for compile-time safe database operations.</PackageReleaseNotes>
1715

@@ -25,10 +23,6 @@
2523
<ProjectReference Include="../../Other/Selecta/Selecta.csproj" />
2624
</ItemGroup>
2725

28-
<!-- Package Content -->
29-
<ItemGroup>
30-
<None Include="README.md" Pack="true" PackagePath="\" />
31-
</ItemGroup>
3226

3327
<!-- Disable problematic analyzer rules for generated code -->
3428
<PropertyGroup>

Directory.Build.props

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
<Project>
22

3+
<!-- NuGet Package Metadata -->
4+
<PropertyGroup>
5+
<Version>0.1.0</Version>
6+
<Authors>ChristianFindlay</Authors>
7+
<Company>MelbourneDeveloper</Company>
8+
<PackageLicenseExpression>MIT</PackageLicenseExpression>
9+
<PackageProjectUrl>https://github.com/MelbourneDeveloper/DataProvider</PackageProjectUrl>
10+
<RepositoryUrl>https://github.com/MelbourneDeveloper/DataProvider</RepositoryUrl>
11+
<RepositoryType>git</RepositoryType>
12+
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
13+
</PropertyGroup>
14+
15+
<!-- Include root README.md in all packages -->
16+
<PropertyGroup>
17+
<PackageReadmeFile>README.md</PackageReadmeFile>
18+
</PropertyGroup>
19+
<ItemGroup>
20+
<None Include="$(MSBuildThisFileDirectory)README.md" Pack="true" PackagePath="\" />
21+
</ItemGroup>
22+
323
<PropertyGroup>
424
<GenerateDocumentationFile>true</GenerateDocumentationFile>
525
<TargetFramework>net9.0</TargetFramework>

Migration/Migration.Cli/Migration.Cli.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
<OutputType>Exe</OutputType>
55
<RootNamespace>Migration.Cli</RootNamespace>
66
<NoWarn>$(NoWarn);CA2254;CA1515;RS1035;CA2100</NoWarn>
7+
<PackageId>Migration.Cli</PackageId>
8+
<PackAsTool>true</PackAsTool>
9+
<ToolCommandName>migration-cli</ToolCommandName>
10+
<Description>CLI tool for database schema migrations</Description>
711
</PropertyGroup>
812

913
<ItemGroup>

Migration/Migration.Postgres/Migration.Postgres.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
<PropertyGroup>
44
<OutputType>Library</OutputType>
55
<RootNamespace>Migration.Postgres</RootNamespace>
6+
<PackageId>Migration.Postgres</PackageId>
7+
<Description>PostgreSQL DDL generator for Migration</Description>
68
<NoWarn>$(NoWarn);CA2254;CA2100</NoWarn>
79
</PropertyGroup>
810

0 commit comments

Comments
 (0)