Nota: Actualmente los ejecutores hospedados en GitHub no se admiten en GitHub Enterprise Server. Puede ver más información sobre la compatibilidad futura planeada en GitHub public roadmap.
Información general de ejemplo
En este artículo se usa un flujo de trabajo de ejemplo para mostrar algunas de las principales características de CI de GitHub Actions. Cuando se desencadena este flujo de trabajo, ejecuta automáticamente un script que comprueba si el sitio de documentación de GitHub tiene vínculos rotos.
En el diagrama siguiente se muestra una vista general de los pasos del flujo de trabajo y de cómo se ejecutan en el trabajo:
Características que se usan en este ejemplo
El flujo de trabajo de ejemplo muestra las funcionalidades siguientes de GitHub Actions.
Característica | Implementación |
---|---|
Desencadenamiento de un flujo de trabajo para que se ejecute automáticamente | push |
Flujo de trabajo de ejemplo
El flujo de trabajo siguiente lo creó el equipo de ingeniería de documentos de GitHub. Para revisar la versión más reciente de este archivo en el repositorio github/docs
, consulta check-broken-links-github-github.yml
.
Nota: cada línea de este flujo de trabajo se explica en la sección siguiente en "Descripción del ejemplo".
name: 'Link Checker: All English'
# **What it does**: Renders the content of every page and check all internal links.
# **Why we have it**: To make sure all links connect correctly.
# **Who does it impact**: Docs content.
on:
workflow_dispatch:
push:
branches:
- main
pull_request:
permissions:
contents: read
# Needed for the 'trilom/file-changes-action' action
pull-requests: read
# This allows a subsequently queued workflow run to interrupt previous runs
concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true
jobs:
check-links:
runs-on: ${{ fromJSON('["ubuntu-latest", "self-hosted"]')[github.repository == 'github/docs-internal'] }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 16.13.x
cache: npm
- name: Install
run: npm ci
# Creates file "$/files.json", among others
- name: Gather files changed
uses: trilom/file-changes-action@a6ca26c14274c33b15e6499323aac178af06ad4b
with:
fileOutput: 'json'
# For verification
- name: Show files changed
run: cat $HOME/files.json
- name: Link check (warnings, changed files)
run: |
./script/rendered-content-link-checker.mjs \
--language en \
--max 100 \
--check-anchors \
--check-images \
--verbose \
--list $HOME/files.json
- name: Link check (critical, all files)
run: |
./script/rendered-content-link-checker.mjs \
--language en \
--exit \
--verbose \
--check-images \
--level critical
Descripción del ejemplo
En la tabla siguiente se explica cómo se usa cada una de estas características al crear un flujo de trabajo de GitHub Actions.
Código | Explicación |
---|---|
|
El nombre del flujo de trabajo tal como aparecerá en la pestaña "Acciones" del repositorio GitHub. |
|
La palabra clave |
|
Agrega el evento |
|
Agrega el evento |
|
Agrega el evento |
|
Modifica los permisos predeterminados concedidos a |
|
Crea un grupo de simultaneidad para eventos específicos y utiliza el operador |
|
Cancela cualquier flujo de trabajo o trabajo actualmente en ejecución en el mismo grupo de simultaneidad. |
|
Agrupa todos los trabajos que se ejecutan en el archivo de flujo de trabajo. |
|
Define un trabajo con el id. |
|
Configura el trabajo para que se ejecute en un ejecutor hospedado de GitHub o en un ejecutor autohospedado, en función del repositorio que ejecuta el flujo de trabajo. En este ejemplo, el trabajo se ejecutará en un ejecutor autohospedado si el repositorio tiene el nombre |
|
Agrupa todos los pasos que se ejecutarán como parte del trabajo |
|
La palabra clave |
|
En este paso, se usa la acción |
|
La palabra clave |
|
Usa la acción |
|
Muestra una lista del contenido de |
|
En este paso se usa el comando |
|
En este paso también se usa el comando |
Pasos siguientes
- Para información sobre los conceptos de GitHub Actions, consulta "Entender las GitHub Actions".
- Para una guía detallada sobre la creación de un flujo de trabajo básico, consulta "Guía de inicio rápido para GitHub Actions".
- Si ya conoces los aspectos básicos de GitHub Actions, puedes obtener información sobre los flujos de trabajo y sus características en "Acerca de los flujos de trabajo".