Skip to content

ci: extract Python jobs into path-filtered python.yml - #196

Draft
vlad-scherbich wants to merge 2 commits into
mainfrom
vlad/ci-path-filter-python
Draft

ci: extract Python jobs into path-filtered python.yml#196
vlad-scherbich wants to merge 2 commits into
mainfrom
vlad/ci-path-filter-python

Conversation

@vlad-scherbich

@vlad-scherbich vlad-scherbich commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Description

node flake in python-only change: #202
image

Moves python, python 3.14, and python 3.15 into .github/workflows/python.yml. on.push.paths: scenarios/python*/** and this workflow file. Nightly cron is unchanged (0 0 * * *). No pull_request trigger — main is push+schedule only.

Leftover ci.yml drops those jobs and the changes/run_others filter. Its on.push.paths are scenarios/{ddprof,dotnet,ruby,node,full_host}*/** plus ci.yml, so a Python-only push does not start other languages. Nightly leftover still runs them. Editing ci.yml still starts leftover runtimes.

schema-validation and ruff move to always-on lint.yml (every push, no path filter).

test.yml is not in these path lists. A reusable-workflow edit does not start Python or leftover languages; treat it as shared (run all) — touch each runtime workflow file, or wait for nightly.

Testing

A scenarios/python*-only path list matches python.yml and misses leftover ci.yml paths.

Risks

Do not mark python.yml required. A path-filtered workflow that never starts stays pending.

test.yml edits do not start language jobs until nightly or an explicit workflow-file touch.

Additional Notes

None.

@vlad-scherbich vlad-scherbich changed the title ci: skip other language jobs on Python-only pushes ci: extract Python jobs into path-filtered python.yml Sep 4, 2026
@datadog-datadog-prod-us1

This comment has been minimized.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

schema-validation/ruff were moved out of the nightly-scheduled workflow but the new lint.yml does not include a schedule trigger, reducing nightly coverage unless re-added.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR restructures GitHub Actions CI to avoid non-Python runtime flakes on Python-only pushes by splitting Python jobs into a dedicated, path-filtered workflow and narrowing the remaining monolithic workflow to non-Python scenario paths.

Changes:

  • Added .github/workflows/python.yml to run Python scenarios on scenarios/python*/** pushes and nightly schedule.
  • Updated .github/workflows/ci.yml to drop Python jobs and trigger only on non-Python scenario path pushes (still runs nightly).
  • Introduced .github/workflows/lint.yml for always-on schema-validation and ruff checks on every push.
File summaries
File Description
.github/workflows/python.yml New path-filtered Python runtime workflow (push paths + nightly schedule).
.github/workflows/lint.yml New always-on lint/schema validation workflow (push-only).
.github/workflows/ci.yml Reduced “leftover” runtime workflow with path filters for non-Python scenarios and nightly schedule.
Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +3 to +5
on:
push:
jobs:
A scenarios/python* only change was starting every language matrix.
Nightly and any non-Python-only push still run them all.
A scenarios/python*-only push must not start leftover languages.
Cheap lint stays always-on; test.yml edits are treated as shared.
@vlad-scherbich
vlad-scherbich force-pushed the vlad/ci-path-filter-python branch from 5392f61 to 69500d2 Compare September 10, 2026 14: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