Commit Graph
8 Commits
Author SHA1 Message Date
mmacierzanka 94be2c7c79 Remove CI cache (has issues)
Backend / Lint i formatowanie (pull_request) Successful in 4s
Backend / Testy i kontrakt API (pull_request) Successful in 4s
Panel / Lint, typy i build (pull_request) Successful in 22s
Backend / Testowy build obrazu (pull_request) Successful in 1m48s
2026-08-21 15:49:55 +02:00
mmacierzanka 6978b23055 Fix frontend CI
Backend / Lint i formatowanie (pull_request) Successful in 4s
Panel / Lint, typy i build (pull_request) Successful in 4m48s
Backend / Testowy build obrazu (pull_request) Canceled after 0s
Backend / Testy i kontrakt API (pull_request) Canceled after 7m8s
2026-08-21 15:38:33 +02:00
mmacierzanka 384770565a refactor: consolidate frontend serving and add health check
Backend / Lint i formatowanie (pull_request) Successful in 4s
Panel / Lint, typy i build (pull_request) Successful in 4m50s
Panel / Testowy build obrazu (pull_request) Failing after 2s
Backend / Testy i kontrakt API (pull_request) Successful in 9m24s
Backend / Testowy build obrazu (pull_request) Successful in 1m38s
2026-08-21 15:29:45 +02:00
mmacierzanka 240120db92 Merge branch 'release/4.0' into refactor/frontend-vue
# Conflicts:
#	.gitignore
#	web.py
2026-08-21 15:15:11 +02:00
mmacierzanka 4468f96c3b Use pip cache (already configured) when installing packages
Backend / Lint i formatowanie (pull_request) Successful in 3s
Backend / Testy i kontrakt API (pull_request) Successful in 9m25s
Backend / Testowy build obrazu (pull_request) Successful in 6s
2026-08-21 13:50:40 +02:00
lgooseandClaude Bot 1f0a92b6f6 fix(ci): stabilne sprawdzenie proxy w jobie image panelu
Panel / Lint, typy i build (pull_request) Successful in 4m56s
Panel / Testowy build obrazu (pull_request) Successful in 18s
Krok padał na runnerze bez żadnego komunikatu. Powód był podwójny:

- asercja zakładała, że bez backendu nginx odpowie 502, a to zależy od
  tego, jak szybko zawiedzie DNS. Na runnerze zapytanie wisiało 30 sekund,
  aż do domyślnego resolver_timeout.
- grep bez dopasowania kończy się kodem 1, a Gitea uruchamia kroki w
  bash -e -o pipefail, więc podstawienie zmiennej przerywało cały krok,
  zanim zdążył wypisać powód. Lokalnie tego nie było widać, bo zsh nie
  ustawia tych flag.

Zamiast opierać się na tym, że proxy zawiedzie, job stawia teraz atrapę
backendu pod nazwą discord-bot - dokładnie tą, którą wskazuje nginx.conf
i compose.yaml - i sprawdza, że przez proxy wraca treść z atrapy. Test
przechodzi więc wtedy, gdy przekazywanie faktycznie działa, a nie wtedy,
gdy zawodzi w oczekiwany sposób. Sprawdzane jest też /ws.

Pozostałe usztywnienia: limit czasu na każde zapytanie, || true tam, gdzie
brak dopasowania jest poprawnym wynikiem, jawne komunikaty błędów z logiem
kontenera oraz sprzątanie kontenerów i sieci przez trap.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 01:44:07 +02:00
lgooseandClaude Bot c5e016605b ci: pipeline panelu dla Gitea Actions
Panel / Lint, typy i build (pull_request) Successful in 4m55s
Panel / Testowy build obrazu (pull_request) Failing after 49s
Workflow .gitea/workflows/frontend.yaml z dwoma jobami:

- verify  npm ci, ESLint, kontrola typów, build produkcyjny i test dymny
- image   walidacja compose.yaml, build obrazu panelu i sprawdzenie
          działającego kontenera; job czeka na verify

Test dymny działa na zbudowanym artefakcie, a nie na źródłach, więc
sprawdza dokładnie to, co trafia do obrazu.

Job image weryfikuje trzy rzeczy w uruchomionym kontenerze: czy nginx
oddaje panel, czy nieznana ścieżka wraca jako index.html (fallback SPA)
oraz czy /api jest przekazywane do backendu. Backendu w tym kroku nie ma,
więc oczekiwaną odpowiedzią jest błąd bramy - 502 dowodzi, że reguła proxy
istnieje i celuje w usługę discord-bot, podczas gdy 404 oznaczałoby, że
nginx potraktował /api jak ścieżkę aplikacji.

Filtry paths ograniczają uruchomienia do zmian w katalogu frontend,
compose.yaml i samym workflow.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 01:34:55 +02:00
lgooseandClaude Bot fd8d71a80d ci: pipeline backendu dla Gitea Actions
Backend / Lint i formatowanie (pull_request) Successful in 20s
Backend / Testy i kontrakt API (pull_request) Successful in 4m58s
Backend / Testowy build obrazu (pull_request) Successful in 1m34s
Workflow .gitea/workflows/backend.yaml z trzema jobami:

- lint   ruff check oraz ruff format --check --diff
- test   testy jednostkowe i kontrakt API, plus compileall całego pakietu
- image  testowy build obrazu; job czeka na lint i test

Job image nie poprzestaje na zbudowaniu obrazu - uruchamia kontener bez
prawdziwego tokenu Discorda i czeka, aż /api/status odpowie. Panel łączy
się z backendem po sieci, więc sam start procesu niczego nie dowodzi.
Zapytanie leci z wnętrza kontenera, dzięki czemu krok nie zależy od tego,
czy runner ma zainstalowanego curla albo wgeta.

Filtry paths ograniczają uruchomienia do zmian w kodzie Pythona,
zależnościach, konfiguracji lintera, Dockerfile i samym workflow.

Zależności instalują się z gotowych kółek, więc obraz CI nie potrzebuje
kompilatora. ffmpeg i libopus są wymagane dopiero przy odtwarzaniu,
a testy nie dotykają warstwy audio.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 01:25:40 +02:00