Desencadenamiento de un flujo de trabajo

Completado

No se debe permitir que nadie inserte los cambios directamente en la rama principal del repositorio de código. Lo ideal es que, si se necesita algún desarrollo, se realicen los cambios de una copia del código en una rama.

Un enfoque común es trabajar con ramas de características, donde se usa una rama para trabajar en una característica. Por ejemplo, es posible que el equipo de ciencia de datos necesite mejorar el rendimiento del modelo y que lo haga experimentando con los valores de los hiperparámetros. El equipo puede crear una rama o actualizar el valor de los hiperparámetros en el script de entrenamiento. Y una vez haya finalizado el experimento, un científico de datos puede crear una solicitud de incorporación de cambios para combinar la rama con el repositorio principal.

Trabajar con ramas y solicitudes de incorporación de cambios le permite comprobar los cambios en el código antes de combinarlos con la rama principal. Las solicitudes de incorporación de cambios también se pueden usar como desencadenadores de Acciones de GitHub para automatizar las tareas que necesiten seguir una actualización propuesta al código, como las comprobaciones automáticas de calidad del código.

Para usar el desarrollo basado en características junto con la automatización, deberá:

  • Crear una regla de protección de rama para bloquear el envío de cambios directo en la rama principal.
  • Crear una rama para actualizar el código.
  • Desencadenar un flujo de trabajo de Acciones de GitHub al abrir una solicitud de incorporación de cambios.

Crear una regla de protección de rama

Para proteger el código, debe bloquear el envío de cambios directo a la rama principal. Bloquear el envío de cambios directo significa que nadie podrá insertar directamente ningún cambio de código en la rama principal. En su lugar, se pueden realizar cambios en la rama principal mediante la combinación de solicitudes de incorporación de cambios.

Para proteger la rama principal, habilite una regla de protección de rama en GitHub:

  1. Ir a la pestaña Configuración del repositorio.
  2. En la pestaña Configuración, en Código y automatización, seleccione Ramas.
  3. Seleccione Agregar regla.
  4. Escriba main en Patrón de nombre de rama.
  5. Habilite Requerir una solicitud de incorporación de cambios antes de combinar y Requerir aprobaciones.
  6. Guarde los cambios.

Captura de pantalla de la configuración de la regla de protección de rama en GitHub.

Crear una rama para actualizar el código.

Siempre que quiera editar el código, tendrá que crear una rama y trabajar allí. Una vez que desee realizar los cambios definitivos, puede crear una solicitud de incorporación de cambios para combinar la rama de características con la rama principal.

Desencadenar un flujo de trabajo de Acciones de GitHub

Por último, puede usar la creación de solicitudes de incorporación de cambios como desencadenador de flujos de trabajo de Acciones de GitHub. Por ejemplo, siempre que alguien realice cambios en el código, podrá ejecutar algunos comprobaciones de calidad del código.

Únicamente cuando el código editado supere las comprobaciones de calidad y se comprueben los cambios propuestos, podrá combinar la solicitud de incorporación de cambios.

Para desencadenar un flujo de trabajo de Acciones de GitHub, puede usar on: [pull_request]. Al usar este desencadenador, el flujo de trabajo se ejecutará cada vez que se cree la solicitud de incorporación de cambios.

Si desea que un flujo de trabajo se ejecute cada vez que se combine una solicitud de incorporación de cambios, deberá usar otro desencadenador. La combinación de una solicitud de incorporación de cambios es básicamente un envío de cambios en la rama principal. Por lo tanto, para desencadenar la ejecución de un flujo de trabajo cuando se combina una solicitud de incorporación de cambios, use el siguiente desencadenador en el flujo de trabajo de Acciones de GitHub:

on:
  push:
    branches:
      - main