CI: Forgejo Actions — PR checks + :latest image build on main #1

Merged
w33ble merged 4 commits from feat/forgejo-ci into main 2026-09-06 18:14:36 -06:00
Collaborator

What

Four commits wiring up agent-facing dev workflow, modeled on lagom:

CI workflows

  • .forgejo/workflows/ci.yaml — on pull_request: setup-go (version from go.mod), gofmt check, go vet ./..., go test ./...
  • .forgejo/workflows/build.yaml — on push to main: docker build from repo root, push git.w33ble.com/w33ble/mediacast:latest (auth via REGISTRY_USER/REGISTRY_TOKEN secrets)
  • Single-platform amd64, plain docker build, no buildx/QEMU, latest tag only

mise tasks

  • mise run check — gofmt check + go vet
  • mise run test — go test with -count=1 (stale cached results hide breakage)

gofmt

  • style: gofmt across go sources — 9 files were unformatted; the new gate would have failed them on first run. Formatting only, no behavior change.

AGENTS.md

  • Agent notes: repo layout + ADR pointer, the mise gates as definition of done, the test seam (httptest + in-memory SQLite, fake Runner, no direct yt-dlp tests), migration policy, config contract, git flow (protected main → branch + PR).

Checks

  • gofmt/vet/test all green locally; YAML validated; mise run check + mise run test pass
  • CI runs on this PR exercise ci.yaml for real

Merge → build.yaml fires the first :latest image push.

Closes MCAST-13.

## What Four commits wiring up agent-facing dev workflow, modeled on lagom: ### CI workflows - `.forgejo/workflows/ci.yaml` — on pull_request: setup-go (version from go.mod), gofmt check, `go vet ./...`, `go test ./...` - `.forgejo/workflows/build.yaml` — on push to main: docker build from repo root, push `git.w33ble.com/w33ble/mediacast:latest` (auth via `REGISTRY_USER`/`REGISTRY_TOKEN` secrets) - Single-platform amd64, plain docker build, no buildx/QEMU, `latest` tag only ### mise tasks - `mise run check` — gofmt check + go vet - `mise run test` — go test with `-count=1` (stale cached results hide breakage) ### gofmt - `style: gofmt across go sources` — 9 files were unformatted; the new gate would have failed them on first run. Formatting only, no behavior change. ### AGENTS.md - Agent notes: repo layout + ADR pointer, the mise gates as definition of done, the test seam (httptest + in-memory SQLite, fake Runner, no direct yt-dlp tests), migration policy, config contract, git flow (protected main → branch + PR). ## Checks - gofmt/vet/test all green locally; YAML validated; `mise run check` + `mise run test` pass - CI runs on this PR exercise `ci.yaml` for real Merge → `build.yaml` fires the first `:latest` image push. Closes MCAST-13.
build: mise check and test tasks
Some checks failed
ci / check (pull_request) Has been cancelled
c756c24548
docs: agent notes for repo conventions and test seam
All checks were successful
ci / check (pull_request) Successful in 3m58s
1b9e047471
w33ble approved these changes 2026-09-06 18:14:22 -06:00
w33ble merged commit f6e657fcd3 into main 2026-09-06 18:14:36 -06:00
w33ble deleted branch feat/forgejo-ci 2026-09-06 18:14:36 -06:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
w33ble/mediacast!1
No description provided.