Skip to content

ci: enable lenient DCO App config + skip test on docs-only PRs - #137

Merged
krakennetworks merged 1 commit into
mainfrom
ci/dco-app-and-docs-skip
Jun 25, 2026
Merged

ci: enable lenient DCO App config + skip test on docs-only PRs#137
krakennetworks merged 1 commit into
mainfrom
ci/dco-app-and-docs-skip

Conversation

@se-jo-ma

Copy link
Copy Markdown
Member

Summary

Two outward-facing CI changes, mirroring the proven stargraph PR #161:

A. Lenient, documented DCO App config. nautilus never had DCO; the org-wide
dcoapp GitHub App now posts a DCO status check that defaults to strict. This
adds .github/dco.yml to keep it lenient:

  • require.members: false — commits by KrakenNet org members don't need a sign-off line.
  • allowRemediationCommits.{individual,thirdParty}: true — a missing sign-off is
    fixed by pushing one remediation commit (the app comments the exact command)
    instead of rewriting history with a rebase; thirdParty also lets a maintainer
    sign off an unsigned bot commit (e.g. autofix.ci) that would otherwise deadlock DCO.

It also documents sign-off + the no-rebase remediation flow in CONTRIBUTING.md
and the PR template, and tells codespell that thirdParty (a dcoapp config key)
is not a typo.

B. Skip the test job on docs-only PRs. Adds a changes paths-filter job and
gates the required test matrix on its code output. A docs-only PR now skips
test; a skipped required check counts as a pass in branch protection, so docs
PRs stay mergeable without burning the full toolchain. Negation-only filter is
fail-safe: if dorny ever ignored the ! patterns, ** matches everything and
test runs anyway.

Changes

  • .github/dco.yml (new) — lenient dcoapp config.
  • .github/workflows/ci.yml — new changes job; test gated on needs: changes + code output.
  • .pre-commit-config.yaml — codespell -L thirdparty + explanatory comment.
  • CONTRIBUTING.md — new "Sign-off (DCO)" section (sign-off + no-rebase remediation).
  • .github/pull_request_template.md — add a DCO sign-off checklist item.

Testing

  • All changed YAML validated with yaml.safe_load (ci.yml, dco.yml, pre-commit) — parses clean.
  • Confirmed changes is the first job and test carries needs: changes + the if: gate.
  • Negation list only includes paths that exist in the repo (docs/, mkdocs.yml, LICENSE all present).
  • This PR touches .github/ (code), so the test matrix runs here (does not skip).

Related Issues

Mirrors KrakenNet/stargraph#161.

🤖 Generated with Claude Code

- Add .github/dco.yml for the org-wide dcoapp GitHub App: require.members:false
  + allowRemediationCommits so a missing sign-off is fixed with one remediation
  commit instead of a rebase. nautilus had no DCO before; the org-wide app now
  posts a DCO check, and this keeps it lenient instead of strict-by-default.
- Gate the required `test` matrix job on a new `code` paths-filter output so
  docs-only PRs skip it; a skipped required check counts as a pass, so those
  PRs stay mergeable.
- CONTRIBUTING + new PR template: document sign-off + no-rebase remediation.
- pre-commit: tell codespell `thirdParty` (a dcoapp key) is not a typo.

Signed-off-by: Sean Mauk <seanmauk@krakennetworks.com>
@krakennetworks
krakennetworks self-requested a review June 25, 2026 16:11
@krakennetworks
krakennetworks merged commit d0d98ea into main Jun 25, 2026
9 checks passed
@krakennetworks
krakennetworks deleted the ci/dco-app-and-docs-skip branch June 25, 2026 16:11
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.

2 participants