Skip to content

ci: skip changelog-only workflow runs#83215

Merged
galiniliev merged 1 commit into
openclaw:mainfrom
galiniliev:changelog
May 18, 2026
Merged

ci: skip changelog-only workflow runs#83215
galiniliev merged 1 commit into
openclaw:mainfrom
galiniliev:changelog

Conversation

@galiniliev

@galiniliev galiniliev commented May 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Problem: root CHANGELOG.md updates currently cause broad pull request and push workflow activity, including CI and workflow sanity fanout, even though changelog-only edits do not touch product, runtime, docs site, or workflow logic.
  • Why it matters: the PR workflow (review, prepare, and land) can add or adjust CHANGELOG.md entries while processing otherwise-ready PRs. Those changelog-only updates retrigger gates, delay landing, and create avoidable contention when several PRs are being landed close together.
  • What changed: CI now ignores pull requests whose only changed path is CHANGELOG.md; Workflow Sanity ignores changelog-only pull requests and main-branch pushes; Docs keeps its markdown/docs trigger but excludes root CHANGELOG.md from the push path set.
  • What did NOT change (scope boundary): metadata-only automation such as labelers, auto-response, real behavior proof, or external GitHub apps can still run on PR events because those workflows are event-driven rather than file-scope CI. Other markdown files, docs files, and workflow files still trigger their existing checks.

Change Type (select all)

  • Chore/infra

Scope (select all touched areas)

  • CI/CD / infra

Real behavior proof (required for external PRs)

  • Behavior or issue addressed: Changelog-only changes should not start broad CI, docs push, or workflow sanity workflows that are intended for source/docs/workflow surfaces.
  • Real environment tested: Local Windows checkout, rebased onto current openclaw/openclaw:main, then pushed to the contributor fork branch.
  • Exact steps or command run after this patch: git diff --check origin/main..HEAD; go run github.com/rhysd/actionlint/cmd/[email protected] .github/workflows/ci.yml .github/workflows/docs.yml .github/workflows/workflow-sanity.yml; git diff --stat origin/main..HEAD; git push --force-with-lease g changelog.
  • Evidence after fix (screenshot, recording, terminal capture, console output, redacted runtime log, linked artifact, or copied live output): Terminal capture from the patched branch:
> git diff --check origin/main..HEAD
# no output; exit 0

> go run github.com/rhysd/actionlint/cmd/[email protected] .github/workflows/ci.yml .github/workflows/docs.yml .github/workflows/workflow-sanity.yml
# no output; exit 0

> git diff --stat origin/main..HEAD
 .github/workflows/ci.yml              | 2 ++
 .github/workflows/docs.yml            | 1 +
 .github/workflows/workflow-sanity.yml | 4 ++++
 3 files changed, 7 insertions(+)

> git log -1 --oneline
b2abffb4ed ci: skip changelog-only workflow runs
  • Observed result after fix: The edited workflow files are valid under actionlint v1.7.11, the diff has no whitespace errors, and the only changed files are the intended workflow trigger definitions.
  • What was not tested: A future changelog-only PR/push event was not live-fired after merge. This PR itself changes workflow files, so it is expected to trigger workflow-surface checks.
  • Before evidence (optional but encouraged): Prior PR status showed changelog/workflow-scope PRs fan out into many CI and Workflow Sanity checks, including skipped matrix jobs that were not relevant to root changelog-only content.

Root Cause (if applicable)

  • Root cause: CI had a push markdown ignore but no equivalent pull_request paths-ignore, Workflow Sanity had no path filters, and Docs matched every root markdown file on main pushes.
  • Missing detection / guardrail: The changed-lane scripts already classify CHANGELOG.md as release metadata, but GitHub event filters run before those scripts can prevent the workflow from starting.
  • Contributing context (if known): Root CHANGELOG.md is release metadata, not docs-site content, but broad markdown triggers treated it like docs workflow input.

User-visible / Behavior Changes

