diff --git a/.github/workflows/publish-dotnet-wrapper.yml b/.github/workflows/publish-dotnet-wrapper.yml new file mode 100644 index 00000000..40272750 --- /dev/null +++ b/.github/workflows/publish-dotnet-wrapper.yml @@ -0,0 +1,56 @@ +name: Publish SpannerLib .NET NuGet Package + +on: + # TODO: Remove + pull_request: + workflow_dispatch: + +env: + DOTNET_VERSION: '8.0.x' # Set your .NET version here + PROJECT_PATH: 'spannerlib/wrappers/spannerlib-dotnet' + +jobs: + publish: + runs-on: ubuntu-latest + + # These permissions are required to push packages to GitHub + permissions: + packages: write + contents: read + + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: Setup .NET SDK + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + source-url: https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json + env: + # This automatically authenticates the setup-dotnet step + NUGET_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Build library + run: ./build.sh + working-directory: ${{ env.PROJECT_PATH }} + + - name: Restore Dependencies + run: dotnet restore ${{ env.PROJECT_PATH }} + + - name: Build + run: dotnet build ${{ env.PROJECT_PATH }} --no-restore --configuration Release + + - name: Pack + run: | + dotnet pack ${{ env.PROJECT_PATH }} \ + --no-build \ + --configuration Release \ + --output ./nupkgs + + - name: Publish to GitHub Packages + run: | + dotnet nuget push ./nupkgs/*.nupkg \ + --source https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json \ + --api-key ${{ secrets.GITHUB_TOKEN }} \ + --skip-duplicate diff --git a/spannerlib/wrappers/spannerlib-dotnet/publish.sh b/spannerlib/wrappers/spannerlib-dotnet/publish.sh index fb4a37c9..be78f93d 100755 --- a/spannerlib/wrappers/spannerlib-dotnet/publish.sh +++ b/spannerlib/wrappers/spannerlib-dotnet/publish.sh @@ -12,6 +12,7 @@ # Remove existing packages to ensure that only the packages that are built in the next step will be pushed to nuget. find ./**/bin/Release -type f -name "Alpha*.nupkg" -exec rm {} \; +dotnet build # Pack and publish to nuget dotnet pack find ./**/bin/Release -type f -name "Alpha*.nupkg" -exec \ diff --git a/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-grpc-impl/spannerlib-dotnet-grpc-impl.csproj b/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-grpc-impl/spannerlib-dotnet-grpc-impl.csproj index 11f32352..2818e40f 100644 --- a/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-grpc-impl/spannerlib-dotnet-grpc-impl.csproj +++ b/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-grpc-impl/spannerlib-dotnet-grpc-impl.csproj @@ -6,13 +6,21 @@ enable default Alpha.Google.Cloud.SpannerLib.GrpcImpl - 1.0.0-alpha.20260119112406 + 1.0.0-alpha.20260120171456 Google + true + true + https://github.com/googleapis/go-sql-spanner + true + + + true - + + diff --git a/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-grpc-server/spannerlib-dotnet-grpc-server.csproj b/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-grpc-server/spannerlib-dotnet-grpc-server.csproj index 72f9b641..9d870a48 100644 --- a/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-grpc-server/spannerlib-dotnet-grpc-server.csproj +++ b/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-grpc-server/spannerlib-dotnet-grpc-server.csproj @@ -8,11 +8,19 @@ Alpha.Google.Cloud.SpannerLib.GrpcServer SpannerLib Grpc Server Google - 1.0.0-alpha.20260119112406 + 1.0.0-alpha.20260120171456 + true + true + https://github.com/googleapis/go-sql-spanner + true + + + true + diff --git a/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-grpc-v1/spannerlib-dotnet-grpc-v1.csproj b/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-grpc-v1/spannerlib-dotnet-grpc-v1.csproj index 2fab35ae..e49a7ab5 100644 --- a/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-grpc-v1/spannerlib-dotnet-grpc-v1.csproj +++ b/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-grpc-v1/spannerlib-dotnet-grpc-v1.csproj @@ -6,13 +6,22 @@ enable default Alpha.Google.Cloud.SpannerLib.Grpc.V1 - 1.0.0-alpha.20260119112406 + 1.0.0-alpha.20260120171456 Google + true + true + https://github.com/googleapis/go-sql-spanner + true + + true + + + diff --git a/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-mockserver/spannerlib-dotnet-mockserver.csproj b/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-mockserver/spannerlib-dotnet-mockserver.csproj index e45a0fa9..d726bc45 100644 --- a/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-mockserver/spannerlib-dotnet-mockserver.csproj +++ b/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-mockserver/spannerlib-dotnet-mockserver.csproj @@ -6,15 +6,23 @@ enable enable Alpha.Google.Cloud.SpannerLib.MockServer - 1.0.0-alpha.20260119112406 + 1.0.0-alpha.20260120171456 Google default + true + true + https://github.com/googleapis/go-sql-spanner + true + + + true + diff --git a/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-native-impl/spannerlib-dotnet-native-impl.csproj b/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-native-impl/spannerlib-dotnet-native-impl.csproj index 63fe9a1b..ff81cc82 100644 --- a/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-native-impl/spannerlib-dotnet-native-impl.csproj +++ b/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-native-impl/spannerlib-dotnet-native-impl.csproj @@ -6,8 +6,15 @@ enable default Alpha.Google.Cloud.SpannerLib.NativeImpl - 1.0.0-alpha.20260119112406 + 1.0.0-alpha.20260120171456 Google + true + true + https://github.com/googleapis/go-sql-spanner + true + + + true @@ -16,7 +23,8 @@ - + + diff --git a/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-native/spannerlib-dotnet-native.csproj b/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-native/spannerlib-dotnet-native.csproj index 749687ca..a9bfa368 100644 --- a/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-native/spannerlib-dotnet-native.csproj +++ b/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet-native/spannerlib-dotnet-native.csproj @@ -9,11 +9,19 @@ Alpha.Google.Cloud.SpannerLib.Native .NET wrapper for the native SpannerLib shared library Google - 1.0.0-alpha.20260119112406 + 1.0.0-alpha.20260120171456 + true + true + https://github.com/googleapis/go-sql-spanner + true + + + true + diff --git a/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet/spannerlib-dotnet.csproj b/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet/spannerlib-dotnet.csproj index 379d1c1d..65334924 100644 --- a/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet/spannerlib-dotnet.csproj +++ b/spannerlib/wrappers/spannerlib-dotnet/spannerlib-dotnet/spannerlib-dotnet.csproj @@ -6,13 +6,30 @@ enable default Alpha.Google.Cloud.SpannerLib - 1.0.0-alpha.20260119112406 + 1.0.0-alpha.20260120171501 + $(Version) + portable Google + true + true + https://github.com/googleapis/go-sql-spanner + true + true + + + + true + snupkg + + + + true +