Skip to content

ci(eql): gate the cheap EQL jobs on a whole-subtree path filter - #1125

Open
auxesis wants to merge 1 commit into
mainfrom
ci/eql-gate-docs-jobs
Open

auxesis wants to merge 1 commit into
mainfrom
ci/eql-gate-docs-jobs

Conversation

@auxesis

@auxesis auxesis commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

What

This PR gates the cheap EQL doc and known-failure jobs on a new path filter, so they skip pull requests that change nothing they read.

Why

  • docs-static, doc-anchors and known-failures run on every pull request, even one that touches nothing in EQL.
  • If you close an issue, known-failures can fail a pull request that has nothing to do with EQL.
  • The relevant filter is too narrow for these jobs, because they read files it leaves out, such as packages/eql/AGENTS.md.

How

  • Second filter. The changes job has a new eql: filter key and eql output. The key selects all of packages/eql/ and the workflow file.
  • Inputs outside EQL. mise reads config from parent directories, so the key selects the root mise.toml and its task files. docs-static runs cargo through the build task, so the key also selects .cargo/config.toml, Cargo.toml and the stack crates that cargo loads.
  • Gated jobs. Each cheap job now needs changes, and skips only on a pull request whose eql output is false. On push and schedule runs, eql is always true.
  • Tests. The parity check now compares only relevant: with the push list. New checks make sure that eql defaults to true off a pull request. They also make sure that the cheap jobs use eql, and that it selects every tracked EQL file and the parent config.
  • Comments. The workflow comments and AGENTS.md no longer say that these jobs run on every pull request.

🤖 Generated with Claude Code

https://claude.ai/code/session_016Usf7cQGY6ULWGyZ4NHQEB

docs-static, doc-anchors and known-failures ran on every pull request,
including PRs that touch nothing EQL reads. known-failures asks GitHub
whether issues are open, so closing an issue could turn an unrelated PR
red.

The changes job now has a second dorny/paths-filter key, eql:, and a
second output. The three jobs need changes and run off a pull request,
or on one when eql is true. The key selects all of packages/eql/,
because test:public_identifiers greps every tracked file there and
test:doc-anchors reads every tracked markdown file. It also selects what
the jobs read outside the subtree: the root mise.toml and its task
includes (mise reads parent configs), and .cargo/config.toml, Cargo.toml
and the five stack-* crates (docs:validate:source builds eql-codegen,
which resolves the EQL workspace).

The parity check now reads only relevant:. New checks pin the eql
output's default on non-PR events, the three jobs' gate, and that the
eql key selects every tracked file under the subtree and the
parent-directory config.

Claude-Session: https://claude.ai/code/session_016Usf7cQGY6ULWGyZ4NHQEB
@auxesis
auxesis requested a review from a team as a code owner October 7, 2026 05:20
@changeset-bot

changeset-bot Bot commented Oct 7, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 16f65cb

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai

coderabbitai Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Only developers with an assigned seat can use this organization's usage-based review budget, and seats here are assigned manually. Ask an admin to assign a seat, or change the review continuation mode in Billing.

Next included review available in 10 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 69145a09-c574-458e-87ab-2856e0bc36c2
📥 Commits

Reviewing files that changed from the base of the PR and between c7b8a3a and 16f65cb.

📒 Files selected for processing (9)
  • .github/workflows/test-eql.yml
  • AGENTS.md
  • packages/eql/tasks/docs/validate/source.sh
  • scripts/__tests__/eql-matrix-triggers.test.mjs
  • scripts/__tests__/eql-suite-ci.test.mjs
  • scripts/__tests__/eql-workflow-filters.test.mjs
  • scripts/__tests__/lib/inherited-tool-config.mjs
  • scripts/__tests__/workflow-dispatch-job-conditions.test.mjs
  • scripts/__tests__/workflow-paths-filter-parity.test.mjs
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

This branch has not been deployed

No deployments
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