-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
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 🧪
|
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 🙏 |
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 packageSystemTests
command, plugged into filebeat and metricbeat modules (both OSS and xpack flavours).Tar
method under thecommons
package, 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
mage
command 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.asciidoc
orCHANGELOG-developer.next.asciidoc
.How to test this PR locally
Expected behaviour: a TAR file in the root's
build
directory named as the Beat will exist (i.e. ./build/system-tests-filebeat.tar.gz)Related issues
Use cases
Screenshots
Logs