Update CI/CD toolchains and fix missing validation
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Active
- Tech stack
- azure, cmake, csharp, github-actions
- Domain
- build-system, ci-cd, devops, release, testing-qa
Research direction
Start by inspecting global.json, the GitHub Actions and Azure build definitions, the release-notes workflow, and DEVGUIDE.md. Reproduce the failed validation and release-note run first; done means required failures are surfaced, tests produce retained results, packaging and signing checks are verified, and publication remains opt-in.
Written by the indexing model from the issue text.
Description
The latest retained Azure build, 129260, passed on 21 July, but:
- Linux setup logged
sudo: 'apt-key': command not foundwithout failing the step. - Both ARM64 test steps only run
echo; their publishers report no TRX files. - Tests are excluded from
main, where the packaging jobs run instead.
The release-notes workflow is manually disabled. Its latest run failed at Commit and push with exit code 128; the detailed logs have expired. Current signing and publishing health has not been verified.
Toolchain updates
These are upgrade candidates, to be validated together:
| Component | Current | Target |
|---|---|---|
| .NET SDK | 8.x / 8.0.x, missing installation in some jobs |
Pin 10.0.401 in global.json; install in every .NET job |
| Azure hosts | ubuntu/windows/macos-latest |
Explicit ubuntu-24.04, windows-2025, Intel macOS-15 |
| Checkout | actions/checkout@v4 |
Reviewed SHA of v7.0.1 |
| Feed authentication | NuGetAuthenticate@0 |
NuGetAuthenticate@1 |
| Test SDK | 15.8.0 / 16.9.4 / 17.4.1 | 18.10.1 |
| xUnit / VS adapter | 2.4.x / 2.4.x | 2.9.3 / 4.0.0, retaining xUnit v2 |
| Coverlet MSBuild | 2.6.0 | 10.0.1, with matching coverage configuration |
| Signing tool | Unversioned prerelease install | Pin a tested version |
.NET 8 remains supported until 10 November 2026. Add .NET 10 tests; install the .NET 8 runtime explicitly while retaining net8.0 execution. Preserve the existing .NET Framework 4.7.2 coverage and package target frameworks.
The Ubuntu 26.04 container exists and works. Pin its digest, but verify the generated native libraries on the oldest supported Linux distribution before accepting its glibc/libstdc++ requirements.
Work required
- Fix setup and cleanup. Remove
apt-keyand unnecessary feed setup. Use a tested CMake version instead of unconditional Kitware/Homebrew upgrades. Stop on command failures; do not let cleanup hide a failed build. Delete only disposable outputs, not.gitor repository-wide XML/archive files. - Fix release conditions. Add
succeeded()and consistent full-branch/non-PR checks to packaging, signing and publishing conditions. Keep publication opt-in. RemovecontinueOnErrorfrom required downloads and publication; replace repeated push steps with bounded retries that ultimately fail. - Restore hash verification. Remove
/p:UpdateSHA=truefrom normal CI. It overwrites the expected LibTorch hash before comparison. Update hashes only in reviewed dependency changes. - Check package completeness. Fail release packaging when managed/native assets, CUDA fragments or signatures are missing. Exercise both
BuildLibTorchPackagessettings, including Windows jobs that currently skip the explicit TorchSharp build when false. - Run meaningful tests. Validate PRs and
main; include FileRestitcher and package-consumer smoke tests. Add ARM64 execution on suitable runners, or clearly mark those jobs build-only. GitHub Actions offers macOS ARM64 runners; Azure's equivalent remains restricted. Require non-empty test results and retain TRX/binlogs. - Repair release-note updates. Reproduce the Git failure, check token permissions and branch rules, and handle concurrent merges before re-enabling the workflow.
- Check the external release pipeline. Verify its images, signing certificate, credentials and approvals. Resolve the split between
TestPackagesandSignedPackages, then rehearse restore, native loading and signature checks using a staging feed. - Keep it maintained. Centralise package-version overrides, add scheduled validation/update proposals, fix the misplaced job timeout, and replace obsolete build instructions in
DEVGUIDE.md.
- Dominant language
- C#
- Stars
- 1.9k
- Forks
- 230
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from dotnet/TorchSharp
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
dotnet/TorchSharp#1583 ·
-
Difficulty 4/5 Over a week Newbie friendliness 30/100
dotnet/TorchSharp#1581 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 56/100
dotnet/TorchSharp#1574 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 48/100
dotnet/TorchSharp#1567 ·
-
question
Difficulty 5/5 Over a week Newbie friendliness 25/100
dotnet/TorchSharp#1557 ·
All issues in dotnet/TorchSharp
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
AvaloniaUI/Avalonia#22420 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
dotnet/SqlClient#4823 · 1 comment ·
Maintainers usually reply within 2 days
-
type/automation type/tech-debt
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
clockworklabs/SpacetimeDB#6124 ·
Maintainers usually reply within 1 day
-
area-integrations
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day