Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 0 additions & 31 deletions .github/workflows/agfast-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,10 @@ on:
push:
branches:
- main
- "fase-*"
pull_request:
branches:
- main
workflow_dispatch:
schedule:
- cron: "0 8 * * 1"

jobs:
build-and-test:
Expand Down Expand Up @@ -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
34 changes: 34 additions & 0 deletions .github/workflows/valgrind.yml
Original file line number Diff line number Diff line change
@@ -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
45 changes: 45 additions & 0 deletions docs/CI.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Loading