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.
Se requiere tener acceso de escritura en el repositorio para llevar a cabo estos pasos.
Cancelar una ejecución de flujo de trabajo
-
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 izquierda, da clic en el flujo de trabajo que quieras ver.
-
Desde la lista de ejecuciones de flujo de trabajo, haga clic en el nombre de la ejecución de
queued
oin progress
que quiera cancelar. -
En la esquina superior derecha del flujo de trabajo, haga clic en Cancelar flujo de trabajo.
Pasos que toma GitHub para cancelar una ejecución de flujo de trabajo
Cuando cancelas una ejecución de flujo de trabajo, tal vez estés ejecutando otro software que utiliza recursos que se relacionan con ésta. Para ayudarte a liberar los recursos relacionados con dicha ejecución de flujo de trabajo, podría ser útil entender los pasos que realiza GitHub para cancelar una ejecución de flujo de trabajo.
- Para cancelar una ejecución de flujo de trabajo, el servidor vuelve a evaluar las condiciones
if
para todos los trabajos que se ejecutan actualmente. Si la condición se evalúa comotrue
, el trabajo no se cancelará. Por ejemplo, la condiciónif: always()
se evaluaría como true y el trabajo continúa en ejecución. Cuando no hay condición, es equivalente a una condiciónif: success()
, que solo se ejecuta si el paso anterior ha finalizado correctamente. - Para los jobs que necesitan cancelarse, el servidor envía un mensaje de cancelación a todas las máquinas ejecutoras con jobs que necesitan cancelarse.
- Para los trabajos que siguen en ejecución, el servidor vuelve a evaluar las condiciones
if
para los pasos sin finalizar. Si la condición se evalúa comotrue
, el paso continúa ejecutándose. Puedes usar la expresióncancelled
para aplicar una comprobación de estado decancelled()
. Para más información, consulte «Evaluación de expresiones en flujos de trabajo y acciones». - Para los pasos que se deben cancelar, la máquina del ejecutor envía
SIGINT/Ctrl-C
al proceso de entrada del paso (node
para la acción javascript,docker
para la acción contenedora ybash/cmd/pwd
cuando se usarun
en un paso). Si el proceso no sale en 7500 ms, el ejecutor enviaráSIGTERM/Ctrl-Break
al proceso y, después, esperará 2500 ms hasta que el proceso salga. Si el proceso aún está ejecutándose, el ejecutor finalizará abruptamente el árbol de proceso. - Después de los 5 minutos del periodo de expiración de plazo de cancelación, el servidor forzará la terminación de todos los jobs y pasos que no hayan finalizado la ejecución o que hayan fallado en completar el proceso de cancelación.