Skip to content

ci: add ubuntu-latest noop workflow for docs-only PRs#179

Merged
ChrisonSimtian merged 1 commit into
mainfrom
chore/ci-noop-workflow-for-docs-prs
May 25, 2026
Merged

ci: add ubuntu-latest noop workflow for docs-only PRs#179
ChrisonSimtian merged 1 commit into
mainfrom
chore/ci-noop-workflow-for-docs-prs

Conversation

@ChrisonSimtian
Copy link
Copy Markdown
Owner

Summary

Fixes the branch-protection vs paths-ignore mismatch that left docs-only PRs (e.g. #177) BLOCKED indefinitely with no status check reporting.

The problem

Side Behavior
main protection Requires the ubuntu-latest status check (required_status_checks.contexts: ["ubuntu-latest"]).
ubuntu-latest.yml Has paths-ignore: ['docs/**', '.assets/**', '**/*.md'] — does not fire on docs-only PRs.

Docs PR → workflow never runs → no check reported → protection rule never satisfied → PR sits BLOCKED.

The fix

New hand-written .github/workflows/ubuntu-latest-docs.yml:

  • Triggers on the inverse path set (paths: ['docs/**', '.assets/**', '**/*.md']).
  • Workflow name: is ubuntu-latest (same as the auto-generated workflow), so it reports a status check under the same context.
  • Single ~30-second job that echoes a skip line. No build, no test, no pack.

Pattern mirrors the existing hand-written release.yml — auto-generation via [GitHubActions] can't quite express the dual-workflow shape, so we keep it out-of-band.

Why hand-written, not generator-driven

Adding this to the [GitHubActions] attribute would need a new property (e.g. OnPullRequestSkipPathsEmitNoop) that's specific to one use case. Sibling files for special cases match release.yml's precedent. Documented at the top of both yamls.

Test plan

Related

🤖 Generated with Claude Code

Fixes the branch-protection vs paths-ignore mismatch that left docs-only
PRs (e.g. #177) BLOCKED with no status check reporting:

- main protection requires `ubuntu-latest`
- ubuntu-latest.yml has `paths-ignore: docs/**, .assets/**, **/*.md`
- Docs PRs never trigger a check → never satisfy protection

The new ubuntu-latest-docs.yml fires on the inverse path set, runs
nothing of substance, and reports success under the same `ubuntu-latest`
status-check context. Pattern mirrors the existing hand-written
release.yml (auto-generation can't quite express it).

CI minutes cost: ~30s of a single ubuntu runner per docs PR.
@ChrisonSimtian ChrisonSimtian merged commit c606cd7 into main May 25, 2026
1 check passed
@ChrisonSimtian ChrisonSimtian deleted the chore/ci-noop-workflow-for-docs-prs branch May 25, 2026 08:39
ChrisonSimtian added a commit that referenced this pull request May 25, 2026
…002 (auth/secrets) (#167) (#177)

* docs(adr): seed ADR home + propose ADR-0001 (CD primitives) and ADR-0002 (auth/secrets)

Introduces docs/adr/ as the home for Architecture Decision Records, with a
README that locks the MADR-lite format, status lifecycle, and filename
convention. Adds the first two ADRs — both Proposed, dated 2026-05-24 — as
the architectural framing for the v13 CD work:

- ADR-0001 splits CD primitives into attribute-driven file generators
  (config that lives in git) vs tasks-driven REST calls (state that lives
  in an external system's DB), with a sparingly-used hybrid for stable
  config that lives in an external DB. Validates the split against
  GitHub Releases/Environments, Octopus, and the RFC #113 deployment
  agent.

- ADR-0002 codifies a shared auth/secret convention across providers:
  canonical SCREAMING_SNAKE from PascalCase field names, plugins receive
  resolved values only (never raw stores), [Secret] as the trust marker,
  and a documented resolution chain (CLI > env var > provider secret >
  encrypted parameters > Keychain > prompt).

Lands as Proposed so review (#167) is where the status flips to Accepted
or supersedes either with a follow-up ADR. Per docs/adr/README.md, ADRs
are history — corrections happen via new ADRs, not in-place edits.

Refs #167

* ci: retrigger after #179 (sibling ubuntu-latest workflow)
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