ci: kanał obrazu 'deploy' — promocja tylko na trigger [deploy] #20

Merged
gitea merged 1 commits from ci-deploy-channel into main 2026-08-03 18:45:45 +00:00
Owner

Po co

Deploy-bot ma się aktualizować tylko na konkretne wersje — kiedy w commit message jest [deploy]. Testowy bot i librarian dalej na każdy build.

Jak

Produkcyjny bot śledzi osobny obraz conjurer-bot-deploy (osobny kanał). Krok CI: jeśli git log -1 --pretty=%B zawiera [deploy], już zbudowany conjurer-bot:<sha> jest przetagowany (te same warstwy, bez rebuildu) i wypchnięty jako conjurer-bot-deploy:<sha>. Bez triggera — obraz deploy zostaje bez zmian.

Po stronie deploy: image-updater dostaje osobny alias na conjurer-bot-deploy (osobny images: w kustomization), więc deploy-bot podnosi się dopiero, gdy pojawi się nowy conjurer-bot-deploy — zmiany w repo deploy (deploy#11).

Bootstrap

Przy pierwszym uruchomieniu conjurer-bot-deploy jeszcze nie istnieje — trzeba albo zrobić pierwszy commit z [deploy], albo raz ręcznie przetagować istniejący obraz bota. Opisane w DEPLOY-BOT.md (deploy#11).

🤖 Generated with Claude Code

## Po co Deploy-bot ma się aktualizować **tylko na konkretne wersje** — kiedy w commit message jest **`[deploy]`**. Testowy bot i librarian dalej na każdy build. ## Jak Produkcyjny bot śledzi **osobny obraz** `conjurer-bot-deploy` (osobny kanał). Krok CI: jeśli `git log -1 --pretty=%B` zawiera `[deploy]`, już zbudowany `conjurer-bot:<sha>` jest **przetagowany** (te same warstwy, bez rebuildu) i wypchnięty jako `conjurer-bot-deploy:<sha>`. Bez triggera — obraz deploy zostaje bez zmian. Po stronie deploy: image-updater dostaje osobny alias na `conjurer-bot-deploy` (osobny `images:` w kustomization), więc deploy-bot podnosi się dopiero, gdy pojawi się nowy `conjurer-bot-deploy` — zmiany w repo `deploy` (deploy#11). ## Bootstrap Przy pierwszym uruchomieniu `conjurer-bot-deploy` jeszcze nie istnieje — trzeba albo zrobić pierwszy commit z `[deploy]`, albo raz ręcznie przetagować istniejący obraz bota. Opisane w DEPLOY-BOT.md (deploy#11). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
gitea self-assigned this 2026-08-03 18:10:40 +00:00
gitea added 1 commit 2026-08-03 18:43:44 +00:00
ci: add a [deploy]-gated image channel for the production bot
CI / compile (pull_request) Successful in 11s
CI / unit (pull_request) Successful in 27s
CI / integration (pull_request) Successful in 27s
build / build (push) Successful in 30s
CI / compile (push) Successful in 8s
CI / unit (push) Successful in 27s
CI / integration (push) Successful in 27s
fbd1ec9fb9
The production bot tracks a SEPARATE image, conjurer-bot-deploy, promoted
only when a commit message contains [deploy]. On such a commit the already-
built conjurer-bot:<sha> is re-tagged (same bytes, no rebuild) and pushed as
conjurer-bot-deploy:<sha>; the deploy repo's image-updater tracks it. The
test bot + librarian keep updating on every build.

Merging THIS commit is deliberately the FIRST [deploy]: it lands the
promotion step AND carries the trigger, so it bootstraps conjurer-bot-deploy
to this build - a clean baseline with every image at the same, current version.

[deploy]

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gitea force-pushed ci-deploy-channel from 41050fa879 to fbd1ec9fb9 2026-08-03 18:43:44 +00:00 Compare
Author
Owner

Aktualizacja: ten PR JEST pierwszym [deploy]

Zrebase'owane na aktualny main. Commit message zawiera teraz jawny [deploy], więc jego merge (rebase-merge, jak dotychczas) sam bootstrapuje kanał:

  1. Push na main odpala build z nowym build.yaml (z krokiem promocji), git log -1 widzi [deploy] → przetagowuje conjurer-bot:<sha>conjurer-bot-deploy:<sha> (najnowszy kod).
  2. Potem merge deploy#12 → image-updater ustawia deploy-bota na ten conjurer-bot-deploy:<sha>.

Efekt: wszystkie obrazy na tym samym, bieżącym sha. Kolejność: najpierw ten PR (poczekaj aż build zbuduje conjurer-bot-deploy), potem deploy#12.

## Aktualizacja: ten PR JEST pierwszym [deploy] Zrebase'owane na aktualny main. Commit message zawiera teraz **jawny `[deploy]`**, więc jego merge (rebase-merge, jak dotychczas) sam bootstrapuje kanał: 1. Push na main odpala build z **nowym** `build.yaml` (z krokiem promocji), `git log -1` widzi `[deploy]` → przetagowuje `conjurer-bot:<sha>` → `conjurer-bot-deploy:<sha>` (najnowszy kod). 2. Potem merge **deploy#12** → image-updater ustawia deploy-bota na ten `conjurer-bot-deploy:<sha>`. Efekt: wszystkie obrazy na tym samym, bieżącym sha. **Kolejność: najpierw ten PR (poczekaj aż build zbuduje `conjurer-bot-deploy`), potem deploy#12.**
gitea merged commit fbd1ec9fb9 into main 2026-08-03 18:45:45 +00:00
gitea deleted branch ci-deploy-channel 2026-08-03 18:45:45 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gitea/conjurer#20