Nota: GitHub ya no admite los flujos de trabajo necesarios para GitHub Actions. Para requerir que los flujos de trabajo se completen antes de combinar, actualiza tu instancia de GitHub Enterprise Server a la última versión y usa conjuntos de reglas de repositorio en su lugar.
Para obtener más información sobre cómo actualizar tu instancia de GitHub Enterprise Server, consulta "Acerca de las mejoras a los nuevos lanzamientos".
Para más información sobre los conjuntos de reglas de repositorios, consulta «Reglas disponibles para conjuntos de reglas».
Información general
Puedes configurar un flujo de trabajo que se debe ejecutar en repositorios de una organización para todas las solicitudes de incorporación de cambios abiertas en la rama predeterminada. Los flujos de trabajo obligatorios permiten implementar directivas de CI/CD para toda la organización que se aplican a los repositorios actuales y futuros. Los eventos de solicitud de cambios desencadenan un flujo de trabajo obligatorio y aparece como una comprobación de estado requerida, lo que bloquea la capacidad de combinar la solicitud de cambios hasta que el flujo de trabajo obligatorio se realice correctamente.
Los flujos de trabajo obligatorios no son flujos de trabajo reutilizables. Otro flujo de trabajo puede llamar a los flujos de trabajo reutilizables. Un propietario de la organización aplica los flujos de trabajo obligatorios en los repositorios.
Prerrequisitos
Antes de configurar un flujo de trabajo obligatorios, debes tener en cuenta los siguientes requisitos previos:
-
GitHub Actions deben estar habilitados para un repositorio en la configuración de la organización para que se ejecuten los flujos de trabajo obligatorios. Una vez que se habilitan en un nivel de organización, los flujos de trabajo obligatorios se ejecutarán incluso cuando GitHub Actions se deshabilita en la configuración del repositorio. Para más información sobre cómo administrar GitHub Actions en los repositorios de la organización, consulta "Inhabilitar o limitar GitHub Actions para tu organización".
-
Los flujos de trabajo obligatorios están disponibles para las organizaciones y solo en repositorios en los que el plan de la organización admite las comprobaciones de estado obligatorias. Si no se admiten las comprobaciones de estado obligatorias, el flujo de trabajo se seguirá ejecutando, pero no será una comprobación obligatoria y no bloqueará la combinación. Para más información sobre la compatibilidad con las comprobaciones de estado obligatorias, consulta "Acerca de las ramas protegidas".
-
La rama predeterminada del repositorio debe coincidir con la configuración de rama predeterminada de la organización para que los flujos de trabajo obligatorios se ejecuten como comprobaciones de estado obligatorias. Si los nombres de rama predeterminados no coinciden, el flujo de trabajo se seguirá ejecutando, pero no será una comprobación obligatoria. Para más información sobre cómo administrar los nombres de ramas predeterminadas, consulta "Administrar el nombre de la rama predeterminada para los repositorios en tu organización" y "Cambiar la rama predeterminada".
-
Para que se ejecuten los flujos de trabajo obligatorios, el repositorio de origen de la solicitud de incorporación de cambios debe estar en la misma organización que el repositorio de destino. GitHub Enterprise Server generará el flujo de trabajo necesario de la confirmación HEAD de la rama predeterminada del repositorio que contiene el flujo de trabajo.
-
Los secretos usados en un flujo de trabajo obligatorio se deben crear en el nivel de organización o en los repositorios de destino.
-
Los secretos del repositorio de origen no se capturarán cuando se ejecute un flujo de trabajo en el repositorio de destino.
-
Los flujos de trabajo obligatorios no se desencadenan automáticamente en las solicitudes de cambios ya existentes, aunque aparecen como comprobaciones esperadas de forma automática. Para desencadenar flujos de trabajo obligatorios para una solicitud de cambios ya existente, envía un nuevo cambio a esa solicitud.
Restricciones y comportamientos para el repositorio de origen
Debes tener en cuenta las siguientes restricciones y comportamientos para el repositorio de origen y el flujo de trabajo:
- Los flujos de trabajo obligatorios se pueden almacenar en cualquier carpeta del repositorio y no están restringidos a la carpeta
.github/workflows
, como los flujos de trabajo normales. Si un flujo de trabajo obligatorio llama a un flujo de trabajo reutilizable, el flujo de trabajo reutilizable debe almacenarse en la carpeta.github/workflows
. Al llamar a un flujo de trabajo reutilizable, un flujo de trabajo obligatorio debe usar la ruta completa y la referencia al flujo de trabajo reutilizable. Por ejemplo,{owner}/{repo}/.github/workflows/{filename}@{ref}
. - Si el flujo de trabajo obligatorio está incluido en un repositorio privadoor internal , debes asegurarte de que otros repositorios de la organización pueden acceder a los flujos de trabajo dentro del repositorio. Para más información, consulta "Administrar los ajustes de las GitHub Actions de un repositorio" y "Administrar los ajustes de las GitHub Actions de un repositorio."
- Los flujos de trabajo almacenados en un repositorio público se pueden configurar como flujos de trabajo obligatorios para cualquier repositorio de la organización. Los flujos de trabajo almacenados en un repositorio privado solo se pueden configurar como flujos de trabajo obligatorios para otros repositorios privados de la organización. Los flujos de trabajo almacenados en repositorios internos se pueden configurar según sea necesario para los repositorios internos y privados de la organización.
- CodeQL no se admiten en los flujos de trabajo necesarios porque CodeQL requiere configuración en el nivel de repositorio. Para información sobre la configuración del examen de código, consulta "Establecimiento del examen de código con CodeQL".
Restricciones y comportamientos para el repositorio de destino
Debes tener en cuenta las siguientes restricciones y comportamientos para los repositorios de destino:
- Al configurar un flujo de trabajo necesario para ejecutarse en todos o algunos repositorios, la visibilidad del repositorio que contiene el flujo de trabajo necesario afectará a los repositorios de la organización en los que se ejecuta el flujo de trabajo. Los flujos de trabajo necesarios almacenados en repositorios públicos se ejecutarán en todos los repositorios. Los flujos de trabajo necesarios almacenados en repositorios privados solo se ejecutarán en otros repositorios privados. Los flujos de trabajo necesarios almacenados en repositorios internos se ejecutarán en repositorios internos y privados.
- Los flujos de trabajo necesarios no se pueden configurar para ejecutarse en el repositorio en el que se crea el flujo de trabajo. Debes considerar la posibilidad de crear un repositorio independiente para almacenar los flujos de trabajo necesarios.
- Al configurar un flujo de trabajo necesario para ejecutarse en todos los repositorios o seleccionados, los flujos de trabajo necesarios no se ejecutarán en repositorios en los que las acciones estén deshabilitadas en la configuración de la organización.
Visualización de ejecuciones de flujo de trabajo para flujos de trabajo obligatorios
Después de que un flujo de trabajo obligatorio se haya ejecutado al menos una vez en un repositorio, puedes ver sus ejecuciones de flujo de trabajo en la pestaña "Acciones" de ese repositorio. Para realizar cambios en los flujos de trabajo configurados según sea necesario en una organización, debes ponerte en contacto con un propietario de la organización. Para realizar cambios en un flujo de trabajo obligatorio, cualquiera con permisos de escritura en el repositorio que contiene el flujo de trabajo obligatorio puede realizar cambios en él.
-
En tu instancia de GitHub Enterprise Server, navega a la página principal del repositorio.
-
En el nombre del repositorio, haz clic en Acciones.
-
En la barra lateral de la izquierda, puedes ver las ejecuciones de flujo de trabajo para los flujos de trabajo obligatorios en "Flujos de trabajo obligatorios".
Adición de un flujo de trabajo obligatorio a una organización
Los propietarios de la organización pueden configurar flujos de trabajo obligatorios en su organización. Para obtener más información, vea «Inhabilitar o limitar GitHub Actions para tu organización».