From db8fb7085e6238a852eb70530dc16a136caabeb2 Mon Sep 17 00:00:00 2001 From: kapumota Date: Tue, 9 Jun 2026 00:45:40 -0500 Subject: [PATCH] fase 9.2: separa valgrind del flujo principal de ci --- .github/workflows/agfast-quality.yml | 31 ------------------- .github/workflows/valgrind.yml | 34 +++++++++++++++++++++ docs/CI.md | 45 ++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+), 31 deletions(-) create mode 100644 .github/workflows/valgrind.yml diff --git a/.github/workflows/agfast-quality.yml b/.github/workflows/agfast-quality.yml index 6ac4f76..bde5364 100644 --- a/.github/workflows/agfast-quality.yml +++ b/.github/workflows/agfast-quality.yml @@ -4,13 +4,10 @@ on: push: branches: - main - - "fase-*" pull_request: branches: - main workflow_dispatch: - schedule: - - cron: "0 8 * * 1" jobs: build-and-test: @@ -51,31 +48,3 @@ jobs: run: | make clean git status --short - - valgrind: - name: Valgrind optional - runs-on: ubuntu-latest - if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' - - steps: - - name: Descargar repositorio - uses: actions/checkout@v4 - - - name: Instalar dependencias con Valgrind - run: | - sudo apt-get update - sudo apt-get install -y build-essential make python3 libssl-dev valgrind - - - name: Compilar proyecto - run: | - make clean - make - - - name: Ejecutar Valgrind - run: | - make test-valgrind - - - name: Limpiar artefactos locales - run: | - make clean - git status --short diff --git a/.github/workflows/valgrind.yml b/.github/workflows/valgrind.yml new file mode 100644 index 0000000..cd60564 --- /dev/null +++ b/.github/workflows/valgrind.yml @@ -0,0 +1,34 @@ +name: Valgrind + +on: + workflow_dispatch: + schedule: + - cron: "0 8 * * 1" + +jobs: + valgrind: + name: Valgrind memory check + runs-on: ubuntu-latest + + steps: + - name: Descargar repositorio + uses: actions/checkout@v4 + + - name: Instalar dependencias con Valgrind + run: | + sudo apt-get update + sudo apt-get install -y build-essential make python3 libssl-dev valgrind + + - name: Compilar proyecto + run: | + make clean + make + + - name: Ejecutar Valgrind + run: | + make test-valgrind + + - name: Limpiar artefactos locales + run: | + make clean + git status --short diff --git a/docs/CI.md b/docs/CI.md index f1040b2..4ce4f57 100644 --- a/docs/CI.md +++ b/docs/CI.md @@ -103,3 +103,48 @@ Esta fase no modifica pruebas existentes. Esta fase no agrega dependencias runtime al proyecto. Esta fase solo agrega automatización de calidad. + +### Workflows separados + +#### AGFast Quality + +El workflow principal de calidad es: + +```text +.github/workflows/agfast-quality.yml +``` + +Este workflow se ejecuta en: + +- push a `main`; +- pull request hacia `main`; +- ejecución manual. + +No se ejecuta por push directo a ramas `fase-*` para evitar duplicados cuando ya existe un pull request abierto. + +#### Valgrind + +Valgrind se mueve a un workflow separado: + +```text +.github/workflows/valgrind.yml +``` + +Este workflow se ejecuta en: + +- ejecución manual; +- ejecución programada semanal. + +No se ejecuta en cada pull request porque puede ser más lento que las pruebas principales. + +#### Motivo del cambio + +Separar Valgrind evita que GitHub muestre jobs omitidos en cada pull request. + +También mantiene el PR más limpio visualmente y conserva una validación de memoria disponible para revisión profunda. + +#### Resultado esperado + +En un pull request normal deben aparecer checks exitosos del flujo principal. + +El workflow de Valgrind queda disponible desde la pestaña Actions para ejecución manual.