chore(ci): split publish into standalone push-only workflow + document release model #5

Merged
luckberg merged 4 commits from gsd/quick-split-publish into main 2026-06-11 19:04:31 -04:00
Owner

What

Splits the publish job out of .gitea/workflows/ci.yml into a standalone .gitea/workflows/publish.yml triggered only on push to main, and documents the publish/release model.

Motivated by phase-8 code review WR-01 + the branch-protection rule now on main (direct push blocked, force push blocked, required checks = CI / fast-checks/api/harness (pull_request)).

Why

publish lived in ci.yml guarded by if: github.event_name == 'push'. Because ci.yml also triggers on pull_request, Gitea registered an orphaned CI / publish (pull_request) status that sat pending forever on every PR (skipped jobs don't resolve their status). Moving publish to its own push-only workflow stops that orphan from ever being created.

Changes

  • .gitea/workflows/publish.yml (new) — name: Publish, on: push: branches: [main] only, MILESTONE: v1.1 env, the publish job + four steps moved verbatim (comments preserved). Redundant event-guard if: dropped.
  • .gitea/workflows/ci.yml — removed the publish job, the push: trigger, and the workflow-level MILESTONE. name: CI and the fast-checks/api/harness job ids are unchanged.
  • README.md — new "Publishing / Releases" section (when/what/secret/safety-gate/MILESTONE bump).

Safety

  • Branch-protection contexts are unchangedname: CI and the three job ids are held stable, so the required checks on main stay valid.
  • No CI behavior change beyond the split. Both YAML files validated with yq.
  • This PR itself runs the three CI jobs with no pending publish status.
## What Splits the `publish` job out of `.gitea/workflows/ci.yml` into a standalone `.gitea/workflows/publish.yml` triggered only on push to `main`, and documents the publish/release model. Motivated by phase-8 code review **WR-01** + the branch-protection rule now on `main` (direct push blocked, force push blocked, required checks = `CI / fast-checks/api/harness (pull_request)`). ## Why `publish` lived in `ci.yml` guarded by `if: github.event_name == 'push'`. Because `ci.yml` also triggers on `pull_request`, Gitea registered an orphaned `CI / publish (pull_request)` status that sat **pending forever** on every PR (skipped jobs don't resolve their status). Moving publish to its own push-only workflow stops that orphan from ever being created. ## Changes - **`.gitea/workflows/publish.yml`** (new) — `name: Publish`, `on: push: branches: [main]` only, `MILESTONE: v1.1` env, the publish job + four steps moved verbatim (comments preserved). Redundant event-guard `if:` dropped. - **`.gitea/workflows/ci.yml`** — removed the `publish` job, the `push:` trigger, and the workflow-level `MILESTONE`. `name: CI` and the `fast-checks`/`api`/`harness` job ids are unchanged. - **`README.md`** — new "Publishing / Releases" section (when/what/secret/safety-gate/MILESTONE bump). ## Safety - Branch-protection contexts are **unchanged** — `name: CI` and the three job ids are held stable, so the required checks on `main` stay valid. - No CI behavior change beyond the split. Both YAML files validated with `yq`. - This PR itself runs the three CI jobs with **no** pending publish status.
luckberg added 4 commits 2026-06-11 18:12:17 -04:00
- Create .gitea/workflows/publish.yml (push-to-main only, name=Publish)
- Strip publish job, push trigger, and MILESTONE env from ci.yml
- Eliminates orphaned CI / publish (pull_request) status on PRs
- Preserves all three required PR status contexts unchanged
- Add Publishing / Releases section covering auto-trigger, image tags,
  REGISTRY_PAT secret naming, branch-protection safety gate, and MILESTONE bump
- publish.yml already carries condensed header block (committed in prior task)
docs(quick-260611-ozt): split publish job into standalone gitea workflow + document release model
CI / fast-checks (pull_request) Successful in 49s
CI / api (pull_request) Successful in 56s
CI / harness (pull_request) Successful in 3m22s
234384c142
luckberg merged commit b12e10d129 into main 2026-06-11 19:04:31 -04:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: luckberg/familysync#5