Skip to content

DEVPROD-4021: conditional runs for non-Buildkite affecting CI checks#1490

Merged
RafalKorepta merged 1 commit into
mainfrom
devprod-4021-conditional-ci-runs
May 11, 2026
Merged

DEVPROD-4021: conditional runs for non-Buildkite affecting CI checks#1490
RafalKorepta merged 1 commit into
mainfrom
devprod-4021-conditional-ci-runs

Conversation

@ivotron
Copy link
Copy Markdown
Member

@ivotron ivotron commented Apr 28, 2026

Summary

This introduces a script that checks what files have changed in a PR.
If only docs or github workflows changed, it skips the heavy test suite
and simply generates dummy passing statuses for all required checks,
saving CI resources.

Ref: https://redpandadata.atlassian.net/browse/DEVPROD-4021

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Apr 28, 2026

CLA assistant check
All committers have signed the CLA.

@ivotron ivotron force-pushed the devprod-4021-conditional-ci-runs branch from 1be49b3 to aadd47a Compare April 28, 2026 19:15
@ivotron ivotron marked this pull request as ready for review April 28, 2026 19:19
@ivotron ivotron requested a review from Copilot April 30, 2026 21:16
@ivotron
Copy link
Copy Markdown
Member Author

ivotron commented Apr 30, 2026

@claude review once

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a Buildkite entrypoint script to conditionally skip the heavy operator CI test suite on PRs that only touch documentation or GitHub workflows, while still reporting passing GitHub commit statuses for required checks.

Changes:

  • Introduce .buildkite/scripts/conditional_testsuite.sh to detect PR-only doc/GitHub workflow changes and upload either a dummy “pass” pipeline or the full testsuite pipeline.
  • Update .buildkite/pipeline.yml ci-entry-point step to run the new conditional script instead of directly uploading .buildkite/testsuite.yml.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
.buildkite/scripts/conditional_testsuite.sh New PR change-detection logic and dummy pipeline uploader for doc/workflow-only changes.
.buildkite/pipeline.yml Switch CI entrypoint to use the conditional testsuite uploader script.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .buildkite/scripts/conditional_testsuite.sh Outdated
Comment thread .buildkite/scripts/conditional_testsuite.sh Outdated
Comment thread .buildkite/scripts/conditional_testsuite.sh Outdated
Comment thread .buildkite/scripts/conditional_testsuite.sh Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .buildkite/scripts/conditional_testsuite.sh Outdated
Adds a Buildkite entrypoint script that detects PRs which only touch
docs, GitHub workflows, or root-level Markdown and skips the heavy
operator test suite. A dummy pipeline is uploaded instead, which
reports passing GitHub commit statuses for every required check by
extracting the context list straight from `.buildkite/testsuite.yml`
(scoped to `context:` keys under `github_commit_status:` so plugin
contexts like junit-annotate are excluded). The dummy step pins the
same agent queue as the entrypoint so it actually gets scheduled.

Diff parsing is NUL-delimited and arguments are quoted to handle
paths with whitespace and unusual branch names safely.
@ivotron ivotron force-pushed the devprod-4021-conditional-ci-runs branch from 155d4df to 95787b7 Compare May 4, 2026 20:00
@github-actions
Copy link
Copy Markdown

This PR is stale because it has been open 5 days with no activity. Remove stale label or comment or this will be closed in 5 days.

@github-actions github-actions Bot added the stale label May 10, 2026
@github-actions
Copy link
Copy Markdown

💚 All backports created successfully

Status Branch Result
release/v25.2.x
release/v25.3.x
release/v26.1.x

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation and see the Github Action logs for details

@github-actions
Copy link
Copy Markdown

💚 All backports created successfully

Status Branch Result
release/v25.2.x
release/v25.3.x
release/v26.1.x

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation and see the Github Action logs for details

@github-actions
Copy link
Copy Markdown

💚 All backports created successfully

Status Branch Result
release/v25.2.x
release/v25.3.x
release/v26.1.x

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation and see the Github Action logs for details

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants