ci: fix OOM-killed test step (256Mi LimitRange) + document recall limits
Some checks failed
ci/woodpecker/push/deploy Pipeline failed
ci/woodpecker/push/build Pipeline was successful

The Forgejo build pipeline (woodpecker repo 158) has failed on every run
since the 2026-05-07 Forgejo-only switch: the `test` step was OOM-killed
(exit 137) during `mypy` because the woodpecker namespace LimitRange
defaults containers to a 256Mi memory limit, and `uv sync` + mypy over
fastapi/pydantic/sqlalchemy needs far more. As a result the recall-limit
fix (1c0193f0) could not be built/deployed.

Pin explicit memory (req 1Gi / limit 2Gi) on the `test` and
`build-and-push` steps via backend_options.kubernetes.resources, matching
the in-repo pattern (infra/.woodpecker/default.yml). Also document the
recall default limit (30) and the relevance-bound OR-broadening fallback
in README.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Viktor Barzin 2026-06-04 19:11:09 +00:00
parent 1c0193f011
commit f3ee7443ab
2 changed files with 25 additions and 0 deletions

View file

@ -12,6 +12,18 @@ clone:
steps:
- name: test
image: python:3.12-slim
# The woodpecker ns LimitRange defaults containers to a 256Mi memory limit.
# `uv sync` + mypy over fastapi/pydantic/sqlalchemy needs far more, so the
# step was OOM-killed (exit 137) on every run since the 2026-05-07 Forgejo
# switch — repo never built. Pin explicit memory so it never OOMs again.
backend_options:
kubernetes:
resources:
requests:
cpu: 500m
memory: 1Gi
limits:
memory: 2Gi
commands:
- pip install --no-cache-dir uv
- uv sync --all-extras
@ -23,6 +35,15 @@ steps:
image: woodpeckerci/plugin-docker-buildx
depends_on:
- test
# buildx + image export also exceeds the 256Mi ns default; give it room.
backend_options:
kubernetes:
resources:
requests:
cpu: 500m
memory: 1Gi
limits:
memory: 2Gi
settings:
# Phase 4 of forgejo-registry-consolidation 2026-05-07 — Forgejo only.
# The DockerHub mirror stays as the public-facing release target via