Repository navigation
[RDMM-8120] ci(nuget): publish macOS and Linux runtimes in Devolutions.Slauth - #136
Merged
metal-face (metal-face) merged 1 commit intoOct 21, 2026
Conversation
…s.Slauth Each OS runner now builds and tests its own natives (build.ps1 -NoPack), the macOS dylibs are Developer ID signed, and one job packs every RID (build.ps1 -PackOnly) after checking all six are present. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
🔵 Needs a closer look
Windows, Linux, and macOS signing paths need validation through a successful workflow run and final DevOps review.
No open issues 🎉
What changed in this PR
Extends Devolutions.Slauth NuGet publishing to include macOS and Linux native libraries alongside Windows.
Changes:
- Separates native builds from packaging with
-NoPackand-PackOnly. - Adds platform-specific build jobs, macOS signing, and six-runtime validation before publishing.
- Documents the multi-platform packaging workflow.
| File | Description |
|---|---|
| wrappers/dotnet/README.md | Documents platform builds and packaged runtimes. |
| wrappers/dotnet/build.ps1 | Adds separate build/pack modes and comma-separated targets. |
| .github/workflows/publish.yml | Builds, signs, merges, and publishes all six runtimes. |
Review effort: Balanced
Richard Boisvert (rbstp)
approved these changes
Oct 21, 2026
metal-face (metal-face)
deleted the
ci/RDMM-8120-nuget-macos-linux-runtimes
branch
October 21, 2026 18:49
metal-face (metal-face)
added a commit
that referenced
this pull request
Oct 21, 2026
🔖 [v0.7.22] -> [v0.7.23] Bumps version for release, so the NuGet package can ship the macOS and Linux runtimes from #136 (RDMM-8120). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
metal-face (metal-face)
added a commit
that referenced
this pull request
Oct 21, 2026
Jira: [RDMM-8121](https://devolutions.atlassian.net/browse/RDMM-8121) 🔖 [v0.7.22] -> [v0.7.23] Bumps the version for release. 0.7.22 is already published, so this lets the NuGet package ship the macOS and Linux runtimes added in #136 ([RDMM-8120](https://devolutions.atlassian.net/browse/RDMM-8120)). Same three files as earlier bumps: `Cargo.toml`, `build.gradle`, `wrappers/android/build.gradle`. After merge: run **Publish Package** with only `nuget` checked (the other targets default to on). 🤖 Generated with [Claude Code](https://claude.com/claude-code) [RDMM-8121]: https://devolutions.atlassian.net/browse/RDMM-8121?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ [RDMM-8120]: https://devolutions.atlassian.net/browse/RDMM-8120?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Jira: RDMM-8120
Why
RDM signs embedded-browser passkeys with
Devolutions.Slauth. 0.7.22 ships onlywin-x64andwin-arm64, so RDM on macOS (RDMM-8063) and Linux (RDMLI-4684) can't use it. The wrapper and csproj are already platform-neutral andbuild.ps1already maps the osx and linux RIDs; only the publish job was Windows-only.What
build.ps1:-NoPack(build, stage, test) and-PackOnly(pack what's staged; fails if nothing is).-Targetsalso accepts a comma list.publish.yml:build-dotnetbecomes four jobs:build-dotnet-windows: same targets as before.build-dotnet-macos: x64 + arm64, tests on arm64, dylibs signed with the Developer ID certificate.build-dotnet-linux: nativeubuntu-22.04andubuntu-22.04-armrunners, so tests run on both arches and the glibc floor stays at 2.35.publish-dotnet: merges the runtimes, checks all six are there, packs once and pushes as before.For DevOps review
cloudsmith-publishenvironment, because that's whereAPPLE_APP_DEV_ID_APP_CERTIFICATE*live (same as the Swift job). If you'd rather, add those secrets to another environment and I'll switch it.ubuntu-22.04-armrunner (free for public repos).Testing
build.ps1 -Targets x86_64-apple-darwin,aarch64-apple-darwin -NoPackbuilds both dylibs, 21/21 tests pass;-PackOnlyproduces a nupkg with bothosx-*runtimes.🤖 Generated with Claude Code