Extension: fix credential-push 405, guard the publish path, add a unit suite #234

Merged
bvandeusen merged 4 commits from dev into main 2026-08-03 08:29:09 -04:00
Showing only changes of commit 306de50f61 - Show all commits
+3 -3
View File
@@ -11,7 +11,7 @@ git.fabledsword.com/bvandeusen/ci-python:3.14
- python 3.14 - python 3.14
- ruff (analyzer for `backend/`, `tests/`, `alembic/`) - ruff (analyzer for `backend/`, `tests/`, `alembic/`)
- node (frontend job: `npm install` + vitest + vite build) - node (frontend job: `npm install` + vitest + vite build)
- docker CLI + buildx (`.forgejo/workflows/build.yml`: build-web, build-ml — Forgejo registry push) - docker CLI + buildx (`.forgejo/workflows/build.yml`: build-web, build-ml — Fabled-Git registry push)
## Per-job tool installs ## Per-job tool installs
@@ -26,10 +26,10 @@ git.fabledsword.com/bvandeusen/ci-python:3.14
"add deps to image when used by >1 project" rule: FC alone is one Python "add deps to image when used by >1 project" rule: FC alone is one Python
project, so the deps live in `requirements.txt` and install per-job. project, so the deps live in `requirements.txt` and install per-job.
Reconsider when a second Fabled-family Python backend lands. Reconsider when a second Fabled-family Python backend lands.
- Integration uses Forgejo Actions `services:` + socket-discovered bridge IPs - Integration uses Fabled-Git Actions `services:` + socket-discovered bridge IPs
because `act_runner` (swarm-runner v0.6+) puts services on the default because `act_runner` (swarm-runner v0.6+) puts services on the default
bridge with no embedded DNS. The pattern is documented in the rulebook's bridge with no embedded DNS. The pattern is documented in the rulebook's
`forgejo.md` "CI philosophy" section and FC's `ci.yml` is the canonical `fabled-git.md` "CI philosophy" section and FC's `ci.yml` is the canonical
example. example.
- No `package-lock.json` is tracked yet (FC's `feedback_no_local_runs` - No `package-lock.json` is tracked yet (FC's `feedback_no_local_runs`
memory bans `npm install` locally). Using `npm install` rather than memory bans `npm install` locally). Using `npm install` rather than