Update CI/CD toolchains and fix missing validation

Đang mở
#1,579 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Sôi nổi
Công nghệ
azure, cmake, csharp, github-actions

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

The latest retained Azure build, 129260, passed on 21 July, but:

  • Linux setup logged sudo: 'apt-key': command not found without 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-key and 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 .git or 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. Remove continueOnError from required downloads and publication; replace repeated push steps with bounded retries that ultimately fail.
  • Restore hash verification. Remove /p:UpdateSHA=true from 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 BuildLibTorchPackages settings, 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 TestPackages and SignedPackages, 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.
Ngôn ngữ chính
C#
Star
1.9k
Fork
231
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của dotnet/TorchSharp

Tất cả issue của dotnet/TorchSharp

Issue tương tự

Thêm issue về C#

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.