Docs soundness check fails in the vicinity of platform-specific API

Đang mở
#166 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
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
swift
Lĩnh vực
ci-cd, documentation

Hướng nghiên cứu

Bắt đầu với quá trình build Linux DocC bundle và bước kiểm tra soundness được mô tả trong issue, tập trung vào các tham chiếu đến những symbol được đánh dấu @available(unavailable) trên Linux. So sánh cách bước kiểm tra có thể xử lý API dành riêng cho nền tảng giữa các biến thể package và target được đề cập, đồng thời cân nhắc các hướng tiếp cận khả dĩ được liệt kê trong issue. Công việc được xem là hoàn tất khi bước kiểm tra không còn báo lỗi sai đối với tài liệu hợp lệ dành riêng cho nền tảng.

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

Mô tả

The docs soundness check runs on Linux currently. Swift Testing has some Apple-specific API (and some Windows-specific API) and our DocC bundle contains some references to symbols that are marked @available(unavailable) on Linux. As a result, when we build our DocC bundle on Linux, those symbols are called out as missing. When we run the soundness check, it fails outright.

We need some general way to solve this problem for packages/targets/etc. that have platform-specific API variation. I'm not sure what a good solution looks like here. I don't know if that means making a change in swift-docc to introduce something like #if, or if it means having the soundness check run for multiple targets and combine results, or set a Swift compiler condition during the build that we can use to "opt out" some code from the check, or…

This problem isn't specific to Swift Testing: swift-system and swift-subprocess are also impacted, for example.

Ngôn ngữ chính
Swift
Star
115
Fork
57
Merge trung bình
1 ngày 8 giờ
Pull request đã merge (30 ngày)
3

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

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 swiftlang/github-workflows

Tất cả issue của swiftlang/github-workflows

Issue tương tự

Thêm issue về Swift

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.