-
Notifications
You must be signed in to change notification settings - Fork 5k
feat: add a mage command to package system tests #27295
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
feat: add a mage command to package system tests #27295
Conversation
💚 Build Succeeded
Expand to view the summary
Build stats
Test stats 🧪
Trends 🧪💚 Flaky test reportTests succeeded. Expand to view the summary
Test stats 🧪
|
andrewkroh
left a 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.
Good idea
Co-authored-by: Jaime Soriano Pastor <[email protected]>
|
Waiting on @andrewkroh for final review 🙏 |
andrewkroh
left a 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.
I think it's missing an error check, but otherwise LGTM.
|
@jsoriano I'm gonna merge this one, but would like your help with the backports labels first: 7.x, 7.15 and 7.14? |
I would say to backport this to 7.x and 7.15. |
* feat: add a mage command to package system tests * chore: delegate prints to the caller * chore: do not keep writing tar file in memory * chore: update comment Co-authored-by: Jaime Soriano Pastor <[email protected]> * chore: handle error while traversing the filesystem Co-authored-by: Jaime Soriano Pastor <[email protected]> (cherry picked from commit 7f086e5)
* feat: add a mage command to package system tests * chore: delegate prints to the caller * chore: do not keep writing tar file in memory * chore: update comment Co-authored-by: Jaime Soriano Pastor <[email protected]> * chore: handle error while traversing the filesystem Co-authored-by: Jaime Soriano Pastor <[email protected]> (cherry picked from commit 7f086e5)
* feat: add a mage command to package system tests * chore: delegate prints to the caller * chore: do not keep writing tar file in memory * chore: update comment Co-authored-by: Jaime Soriano Pastor <[email protected]> * chore: handle error while traversing the filesystem Co-authored-by: Jaime Soriano Pastor <[email protected]> (cherry picked from commit 7f086e5) Co-authored-by: Manuel de la Peña <[email protected]>
* feat: add a mage command to package system tests * chore: delegate prints to the caller * chore: do not keep writing tar file in memory * chore: update comment Co-authored-by: Jaime Soriano Pastor <[email protected]> * chore: handle error while traversing the filesystem Co-authored-by: Jaime Soriano Pastor <[email protected]> (cherry picked from commit 7f086e5) Co-authored-by: Manuel de la Peña <[email protected]>
* feat: add a mage command to package system tests * chore: delegate prints to the caller * chore: do not keep writing tar file in memory * chore: update comment Co-authored-by: Jaime Soriano Pastor <[email protected]> * chore: handle error while traversing the filesystem Co-authored-by: Jaime Soriano Pastor <[email protected]>
What does this PR do?
This PR adds a mage command to package the system tests results. This command is invoked in the CI in the same conditions that in the past.
The command is composed by:
mage packageSystemTestscommand, plugged into filebeat and metricbeat modules (both OSS and xpack flavours).Tarmethod under thecommonspackage, so that it's possible to compress a source directory using TAR+GZIP algorithms, and writing it to the build dir in the root directory of the Beats repository.Besides that, we are removing a python script that detected the path to the Python system-tests (used in the pipeline to store the folder name in a variable), and we are updating the Jenkins pipeline to call the new build system command instead of the previous script. To keep existing behaviour, that we could consider it wrong and would possible discuss about it in a follow-up issue, we are passing a new argument to the groovy method in the pipeline, representing the directory in which the Beat live (i.e. filebeat, x-pack/filebeat), so that it's possible to run the
magecommand in the right context.Why is it important?
In the past, the collection of the system tests results was done at the pipeline level, so developers were not able to reproduce them. With this new command now it's possible to collect them directly from the build system.
For debugging purpose, it will be possible to debug a CI worker, capturing it and executing this command, to verify if the files to be uploaded are there.
Checklist
CHANGELOG.next.asciidocorCHANGELOG-developer.next.asciidoc.How to test this PR locally
Expected behaviour: a TAR file in the root's
builddirectory named as the Beat will exist (i.e. ./build/system-tests-filebeat.tar.gz)Related issues
Use cases
Screenshots
Logs