Skip to content

Fetch and use compressed manifest.json #246

Open
shiv-tyagi wants to merge 3 commits into
ArduPilot:mainfrom
shiv-tyagi:feat/manifest-gz
Open

Fetch and use compressed manifest.json #246
shiv-tyagi wants to merge 3 commits into
ArduPilot:mainfrom
shiv-tyagi:feat/manifest-gz

Conversation

@shiv-tyagi

@shiv-tyagi shiv-tyagi commented Jul 18, 2026

Copy link
Copy Markdown
Member

#244 added support to use manifest.json for listing versions on custom build server.

This PR does an enhancement to use the compressed manifest.json instead of downloading the whole big file.

PS.: I somehow was under an impression that we currently do not host gz manifest in firmware server and we need to make the change there first before we start using it here, but looks like we already do. @peterbarker

@shiv-tyagi
shiv-tyagi requested a review from peterbarker July 18, 2026 04:42
@peterbarker

Copy link
Copy Markdown
Contributor

Using the .xz would be better. Pretty sure Python supports it?

@shiv-tyagi

Copy link
Copy Markdown
Member Author

We only generate manifest.json.xz on custom build server today. I would be happy to change it to xz after we do the firmware server side of changes to serve the xz format.

Fetch the xz-compressed manifest from firmware.ardupilot.org and
decompress before writing the on-disk cache. Keep If-None-Match and
If-Modified-Since revalidation unchanged.
Switch the default CBS manifest source from the 67 MB JSON file to the
0.7 MB xz file on firmware.ardupilot.org.
Add ManifestClient tests for xz decompression and conditional cache
hits. Assert the default manifest URL ends with .xz.
@shiv-tyagi

Copy link
Copy Markdown
Member Author

Thanks to @peterbarker we do emit xz on firmware server now. I have changed the PR to use the xz manifest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants