Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

feat: Add `symlink-map` action

Aperta
#5 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
github-actions, shell
Ambito
ci-cd, devops

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

enhancement new-action

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 clean mode 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-aggregate action
  • 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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di aRustyDev/gh

Tutte le issue di aRustyDev/gh

Issue simili

Altre issue su Shell/Bash

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.