None for OpenClaw runtime behavior. Maintainers should see fewer irrelevant CI/docs/workflow-sanity runs for future root CHANGELOG.md-only PRs or pushes, especially during review/prepare/land flows that only touch changelog entries.

Security Impact (required)

  • New permissions/capabilities? (Yes/No): No
  • Secrets/tokens handling changed? (Yes/No): No
  • New/changed network calls? (Yes/No): No
  • Command/tool execution surface changed? (Yes/No): No
  • Data access scope changed? (Yes/No): No
  • If any Yes, explain risk + mitigation: N/A

Repro + Verification

Environment

  • OS: Windows / PowerShell
  • Runtime/container: Go 1.26.2 for actionlint; GitHub Actions workflow YAML only
  • Integration/channel (if any): GitHub Actions
  • Relevant config (redacted): No secrets or private config used

Steps

  1. Rebase changelog on current origin/main.
  2. Validate the workflow diff with git diff --check origin/main..HEAD.
  3. Validate edited workflows with go run github.com/rhysd/actionlint/cmd/[email protected] .github/workflows/ci.yml .github/workflows/docs.yml .github/workflows/workflow-sanity.yml.
  4. Push the branch to fork remote g.

Expected

  • Edited workflow YAML is valid.
  • Only CI/docs/workflow-sanity trigger filters change.
  • Future changelog-only changes avoid the broad workflows this PR filters.

Actual

  • git diff --check passed with no output.
  • actionlint v1.7.11 passed with no output.
  • The pushed branch contains only the three intended workflow files.

Human Verification (required)

  • Verified scenarios: inspected the workflow trigger surfaces; verified root changelog is already release metadata in changed-lane routing; validated edited workflow syntax and whitespace.
  • Edge cases checked: kept markdown/docs triggers for other markdown files and docs paths; did not path-filter metadata-only PR automation that does not run untrusted code.
  • What you did not verify: did not live-fire a post-merge changelog-only PR or main push event.

Compatibility / Migration

  • Backward compatible? (Yes/No): Yes
  • Config/env changes? (Yes/No): No
  • Migration needed? (Yes/No): No
  • If yes, exact upgrade steps: N/A

Risks and Mitigations

  • Risk: A required workflow that is path-filtered out by GitHub can remain pending if branch protection requires that exact check for changelog-only PRs.
    • Mitigation: Scope the path filters only to root CHANGELOG.md and call out the branch-protection caveat for reviewer confirmation. Metadata automation remains available for PR policy checks.
  • Risk: Root changelog content might still need some docs validation.
    • Mitigation: CHANGELOG.md is release metadata, not docs-site content, and changelog formatting remains covered by maintainer release/changelog tooling when applicable.

@openclaw-barnacle openclaw-barnacle Bot added size: XS maintainer Maintainer-authored PR labels May 17, 2026
@clawsweeper

clawsweeper Bot commented May 17, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs real behavior proof before merge.

Workflow note: Future ClawSweeper reviews update this same comment in place.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by maintainer comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors can comment @clawsweeper re-review or @clawsweeper re-run on their own open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

Summary
The PR narrows CI, Docs, and Workflow Sanity GitHub Actions triggers so root CHANGELOG.md-only changes avoid broad workflow fanout.

Reproducibility: yes. at source level: current main's CI, Docs, and Workflow Sanity triggers show why root CHANGELOG.md-only events currently start these workflows. I did not establish a live GitHub event reproduction.

Real behavior proof
Needs stronger real behavior proof before merge: The copied terminal output validates whitespace and actionlint, but it does not show the changed changelog-only GitHub trigger behavior after the patch. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, ask a maintainer to comment @clawsweeper re-review.

Next step before merge
Protected maintainer-labeled CI workflow changes need human confirmation of branch-protection and real trigger proof rather than an automated repair lane.

Security
Cleared: The diff only narrows workflow triggers and does not add permissions, secrets, third-party actions, dependencies, or new code execution paths.

Review details

Best possible solution:

