feat: Add `symlink-map` action
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia dal punto di ingresso della GitHub Action del repository ed esamina gli input links e mapping_file, incluso lo schema pubblicato all'indirizzo https://schemas.arusty.dev/gha/symlink-map/v1.schema.json. Confronta il comportamento con gli output di sparse-checkout-aggregate e verifica che la validazione, i symlink relativi, la creazione delle directory principali e la modalità clean soddisfino la specifica.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Shell
- Stelle
- 0
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di aRustyDev/gh
-
dependencies github-actions
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 10/100
-
dependencies github-actions
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 15/100
-
dependencies github-actions
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 50/100
-
dependencies github-actions
Difficoltà 2/5 1-3 ore Idoneità per principianti 20/100
-
dependencies github-actions
Difficoltà 2/5 1-3 ore Idoneità per principianti 10/100
Tutte le issue di aRustyDev/gh
Issue simili
-
area: harness bug status: needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Human-Agent-Society/reef#625 ·
-
module: core
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
bigbluebutton/bigbluebutton#25849 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
vercel-labs/just-bash#464 ·
-
area:sandbox documentation enhancement platform:linux
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
anthropics/claude-code#96664 ·
-
cost:cheap severity:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
fairagro/m4.2_sql_to_arc#227 ·