volver al menúGatsby logo

Control de Pull Request

Configuración del archivo pipeline.yml

pull_request:
  types: [opened, synchronize]

Pasos para controlar un Pull Request

  1. Abre un nuevo Pull Request o actualiza uno existente.
  2. El evento "opened" o "synchronize" en el archivo pipeline.yml se activará cuando se abra o actualice un Pull Request.
  3. El sistema ejecutará automáticamente las tareas definidas en el archivo pipeline.yml para el Pull Request en cuestión.
  4. Estas tareas pueden incluir pruebas automatizadas, análisis de código estático, generación de informes, entre otros procesos.
  5. Si todas las tareas definidas en el archivo pipeline.yml se completan con éxito, el Pull Request puede ser considerado para la fusión (merge).
  6. Si alguna de las tareas falla, se puede realizar una acción adecuada según las políticas y el flujo de trabajo establecidos en el proyecto. En este caso, queda inhabilitado el botón del Merge.
  7. Los desarrolladores y revisores del proyecto pueden agregar comentarios y realizar revisiones en el Pull Request para discutir los cambios propuestos.
  8. Una vez que se resuelven los problemas y se obtienen las aprobaciones necesarias, el Pull Request puede fusionarse con la rama principal del proyecto.

Configuraciones necesarias para ver el control pull request en acción

  • ir a Settings, luego branches, escoger la rama que se desea proteger y luego implementar las opciones que se desean, por ejemplo:
  • Protect matching branches: Esta configuración está habilitada para proteger la rama principal del proyecto.
  • Require a pull request before merging: Se requiere la creación de un Pull Request para realizar fusiones en la rama protegida.
  • Require approvals: Antes de la fusión, se deben obtener aprobaciones de revisores asignados al Pull Request.
  • Require status checks to pass before merging: Los "status checks" automatizados deben aprobarse antes de que la fusión sea permitida.
  • Require branches to be up to date before merging: La rama de destino debe estar actualizada antes de que se permita la fusión.
  • Search for status checks in the last week for this repo: Debemos buscar el nombre del job, en este caso fue test.
  • test

Beneficios del control de Pull Request

  • Proporciona un proceso estructurado para revisar y discutir los cambios propuestos.
  • Asegura que se realicen pruebas y análisis antes de fusionar los cambios en el proyecto.
  • Permite la colaboración entre desarrolladores y revisores para mejorar la calidad del código.
  • Facilita la documentación y el seguimiento de los cambios realizados en el proyecto.

Configuracion completa


      name: Jasmine Test

      on:
        push:
          branches: [main]
        pull_request:
          branches: [main]
          types: [opened, synchronize]
      
      jobs:
        test:
          runs-on: ubuntu-latest
          steps:
          - name: Checkout code
            uses: actions/checkout@v3
          - name: Install dependencies
            run: npm install
          - name: Run Jasmine Test
            run : npm test
      
        build:
          runs-on: ubuntu-latest
          needs: test
          steps:
            - name: Checkout code
              uses: actions/checkout@v3
            - name: Install dependencies
              run: npm install
            - name: Build and deploy
              run: echo "This step will always run"