Skip to content

feat(bindings/dotnet):Bindings dotnet publish to nuget#7323

Merged
tisonkun merged 3 commits intoapache:mainfrom
Fatorin:bindings-dotnet-publish
Mar 30, 2026
Merged

feat(bindings/dotnet):Bindings dotnet publish to nuget#7323
tisonkun merged 3 commits intoapache:mainfrom
Fatorin:bindings-dotnet-publish

Conversation

@Fatorin
Copy link
Copy Markdown
Contributor

@Fatorin Fatorin commented Mar 26, 2026

Which issue does this PR close?

Closes #7299

Rationale for this change

Introduce official .NET bindings publishing to NuGet for the project.

What changes are included in this PR?

Adjust the .csproj configuration to support proper packaging of the library.
Implement release scripts in the CI/CD pipeline using GitHub Actions.
Fix an issue in the .NET bindings where the async state was not correctly handled on failure.

Are there any user-facing changes?

Removed the osx-x64 build from build.py.
Most developers are using osx-aarch64, so maintaining the osx-x64 build is no longer necessary.

Publishing requires manual activation on NuGet ("Activate for 7 days") due to Trusted Publishing.

AI Usage Statement

This PR was developed with Codex (GPT-5.3) assistance.

@Fatorin Fatorin requested review from Xuanwo and tisonkun as code owners March 26, 2026 15:19
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. releases-note/ci The PR modifies CI-related content or has a title that begins with "ci" labels Mar 26, 2026
@Fatorin Fatorin changed the title Bindings dotnet publish feat(bindings/dotnet):Bindings dotnet publish Mar 26, 2026
@Fatorin Fatorin changed the title feat(bindings/dotnet):Bindings dotnet publish feat(bindings/dotnet):Bindings dotnet publish to nuget Mar 26, 2026
Comment on lines -30 to -31
if classifier == "osx-x86_64":
return "x86_64-apple-darwin"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Fatorin Is this something .NET cannot support, or we do not support it due to its outdated?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not a limitation of .NET.
As modern Macs have largely transitioned to Apple Silicon (M-series), So I decided not to include osx-x64.
However, it can still be added if needed.

Copy link
Copy Markdown
Member

@tisonkun tisonkun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

You may investigate whether we have some methods to do a pre-release so that we can early evaluate the release workflow.

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Mar 30, 2026
on:
push:
tags:
- 'dotnet-v[0-9]+.[0-9]+.[0-9]+*'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe change to v[0-9]+.[0-9]+.[0-9]+ or v[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+ depending on how the .NET release workflow would actually trigger.

I think we don't push tags like dotnet-v[0-9]+.[0-9]+.[0-9]+* so far.

But I'm OK to leave it as is for now since this workflow is untested anyway.

@tisonkun tisonkun merged commit 69114d2 into apache:main Mar 30, 2026
314 of 315 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer releases-note/ci The PR modifies CI-related content or has a title that begins with "ci" size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

new feature: publish Dotnet bindings to NuGet

2 participants