Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

feat: Add `symlink-map` action

Abierto
#5 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
github-actions, shell
Área
ci-cd, devops

Línea de trabajo

Comienza con el punto de entrada de GitHub Action del repositorio y revisa las entradas links y mapping_file, incluido el esquema publicado en https://schemas.arusty.dev/gha/symlink-map/v1.schema.json. Compara el comportamiento con las salidas de sparse-checkout-aggregate y verifica que la validación, los symlinks relativos, la creación de directorios padre y el modo clean cumplan la especificación.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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
Lenguaje dominante
Shell
Estrellas
0
Forks
0
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de aRustyDev/gh

Todos los issues de aRustyDev/gh

Issues similares

Más issues de Shell/Bash

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.