-
Notifications
You must be signed in to change notification settings - Fork 3.5k
feat(ci): support exhaustive tests for PRs (code changes or GH comment) #18327
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
🤖 GitHub commentsExpand to view the GitHub comments
Just comment with:
|
|
This pull request does not have a backport label. Could you fix it @v1v? 🙏
|
💛 Build succeeded, but was flaky
Failed CI Stepscc @v1v |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM in general. Just a little question
| - ELASTIC_SLACK_NOTIFICATIONS_ENABLE=false | ||
|
|
||
| - label: "Trigger logstash-exhaustive-tests-pipeline for GitHub comments" | ||
| if: build.env("GITHUB_PR_TRIGGER_COMMENT") != "" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What happens if a file has changed in the qa/acceptance/ and a comment in the PR is made?
will be the pipeline logstash-exhaustive-tests-pipeline executed twice?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two different events:
- push event with the file changeset
- github comment matches the values in https://github.com/elastic/logstash/pull/18327/files#diff-646855f9c36bcc3f7a5c49c1fa33be9b7771d99e5e2219332b215eaac6e51537R20-R21
Each event should be treated independently.
Otherwise, what do you mean by your question?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Understood. We want to execute the tests in both cases and every time when push and the right files have changed or when a comment that matches has made.
Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Release notes
rn:skip
What does this PR do?
This pull request introduces a new "smart exhaustive tests" pipeline for Logstash, integrating it into the Buildkite CI configuration and documenting it in the service catalog. The main goal is to trigger exhaustive test runs automatically for pull requests that modify files in the
qa/acceptance/directory or when specific GitHub comments are made, improving test coverage and automation for critical changes.Why is it important/What is the impact to the user?
Test the code that will rarely impact the standard PR test suite, but will exercise the acceptance tests.
Checklist
[ ] I have commented my code, particularly in hard-to-understand areas[ ] I have made corresponding changes to the documentation[ ] I have made corresponding change to the default configuration files (and/or docker env variables)[ ] I have added tests that prove my fix is effective or that my feature worksHow to test this PR locally
Add a path to
always_require_ci_on_changedin pull-request.json forlogstash-smart-exhaustive-tests-pipeline, then apply changes in that directory, commit and push. That will trigger the exhaustive tests pipeline in Buildkite.Caveats
The existing BK PR Bot does not support for code changes and GitHub comments, without running the first buidl when a PR is created.
That's the reason for creating the
logstash-smart-exhaustive-tests-pipelineto actually filter:This should help with running faster builds and reduce the overhead of running the exhaustive tests for the first build of each new PR.
Duplicates #18202, that I messed up with the rebase.