Skip to content

Standardize CI change-detection filters and add skip labels#703

Merged
TalShafir1 merged 4 commits intochronicle:mainfrom
eranc-google:fix/ci-standardize-filters
Apr 21, 2026
Merged

Standardize CI change-detection filters and add skip labels#703
TalShafir1 merged 4 commits intochronicle:mainfrom
eranc-google:fix/ci-standardize-filters

Conversation

@eranc-google
Copy link
Copy Markdown
Contributor

Summary

Follows up on #702 (merged). Standardizes CI change-detection filters and adds PR label-based skip support for expensive CI jobs.

Filter standardization

Split the mp dorny/paths-filter into mp (packages/mp/**) and ci (.github/workflows/**) so workflow-only changes no longer trigger full integration validate/build/test runs (~15 min on Windows, ~5 min on Linux). Also consolidated lint.yml package filters and added missing integration_testing_whls to windows_workflows.yml.

Skip labels

Added PR label-based skipping for expensive CI jobs. Labels need to be created by a maintainer.

Changes

File What changed
build.yml Remove .github/workflows/** from paths + mp filter. Add skip-build + ci-minimal label support.
lint.yml Remove .github/workflows/** from paths. Consolidate package filters into integration_packages. Add mp to lint job conditions.
test.yml Remove .github/workflows/** from paths + mp filter. Add skip-tests + ci-minimal label support.
test_mp.yml Add .github/workflows/** to paths so mp tests run on CI changes.
validate.yml Remove .github/workflows/** from paths + mp filter. Fix stale comment.
windows_workflows.yml Add top-level paths: filter. Split mp/ci filters. Fix missing integration_testing_whls. Add skip-windows + ci-minimal label support (keeps test-mp-windows running).
docs/contributing.md Document CI skip labels.

CI skip labels (create after merge)

Label Skips Use case
ci-minimal Windows integration pipeline + tests + builds Draft PRs, quick iterations
skip-windows Windows integration validate/test/build (keeps test-mp-windows) When Linux CI is sufficient
skip-tests Integration test suite (test.yml) Iterating on mp/package internals
skip-build All build jobs (build.yml) When validate + lint is enough

Trigger behavior after this change

Change mp tests Integration lint Integration validate/build/test Playbook validate/build
packages/mp/** YES YES YES YES
.github/workflows/** YES NO NO NO
packages/{envcommon,tipcommon,...}/** NO YES YES NO
content/.../google/** NO YES YES NO
content/.../third_party/** or power_ups/** NO YES YES YES
content/playbooks/** NO NO NO YES

Checklist

  • I have read and followed the project's contributing guide
  • My code follows the project's coding style guidelines
  • I have performed a self-review of my own code
  • My changes do not introduce any new warnings
  • My changes pass all existing tests
  • My changes do not introduce any PII or sensitive customer data
  • My changes do not expose any internal-only code examples, configurations, or URLs
  • All code examples, comments, and messages are generic and suitable for a public repository

Test plan

  • Branch protection: only CodeQL is a required status check
  • Skip labels use push-event guards where needed
  • Multiple review agents confirmed all changes are correct

Split the `mp` dorny/paths-filter into `mp` (packages/mp/**) and `ci`
(.github/workflows/**) so workflow-only changes no longer trigger full
integration validate/build/test runs.

Changes:
- build/test/validate/lint: remove .github/workflows/** from paths and mp filter
- lint: consolidate individual package filters into integration_packages,
  add mp to lint job conditions
- windows_workflows: add top-level paths filter, split mp/ci, fix missing
  integration_testing_whls
- test_mp: add .github/workflows/** to paths so mp tests run on CI changes
Support PR label-based skipping of expensive CI jobs:
- ci-minimal: umbrella label that skips Windows pipeline, tests, and builds
- skip-windows: skip Windows integration validate/test/build (keeps test-mp-windows)
- skip-tests: skip integration test suite (test.yml)
- skip-build: skip all build jobs (build.yml)

Labels are checked per-job with push-event guards so push triggers
are never skipped. The changes job always runs (cheap, needed for
downstream conditions).

Note: labels must be created in the repo by a maintainer:
  ci-minimal, skip-windows, skip-tests, skip-build
@eranc-google eranc-google requested a review from a team as a code owner April 21, 2026 11:01
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request optimizes the continuous integration pipeline by standardizing change-detection filters and introducing a mechanism to skip resource-intensive jobs via PR labels. These changes reduce unnecessary CI load and improve developer velocity by allowing for more targeted testing during the development lifecycle.

Highlights

  • CI Filter Standardization: Refined change-detection filters by splitting the 'mp' filter into distinct 'mp' and 'ci' categories, preventing unnecessary full integration runs for workflow-only changes.
  • CI Skip Labels: Introduced PR label-based skipping for expensive CI jobs, allowing developers to optimize CI usage during active development.
  • Documentation: Updated the contributing guidelines to include documentation on available CI skip labels and their appropriate use cases.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Ignored Files
  • Ignored by pattern: .github/workflows/** (6)
    • .github/workflows/build.yml
    • .github/workflows/lint.yml
    • .github/workflows/test.yml
    • .github/workflows/test_mp.yml
    • .github/workflows/validate.yml
    • .github/workflows/windows_workflows.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the documentation in docs/contributing.md to include a new section on CI skip labels, which allow contributors to bypass specific expensive CI jobs during development. The review feedback suggests clarifying the global impact of the ci-minimal label and noting that skip-windows still allows for basic Windows validation via the test-mp-windows job.

Comment thread docs/contributing.md Outdated
Comment thread docs/contributing.md Outdated
- Clarify ci-minimal skips all builds, tests, and Windows pipeline
- Note that skip-windows keeps test-mp-windows running
@TalShafir1 TalShafir1 merged commit 30ab65f into chronicle:main Apr 21, 2026
15 checks passed
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