feat(forgejo): ADR 0010, RFC 0006, and export:forgejo converting .werkator.yml into Forgejo Actions workflows #92

Merged
mi merged 7 commits from mihoe/forgejo-compatible-config into main 2026-10-03 13:31:19 +02:00
Owner
  • ADR 0010 (accepted): the build configuration stays expressible as a Forgejo Actions workflow. A new build-definition key needs a workflow counterpart; host-side keys are exempt.
  • RFC 0006 (proposed): one workflow for Forgejo and Werkator, and the steps towards it. Step 1 is implemented here.
  • werkator export:forgejo, wrapped by tools/werkator-to-forgejo: converts the committed .werkator.yml (never the .git layers or ~/.werkator.yml) into .forgejo/workflows/werkator-<build>.yml, one per definition that triggers on its own, follow-ups as jobs with needs. Untranslatable constructs become comments and stderr lines; --strict refuses.
  • AGENTS.md: the ADR 0010 rule as a hard invariant; column-aligned Markdown tables.
  • v1.28.0

On Werkator's own .werkator.yml the converter names two constructs: builds.deploy has no committed trigger (the host adds it), and werkdock.env is sandbox environment.

PR-doc: docs/prs/2026-10-03-PR#92-forgejo-actions-compatible-config.md

🤖 Generated with Claude Code

- **ADR 0010** (accepted): the build configuration stays expressible as a Forgejo Actions workflow. A new build-definition key needs a workflow counterpart; host-side keys are exempt. - **RFC 0006** (proposed): one workflow for Forgejo and Werkator, and the steps towards it. Step 1 is implemented here. - **`werkator export:forgejo`**, wrapped by **`tools/werkator-to-forgejo`**: converts the committed `.werkator.yml` (never the `.git` layers or `~/.werkator.yml`) into `.forgejo/workflows/werkator-<build>.yml`, one per definition that triggers on its own, follow-ups as jobs with `needs`. Untranslatable constructs become comments and stderr lines; `--strict` refuses. - `AGENTS.md`: the ADR 0010 rule as a hard invariant; column-aligned Markdown tables. - v1.28.0 On Werkator's own `.werkator.yml` the converter names two constructs: `builds.deploy` has no committed trigger (the host adds it), and `werkdock.env` is sandbox environment. PR-doc: `docs/prs/2026-10-03-PR#92-forgejo-actions-compatible-config.md` 🤖 Generated with [Claude Code](https://claude.com/claude-code)
mi added 1 commit 2026-10-03 09:26:12 +02:00
mi added 1 commit 2026-10-03 11:21:10 +02:00
mi added 1 commit 2026-10-03 11:24:45 +02:00
mi added 1 commit 2026-10-03 12:35:45 +02:00
tools/werkator-to-forgejo runs the new export:forgejo command: one workflow
per build definition that triggers on its own, follow-ups as jobs with
needs, effective settings written out per job. Only the committed file is
read. What has no workflow counterpart becomes a comment and a stderr line;
--strict refuses instead. v1.28.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi changed title from docs: ADR 0010 Forgejo-Actions-compatible configuration, RFC 0006 one workflow for both to feat(forgejo): ADR 0010, RFC 0006, and export:forgejo converting .werkator.yml into Forgejo Actions workflows 2026-10-03 12:38:00 +02:00
mi added 1 commit 2026-10-03 13:13:33 +02:00
Converted the committed .werkator.yml of the mih09 repositories and of
hs.hsadmin.ng: all convert, ten problems listed in the RFC (Gitea reads
.gitea/workflows, toolchain and Docker engine on the host, local images,
host deployments, shared worktrees, ...). The converter now skips a
trigger-less settings base, names a Dockerfile even with an image name,
converts werkdock.env, and names follow-ups on their predecessor's worktree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi added 1 commit 2026-10-03 13:23:12 +02:00
REPO may be the repository or any directory inside it; the command finds the
root with git, reads the .werkator.yml there and writes the workflows below
it (--output-dir relative to the root, e.g. .gitea/workflows).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi added 1 commit 2026-10-03 13:28:49 +02:00
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi merged commit 923b605e57 into main 2026-10-03 13:31:19 +02:00
mi deleted branch mihoe/forgejo-compatible-config 2026-10-03 13:31:19 +02: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: mi/werkator#92