Preskoči na sadržaj

Build je pao — kako triažiram?

TL;DR

2 minuta: git log --oneline -5 + git diff HEAD~1 --stat da vidiš šta se promijenilo, pa grep-uj fail log za keyword (auth, network, schema). Ako ništa — lokalni parity gate (ci/syntax + ci/ruff + ci/pylint --changed + ci/pytest) obično nađe razliku.

2-minutni triage

  1. Pogledaj zadnji commit:

    git log --oneline -5
    

    Je li to tvoj commit, ili neko drugi? Ako je neko drugi — pričekaj ili kontaktiraj autora.

  2. Pogledaj diff stat:

    git diff HEAD~1 --stat
    

    Šta se promijenilo — ci/, services.json, Dockerfile, pyproject.toml?

  3. Pročitaj fail log. Traži:

    • 401 / 403 / Unauthorized — auth problem (token istekao, var obrisan). Vidi Auth dolje.
    • 404 / Not Found — servis ne postoji, env var fale, ili services.json referencira nepostojeći resurs.
    • 500 / Internal Server Error — vendor problem; ne diraj, retry.
    • Connection / Timeout — mreža ili vendor down.
    • No such file / FileNotFoundError — putanja ili env var.
    • VendorAuthError — vidi Auth.
  4. Lokalni parity gate (CI propušta a lokalno zeleno je najčešći signal da je okruženje drift-ovalo):

    ci/syntax/validate.py &&
      ci/ruff/lint.py . &&
      CI_PYLINT_JOBS=8 ci/pylint/lint.py ci/ tests/ --changed &&
      ci/bandit/scan.py . &&
      ci/markdownlint/lint.py . --exclude .claude/ --exclude .planning/ &&
      ci/pyright/lint.py &&
      ci/pytest/test.py tests/ -n auto --dist worksteal
    

    Ako ovo prođe zeleno, problem je u pipeline env, ne u kodu.

Po kategoriji

Auth (401/403)

  • Docker Hub: DOCKER_HUB_* var istekao. Refresh u BB repo vars.
  • Coolify / Infisical / Sentry: VendorAuthError je već logovao. NE retry — token je stvarno loš, retry neće pomoći.
  • Bitbucket: BITBUCKET_API_TOKEN istekao ili povučen. Provjeri u BB repo settings.

Schema

  • services.json ne prolazi validator. Vidi 02-systems/01-two-schemas.md.
  • Ako je nova verzija u pitanju: ci/json/services_migrate.py services.json --to <target>.

Cache

  • Bitbucket ponekad vraća stari cache. Clear u workspace-u (ne na main!): git clean -fdx && git reset --hard.
  • Docker layer cache: docker builder prune na runneru.

Mreža / vendor down

  • Coolify/Infisical/Sentry incidenti se loguju u Slack #infopuls-incidents. Ne diraj, čekaj.

Kada eskalirati

  • Pipeline je zelen, ali image ne radi — nema veze sa buildom, idi na deploy incident.
  • Build se mijenja, drugi servis je OK — problem je specifičan za ovaj servis, otvori incident ticket.
  • Build se mijenja, svi servisi pucaju — infrastruktura problem (vendor down, BB incident). Ne diraj, čekaj.

Vidi i