Skip to content
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

Add support for supplying input zip files next to directories #1544

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

miensol
Copy link

@miensol miensol commented Jan 4, 2022

With this change it is possible to run
allure generate --report-dir ./out ./source-1.zip ./source-2.zip ./source-3

Context

We're building a POC that would bring together tests results from various CI jobs.
We've attempted to run allure from AWS Lambda. Raw tests results are synced from S3 to an EFS attached to Lambda. The performance of generating the report is terrible when compared to local execution. It turned out that the majority of the time the lambda spends on checking files metadata. This is understandable as allure needs to list files and directories.

In order to tackle this, we'd like to zip test results i.e. thousands of files, sync the archives to the EFS attached to the Lambda instead of raw test results.

The way it was implemented was to run readers (except the zip results source plugin) again after opening the zip archive.

Checklist

With this change it is possible to run
allure generate --report-dir ./out ./source-1.zip ./source-2.zip ./source-3
@noomorph
Copy link
Contributor

noomorph commented Mar 5, 2024

The feature looks promising! However, I was wondering if it would be possible to add equal support for *.tar and *.tar.gz archives as well.

The motivation behind TAR archives is especially interesting for custom Allure runtime writers. If a writer appends files (like 9283749-result.json and 2384978923-container.json) straight to a tar archive instead of a directory, it can unload the filesystem from operations related to directory/file management, without even having to compress things. I believe this could significantly improve performance, especially on 5000-6000 test suites.

Copy link

@A1exKH A1exKH left a comment

Choose a reason for hiding this comment

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

Code LGTM.

Please resolve conflicts for this PR.

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.

3 participants