REPO_REFACT.md and ECOSYSTEM_PLAN.md moved out of the un-versioned workspace root into the devarea repo, next to WIKI_CONNECTION.md. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
3.6 KiB
name, description, allowed-tools
| name | description | allowed-tools |
|---|---|---|
| ttg-ci-enroll | Wire a TTG repo into the Woodpecker build and prove the pipeline actually runs — the one-line platform config, the builder image, registration, and the catalog entry it publishes to. Use when a repo should start building, or when a build is not running even though the config is in place ("kösd be a CI-be", "nem fut a build", "enroll CI"). | Bash, Read, Edit, Write, Grep, Glob |
ttg-ci-enroll
Egy repo bekötése a buildbe. A leggyakoribb hiba nem a konfig hiánya, hanem hogy a konfig megvan, de a repo nincs regisztrálva — ilyenkor semmi nem történik, és nincs hibaüzenet sem.
Hogyan épül fel a build
A repo .woodpecker.yaml-ja egyetlen sor:
# The CI pipeline is served by the update server: GET /build/config?platform=ebitengine
platform: ebitengine
A tényleges pipeline-t a WarpEngine config-extension szolgáltatása állítja elő (/build/config), a builder image-eket pedig a services/teletypegames apps/api/config/initializers/warp_engine.rb-je sorolja fel (c.ci_platforms). Ezért egy image-bump egyetlen sor ott, nem hét repóban.
Támogatott platformok: c64, tic80, ebitengine, love, godot, bevy, phaser.
Lépések
-
Platform-konfig. Ha nincs, hozd létre a
.woodpecker.yaml-t a fenti egy sorral. Figyelj a kiterjesztésre: mindkettő él a vadonban (.woodpecker.yamlés.woodpecker.yml), keresd mindkettőt, mielőtt hiányzónak nyilvánítod. Új repóhoz a.yamla preferált. -
Toolchain. A platform
build/<platform>-toolsrepója adja a Makefile-mintát (example-makefile.make) és a builder image Dockerfile-ját. Új projekt Makefile-ja innen induljon, ne másolásból. -
Go projekt esetén
GOPRIVATE. Ha a repo saját modulra (engines/…) támaszkodik, a Makefile-ban legyenexport GOPRIVATE = git.teletypegames.org— a saját modulјaink nincsenek a proxy.golang.org-on. Hareplace ... => ../<repo>direktíva van ago.mod-ban, az CI-ben biztosan bukik (testvérkönyvtárat vár): adasd ki a függőséget rendes verzióval attg-publish-moduleskillel, és dobd el a replace-t. -
Regisztráció a Woodpeckerben. A repo aktiválása a Woodpecker felületén történik; a WarpEngine oldali nyilvántartás ebből szinkronizálódik.
-
Ellenőrzés. Mit tud a rendszer:
curl -s https://teletypegames.org/api/ci/pipelinesA sorokban
repo_owner,repo_name,platform,active,last_pipeline_status. Amíg a repo nincs a listában, nem fut rá build.
Ha „be van kötve", mégsem fut
Ellenőrizendő sorrendben:
- Tényleg a listában van? A
/api/ci/pipelinesa mérce, nem a repóban lévő fájl. - Elavult tulajdonos. A tábla
repo_owner-je org-váltás után a régi orgot mutathatja, amíg a szinkron nem futott. A szinkronwoodpecker_repo_id-ra kulcsol és a távoli adatból frissíti a tulajdonost, tehát magától rendbe jön — de addig félrevezet. - Tag-esemény. Ha a pipeline
when: event: tag-re van kötve (publikáló lépések), a sima push nem indítja. Nézd meg, hogy a repón engedélyezett-e a tag-build. - Secret jogok. A publikáló lépések tokenjének
package:writekell, és org-váltás után a leírásában szereplő cél is elavulhat. last_pipeline_status. Afailure/errorérték már önmagában irány — ne a konfigot kezdd el javítgatni, előbb nézd meg, mi bukott.
A végén
Ha a bekötés új platformot tesz élővé, a devarea/ECOSYSTEM_PLAN.md platform-lefedettségi táblázatában javítsd az „Aktív CI" oszlopot.