feat: Add `symlink-map` action
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu với entrypoint của GitHub Action của repository và xem xét các input links và mapping_file, bao gồm schema đã được công bố tại https://schemas.arusty.dev/gha/symlink-map/v1.schema.json. So sánh hành vi với các output của sparse-checkout-aggregate và xác minh rằng validation, symlink tương đối, việc tạo thư mục cha và chế độ clean đáp ứng đặc tả.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
Create a reusable GitHub Action that creates symlinks from an explicit list or mapping file.
Use Case
After sparse-checkout-aggregate clones documentation sources, create symlinks to make them accessible to the build tool (e.g., mdbook).
Specification
Inputs
| Input | Required | Default | Description |
|---|---|---|---|
links |
No* | — | JSON array of { source, target } |
mapping_file |
No* | — | Path to mapping file (must match schema) |
source_prefix |
No | — | Prefix for source paths (with mapping_file) |
target_prefix |
No | — | Prefix for target paths (with mapping_file) |
clean |
No | false |
Remove existing symlinks in target dirs first |
*One of links or mapping_file required.
Example Usage
# From job outputs (preferred)
- uses: arustydev/gha/symlink-map@v1
with:
links: ${{ steps.aggregate.outputs.symlinks }}
# OR from mapping file
- uses: arustydev/gha/symlink-map@v1
with:
mapping_file: sources.yml
source_prefix: .sources
target_prefix: books
Links Format
[
{ "source": ".sources/ai/docs/src", "target": "books/ai" },
{ "source": ".sources/just/docs/src", "target": "books/just" }
]
Implementation Notes
- Validate source paths exist before creating symlinks
- Create parent directories for targets if needed
- Use relative symlinks where possible
- Support
cleanmode to remove stale symlinks - Validate against schema when using mapping_file
Schema
Schema will be published at https://schemas.arusty.dev/gha/symlink-map/v1.schema.json
See: arustydev/schemas for schema definition.
Related
- Part of docs aggregation workflow extraction
- Consumes outputs from
sparse-checkout-aggregateaction - Schema tracked in arustydev/schemas
- Ngôn ngữ chính
- Shell
- Star
- 0
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của aRustyDev/gh
-
dependencies github-actions
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 10/100
-
dependencies github-actions
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 15/100
-
dependencies github-actions
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 50/100
-
dependencies github-actions
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 20/100
-
dependencies github-actions
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 10/100
Issue tương tự
-
[Bug] reef-hermes tells me to resume with hermes --resume, which does not work from my shell Đang mởarea: harness bug status: needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Human-Agent-Society/reef#625 ·
-
module: core
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
bigbluebutton/bigbluebutton#25849 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
vercel-labs/just-bash#464 ·
-
area:sandbox documentation enhancement platform:linux
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
anthropics/claude-code#96664 ·
-
cost:cheap severity:medium
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
fairagro/m4.2_sql_to_arc#227 ·