Skip to content

[CI] Enforce conventional commits (convco) + pin release tooling (mise)#356

Merged
justin13888 merged 1 commit into
masterfrom
ci/convco-mise
Jun 11, 2026
Merged

[CI] Enforce conventional commits (convco) + pin release tooling (mise)#356
justin13888 merged 1 commit into
masterfrom
ci/convco-mise

Conversation

@justin13888

Copy link
Copy Markdown
Collaborator

Description

First PR in the release-automation stack for #18. Establishes conventional-commit enforcement everywhere and centralizes the release/commit toolchain in mise, so version syncing and CHANGELOG generation (later PRs) have a machine-readable history to build on.

What's added

  • mise.toml (root) — pins the repo-wide release toolchain so local and CI install identical versions: just, lefthook, and convco (via the ubi: backend; it isn't in the mise registry). The Apple client's capsule-swift/mise.toml layers on top.
  • .versionrc — convco config (auto-discovered). preMajor: true for 0.x semantics, plus changelog section mapping for the commit types already in use. Drives convco check/version/changelog.
  • justfile — two recipes (justfile stays the SSoT for hooks + CI):
    • commit-check <msg_file> — validates a single in-progress message (convco check --from-stdin --strip); skips tooling-authored merge/revert/fixup/squash subjects.
    • check-commits [base] — validates a range (convco check --first-parent --ignore-reverts <base>..HEAD).
  • lefthook.yml — new commit-msg hook (just commit-check) and a priority-0 pre-push range check (just check-commits).
  • ci.yml — new commit-lint job (PRs only) that runs convco check over the PR's commits via mise-action, wired into the aggregated required gate (skipped on push → counts as pass).

Setup for contributors: run mise install at the repo root (installs convco/just/lefthook) — the commit-msg hook needs convco on PATH. Noted in the mise.toml header.

Verification (local)

  • mise installconvco 0.6.4.
  • commit-msg hook exercised by this PR's own commit: conventional message passes; a non-conventional message is rejected; Merge … subjects are skipped.
  • just check-commits master → "no errors in 1 commit".
  • pre-push ran check-commits on push (see branch).
  • lefthook validate → All good; ci.yml/.versionrc/mise.toml parse.

Related Issues

Part of #18 (stack 1/3).

Contributor Checklist

  • I have signed the Contributor License Agreement.
  • My code follows the project's style guidelines according to CONTRIBUTING.md.
  • Tests pass (commit-msg/pre-push/range checks verified locally)
  • No sensitive info / secrets
  • Docs updated if needed (mise.toml header documents setup)

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 11, 2026

Copy link
Copy Markdown

Deploying capsule with  Cloudflare Pages  Cloudflare Pages

Latest commit: 2291b6b
Status: ✅  Deploy successful!
Preview URL: https://95b1beb9.capsule-22k.pages.dev
Branch Preview URL: https://ci-convco-mise.capsule-22k.pages.dev

View logs

@justin13888 justin13888 merged commit 4d45561 into master Jun 11, 2026
15 checks passed
@justin13888 justin13888 deleted the ci/convco-mise branch June 11, 2026 06:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant