Use ATEX from PyPI + compress uploaded files #14276
Merged
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.
Description:
This extends #14203 by using
atexfrom PyPI directly (instead of using git), hopefully resulting in a more stable version.It also takes advantage of the (new)
LZMAJSONAggregatorthat transparently on-the-fly compresses both theresults.json.xzand all files uploaded by tests. This is less critical now (with just STIG), but once we start extending the workflow to all profiles and (later) to run the full "daily productization" set of tests, it will be super useful to keep Testing Farm artifact storage within reasonable limits.Yes, mixing
gz/xzin the code is a bit weird now (eg. using.gzforresults.sqlite.gz), but that's just a result of the project separation:*.xzcomes from anAggregator(results + uploaded files).sqlite.gzcomes fromatex-html, a separate project that requires Gzip compression, because web browsers don't support LZMAAlso note
atex-html/json2db.pyhas been updated to support.xzinputs, and (from my testing) seems to work well with all of.json/.json.gz/json.xz.Rationale:
Some rough Gzip / LZMA estimates show about 20% to 400% improvements in compressed size differences, indicating that LZMA does make sense, especially when RHSecurityCompliance/contest#497 is merged and ALL test uploaded files are uncompressed.
Review Hints:
Note that I am intentionally keeping https://github.com/RHSecurityCompliance/atex (
mainbranch) behind the current 0.11 ATEX release (on PyPI, and tagged on Github) to prevent existing CaC/content PRs breaking on the API change.But a few days after this PR gets merged, I'll update Github too, so hopefully everyone has rebased by then.
Unfortunately, as indicated by @ggbecker , I don't think we can test this PR using existing Github workflows, so review + blind merge might be needed here.