Land a narrow trigger optimization only after maintainers confirm required-check behavior and attach a real changelog-only event proof; otherwise keep required workflows running a cheap successful path instead of skipping the whole workflow.

Do we have a high-confidence way to reproduce the issue?

Yes, at source level: current main's CI, Docs, and Workflow Sanity triggers show why root CHANGELOG.md-only events currently start these workflows. I did not establish a live GitHub event reproduction.

Is this the best way to solve the issue?

Unclear: the path filters are syntactically consistent with the stated goal, but GitHub's required-check behavior makes this a maintainer policy decision unless live proof or branch-protection confirmation shows skipped workflows will not block changelog-only PRs.

Acceptance criteria:

  • git diff --check origin/main..HEAD
  • go run github.com/rhysd/actionlint/cmd/[email protected] .github/workflows/ci.yml .github/workflows/docs.yml .github/workflows/workflow-sanity.yml
  • Live or GitHub-hosted proof that a CHANGELOG.md-only PR and main push do not start the intended broad workflows or leave required checks pending

What I checked:

  • Current CI PR trigger is unfiltered: On current main, CI has a push paths-ignore for markdown/docs but the pull_request trigger has no path filter, so CHANGELOG.md-only PRs still start the workflow today. (.github/workflows/ci.yml:16, 800a0d316636)
  • Current Docs push trigger includes root markdown: Docs currently runs on main pushes matching **/*.md, which includes the root CHANGELOG.md unless a negative path is added. (.github/workflows/docs.yml:6, 800a0d316636)
  • Current Workflow Sanity trigger is broad: Workflow Sanity currently runs for pull_request and main push events without path filters, so a root changelog-only event can still start the no-tabs/actionlint workflow. (.github/workflows/workflow-sanity.yml:3, 800a0d316636)
  • Local changed-lane contract treats CHANGELOG.md as release metadata: The repo's changed-lane code lists CHANGELOG.md in RELEASE_METADATA_PATHS and returns the releaseMetadata lane when every changed path is release metadata, supporting the PR's claim that changelog-only changes are not normal product/docs changes. (scripts/changed-lanes.mjs:23, 800a0d316636)
  • GitHub Actions path-filter contract: GitHub's workflow syntax documentation says paths-ignore skips a workflow when all changed paths match, negative paths exclude later matches, and skipped path-filtered workflows remain Pending when required checks are enforced.
  • PR diff surface: The PR adds CHANGELOG.md paths-ignore to CI pull_request, adds !CHANGELOG.md to Docs push paths, and adds CHANGELOG.md paths-ignore to Workflow Sanity pull_request and main push triggers. (.github/workflows/ci.yml:23, b2abffb4ed72)

Likely related people:

  • Peter Steinberger: Current blame for the CI, Docs, and Workflow Sanity workflow files and local shortlog history point to his recent workflow-area commit across the touched files. (role: recent area contributor; confidence: medium; commits: f0fc8c27d397; files: .github/workflows/ci.yml, .github/workflows/docs.yml, .github/workflows/workflow-sanity.yml)

Remaining risk / open question:

  • If CI or Workflow Sanity are required branch-protection checks, GitHub path-filter skipping can leave those checks Pending for changelog-only PRs and block merge.
  • The PR proves YAML syntax with actionlint, but not the actual GitHub event behavior for a changelog-only PR or main push.

Codex review notes: model gpt-5.5, reasoning high; reviewed against 800a0d316636.

@clawsweeper clawsweeper Bot added the P3 Low-priority cleanup, docs, polish, ergonomics, or speculative work. label May 17, 2026
@galiniliev
galiniliev merged commit bc4f27c into openclaw:main May 18, 2026
123 of 129 checks passed
@galiniliev
galiniliev deleted the changelog branch May 18, 2026 02:29
galiniliev added a commit to galiniliev/openclaw that referenced this pull request May 20, 2026
Summary
Problem: root CHANGELOG.md updates currently cause broad pull request and push workflow activity, including CI and workflow sanity fanout, even though changelog-only edits do not touch product, runtime, docs site, or workflow logic.
Why it matters: the PR workflow (review, prepare, and land) can add or adjust CHANGELOG.md entries while processing otherwise-ready PRs. Those changelog-only updates retrigger gates, delay landing, and create avoidable contention when several PRs are being landed close together.
What changed: CI now ignores pull requests whose only changed path is CHANGELOG.md; Workflow Sanity ignores changelog-only pull requests and main-branch pushes; Docs keeps its markdown/docs trigger but excludes root CHANGELOG.md from the push path set.
What did NOT change (scope boundary): metadata-only automation such as labelers, auto-response, real behavior proof, or external GitHub apps can still run on PR events because those workflows are event-driven rather than file-scope CI. Other markdown files, docs files, and workflow files still trigger their existing checks.
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 24, 2026
Summary
Problem: root CHANGELOG.md updates currently cause broad pull request and push workflow activity, including CI and workflow sanity fanout, even though changelog-only edits do not touch product, runtime, docs site, or workflow logic.
Why it matters: the PR workflow (review, prepare, and land) can add or adjust CHANGELOG.md entries while processing otherwise-ready PRs. Those changelog-only updates retrigger gates, delay landing, and create avoidable contention when several PRs are being landed close together.
What changed: CI now ignores pull requests whose only changed path is CHANGELOG.md; Workflow Sanity ignores changelog-only pull requests and main-branch pushes; Docs keeps its markdown/docs trigger but excludes root CHANGELOG.md from the push path set.
What did NOT change (scope boundary): metadata-only automation such as labelers, auto-response, real behavior proof, or external GitHub apps can still run on PR events because those workflows are event-driven rather than file-scope CI. Other markdown files, docs files, and workflow files still trigger their existing checks.
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 24, 2026
Summary
Problem: root CHANGELOG.md updates currently cause broad pull request and push workflow activity, including CI and workflow sanity fanout, even though changelog-only edits do not touch product, runtime, docs site, or workflow logic.
Why it matters: the PR workflow (review, prepare, and land) can add or adjust CHANGELOG.md entries while processing otherwise-ready PRs. Those changelog-only updates retrigger gates, delay landing, and create avoidable contention when several PRs are being landed close together.
What changed: CI now ignores pull requests whose only changed path is CHANGELOG.md; Workflow Sanity ignores changelog-only pull requests and main-branch pushes; Docs keeps its markdown/docs trigger but excludes root CHANGELOG.md from the push path set.
What did NOT change (scope boundary): metadata-only automation such as labelers, auto-response, real behavior proof, or external GitHub apps can still run on PR events because those workflows are event-driven rather than file-scope CI. Other markdown files, docs files, and workflow files still trigger their existing checks.
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 24, 2026
Summary
Problem: root CHANGELOG.md updates currently cause broad pull request and push workflow activity, including CI and workflow sanity fanout, even though changelog-only edits do not touch product, runtime, docs site, or workflow logic.
Why it matters: the PR workflow (review, prepare, and land) can add or adjust CHANGELOG.md entries while processing otherwise-ready PRs. Those changelog-only updates retrigger gates, delay landing, and create avoidable contention when several PRs are being landed close together.
What changed: CI now ignores pull requests whose only changed path is CHANGELOG.md; Workflow Sanity ignores changelog-only pull requests and main-branch pushes; Docs keeps its markdown/docs trigger but excludes root CHANGELOG.md from the push path set.
What did NOT change (scope boundary): metadata-only automation such as labelers, auto-response, real behavior proof, or external GitHub apps can still run on PR events because those workflows are event-driven rather than file-scope CI. Other markdown files, docs files, and workflow files still trigger their existing checks.
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request May 24, 2026
Summary
Problem: root CHANGELOG.md updates currently cause broad pull request and push workflow activity, including CI and workflow sanity fanout, even though changelog-only edits do not touch product, runtime, docs site, or workflow logic.
Why it matters: the PR workflow (review, prepare, and land) can add or adjust CHANGELOG.md entries while processing otherwise-ready PRs. Those changelog-only updates retrigger gates, delay landing, and create avoidable contention when several PRs are being landed close together.
What changed: CI now ignores pull requests whose only changed path is CHANGELOG.md; Workflow Sanity ignores changelog-only pull requests and main-branch pushes; Docs keeps its markdown/docs trigger but excludes root CHANGELOG.md from the push path set.
What did NOT change (scope boundary): metadata-only automation such as labelers, auto-response, real behavior proof, or external GitHub apps can still run on PR events because those workflows are event-driven rather than file-scope CI. Other markdown files, docs files, and workflow files still trigger their existing checks.
galiniliev added a commit to galiniliev/openclaw that referenced this pull request May 25, 2026
Summary
Problem: root CHANGELOG.md updates currently cause broad pull request and push workflow activity, including CI and workflow sanity fanout, even though changelog-only edits do not touch product, runtime, docs site, or workflow logic.
Why it matters: the PR workflow (review, prepare, and land) can add or adjust CHANGELOG.md entries while processing otherwise-ready PRs. Those changelog-only updates retrigger gates, delay landing, and create avoidable contention when several PRs are being landed close together.
What changed: CI now ignores pull requests whose only changed path is CHANGELOG.md; Workflow Sanity ignores changelog-only pull requests and main-branch pushes; Docs keeps its markdown/docs trigger but excludes root CHANGELOG.md from the push path set.
What did NOT change (scope boundary): metadata-only automation such as labelers, auto-response, real behavior proof, or external GitHub apps can still run on PR events because those workflows are event-driven rather than file-scope CI. Other markdown files, docs files, and workflow files still trigger their existing checks.
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
Summary
Problem: root CHANGELOG.md updates currently cause broad pull request and push workflow activity, including CI and workflow sanity fanout, even though changelog-only edits do not touch product, runtime, docs site, or workflow logic.
Why it matters: the PR workflow (review, prepare, and land) can add or adjust CHANGELOG.md entries while processing otherwise-ready PRs. Those changelog-only updates retrigger gates, delay landing, and create avoidable contention when several PRs are being landed close together.
What changed: CI now ignores pull requests whose only changed path is CHANGELOG.md; Workflow Sanity ignores changelog-only pull requests and main-branch pushes; Docs keeps its markdown/docs trigger but excludes root CHANGELOG.md from the push path set.
What did NOT change (scope boundary): metadata-only automation such as labelers, auto-response, real behavior proof, or external GitHub apps can still run on PR events because those workflows are event-driven rather than file-scope CI. Other markdown files, docs files, and workflow files still trigger their existing checks.
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
Summary
Problem: root CHANGELOG.md updates currently cause broad pull request and push workflow activity, including CI and workflow sanity fanout, even though changelog-only edits do not touch product, runtime, docs site, or workflow logic.
Why it matters: the PR workflow (review, prepare, and land) can add or adjust CHANGELOG.md entries while processing otherwise-ready PRs. Those changelog-only updates retrigger gates, delay landing, and create avoidable contention when several PRs are being landed close together.
What changed: CI now ignores pull requests whose only changed path is CHANGELOG.md; Workflow Sanity ignores changelog-only pull requests and main-branch pushes; Docs keeps its markdown/docs trigger but excludes root CHANGELOG.md from the push path set.
What did NOT change (scope boundary): metadata-only automation such as labelers, auto-response, real behavior proof, or external GitHub apps can still run on PR events because those workflows are event-driven rather than file-scope CI. Other markdown files, docs files, and workflow files still trigger their existing checks.
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
Summary
Problem: root CHANGELOG.md updates currently cause broad pull request and push workflow activity, including CI and workflow sanity fanout, even though changelog-only edits do not touch product, runtime, docs site, or workflow logic.
Why it matters: the PR workflow (review, prepare, and land) can add or adjust CHANGELOG.md entries while processing otherwise-ready PRs. Those changelog-only updates retrigger gates, delay landing, and create avoidable contention when several PRs are being landed close together.
What changed: CI now ignores pull requests whose only changed path is CHANGELOG.md; Workflow Sanity ignores changelog-only pull requests and main-branch pushes; Docs keeps its markdown/docs trigger but excludes root CHANGELOG.md from the push path set.
What did NOT change (scope boundary): metadata-only automation such as labelers, auto-response, real behavior proof, or external GitHub apps can still run on PR events because those workflows are event-driven rather than file-scope CI. Other markdown files, docs files, and workflow files still trigger their existing checks.
jameslcowan pushed a commit to jameslcowan/openclaw that referenced this pull request Jun 2, 2026
Summary
Problem: root CHANGELOG.md updates currently cause broad pull request and push workflow activity, including CI and workflow sanity fanout, even though changelog-only edits do not touch product, runtime, docs site, or workflow logic.
Why it matters: the PR workflow (review, prepare, and land) can add or adjust CHANGELOG.md entries while processing otherwise-ready PRs. Those changelog-only updates retrigger gates, delay landing, and create avoidable contention when several PRs are being landed close together.
What changed: CI now ignores pull requests whose only changed path is CHANGELOG.md; Workflow Sanity ignores changelog-only pull requests and main-branch pushes; Docs keeps its markdown/docs trigger but excludes root CHANGELOG.md from the push path set.
What did NOT change (scope boundary): metadata-only automation such as labelers, auto-response, real behavior proof, or external GitHub apps can still run on PR events because those workflows are event-driven rather than file-scope CI. Other markdown files, docs files, and workflow files still trigger their existing checks.
SYU8384 pushed a commit to SYU8384/openclaw that referenced this pull request Jun 3, 2026
Summary
Problem: root CHANGELOG.md updates currently cause broad pull request and push workflow activity, including CI and workflow sanity fanout, even though changelog-only edits do not touch product, runtime, docs site, or workflow logic.
Why it matters: the PR workflow (review, prepare, and land) can add or adjust CHANGELOG.md entries while processing otherwise-ready PRs. Those changelog-only updates retrigger gates, delay landing, and create avoidable contention when several PRs are being landed close together.
What changed: CI now ignores pull requests whose only changed path is CHANGELOG.md; Workflow Sanity ignores changelog-only pull requests and main-branch pushes; Docs keeps its markdown/docs trigger but excludes root CHANGELOG.md from the push path set.
What did NOT change (scope boundary): metadata-only automation such as labelers, auto-response, real behavior proof, or external GitHub apps can still run on PR events because those workflows are event-driven rather than file-scope CI. Other markdown files, docs files, and workflow files still trigger their existing checks.
sablehead pushed a commit to sablehead/openclaw that referenced this pull request Jun 10, 2026
Summary
Problem: root CHANGELOG.md updates currently cause broad pull request and push workflow activity, including CI and workflow sanity fanout, even though changelog-only edits do not touch product, runtime, docs site, or workflow logic.
Why it matters: the PR workflow (review, prepare, and land) can add or adjust CHANGELOG.md entries while processing otherwise-ready PRs. Those changelog-only updates retrigger gates, delay landing, and create avoidable contention when several PRs are being landed close together.
What changed: CI now ignores pull requests whose only changed path is CHANGELOG.md; Workflow Sanity ignores changelog-only pull requests and main-branch pushes; Docs keeps its markdown/docs trigger but excludes root CHANGELOG.md from the push path set.
What did NOT change (scope boundary): metadata-only automation such as labelers, auto-response, real behavior proof, or external GitHub apps can still run on PR events because those workflows are event-driven rather than file-scope CI. Other markdown files, docs files, and workflow files still trigger their existing checks.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintainer Maintainer-authored PR P3 Low-priority cleanup, docs, polish, ergonomics, or speculative work. size: XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant