ci: skip most CI checks if title contains citest skip [citest_skip]#484
Merged
ci: skip most CI checks if title contains citest skip [citest_skip]#484
Conversation
Reviewer's guide (collapsed on small PRs)Reviewer's GuideConfigures most GitHub Actions jobs to be conditionally skipped when a pull request title contains the marker "[citest_skip]" to avoid running heavy CI pipelines for CI/docs-only changes. Sequence diagram for PR event and conditional CI job executionsequenceDiagram
actor Developer
participant GitHub as GitHub_Repo
participant Actions as GitHub_Actions
participant Workflow as CI_Workflow
participant Job as CI_Job
Developer->>GitHub: Create or update PR with title
GitHub-->>Actions: Emit pull_request event
Actions->>Workflow: Start workflow evaluation
Workflow->>Workflow: Read github.event.pull_request.title
Workflow->>Workflow: Evaluate condition !contains(title, [citest_skip])
alt Title does not contain [citest_skip]
Workflow->>Job: Schedule CI job execution
Job-->>Workflow: Run checks (lint, spelling, etc.)
else Title contains [citest_skip]
Workflow-->>Job: Do not start job (skipped)
end
Workflow-->>Actions: Report job status to GitHub
Actions-->>Developer: Display CI results on PR
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- To make the condition more explicit and robust for non-PR events, consider changing the job-level
ifto something likeif: github.event_name != 'pull_request' || !contains(github.event.pull_request.title, '[citest_skip]')so that pushes and other event types are clearly unaffected and not relying oncontainshandling null. - Relying on a magic string in the PR title can be fragile (typos, different casing, etc.); you might want to consider using a dedicated PR label (and checking
github.event.pull_request.labels) instead, which is easier to enforce via tooling or repository conventions.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- To make the condition more explicit and robust for non-PR events, consider changing the job-level `if` to something like `if: github.event_name != 'pull_request' || !contains(github.event.pull_request.title, '[citest_skip]')` so that pushes and other event types are clearly unaffected and not relying on `contains` handling null.
- Relying on a magic string in the PR title can be fragile (typos, different casing, etc.); you might want to consider using a dedicated PR label (and checking `github.event.pull_request.labels`) instead, which is easier to enforce via tooling or repository conventions.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
When we submit a PR for a CI update or docs, we do not want to start CI checking for ansible-lint, qemu, etc. When we are doing CI updates to 30 or more roles, this fires off a lot of unnecessary tests, which sometimes causes the linux-system-roles org in github to be throttled. When submitting a PR that can skip ci, use "[citest_skip]" in the PR title. Signed-off-by: Rich Megginson <rmeggins@redhat.com>
When we submit a PR for a CI update or docs, we do not want to start CI checking for ansible-lint, qemu, etc. When we are doing CI updates to 30 or more roles, this fires off a lot of unnecessary tests, which sometimes causes the linux-system-roles org in github to be throttled. When submitting a PR that can skip ci, use "[citest_skip]" in the PR title. Signed-off-by: Rich Megginson <rmeggins@redhat.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When we submit a PR for a CI update or docs, we do not want to start CI checking
for ansible-lint, qemu, etc. When we are doing CI updates to 30 or more
roles, this fires off a lot of unnecessary tests, which sometimes causes the
linux-system-roles org in github to be throttled.
When submitting a PR that can skip ci, use "[citest_skip]" in the PR title.