Skip to content

feat(docs): Compress the packages with zstd - #2730

Open
simon04 wants to merge 1 commit into
mainfrom
package-zstd
Open

simon04 wants to merge 1 commit into
mainfrom
package-zstd

Conversation

@simon04

@simon04 simon04 commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Package the documentations as ".tar.zst" instead of ".tar.gz", which cuts
their size by about a third at the same time as it speeds up extraction:

doc            tar        gzip       zstd -19
javascript     28.8 MB    3.38 MB    1.87 MB (-45%)
python~3.14    42.9 MB    7.92 MB    5.34 MB (-33%)
dom           131.5 MB   21.13 MB   14.42 MB (-32%)

Keep downloading the ".tar.gz" of the documentations that have not been
re-packaged since, as the bundle zone holds both formats from now on.

Package the documentations as ".tar.zst" instead of ".tar.gz", which cuts
their size by about a third at the same time as it speeds up extraction:

    doc            tar        gzip       zstd -19
    javascript     28.8 MB    3.38 MB    1.87 MB (-45%)
    python~3.14    42.9 MB    7.92 MB    5.34 MB (-33%)
    dom           131.5 MB   21.13 MB   14.42 MB (-32%)

Keep downloading the ".tar.gz" of the documentations that have not been
re-packaged since, as the bundle zone holds both formats from now on.
@simon04
simon04 requested a review from a team as a code owner September 13, 2026 11:17
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedzstd-ruby@​2.0.997100100100100

View full report

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The implementation consistently supports zstd packages while preserving legacy gzip compatibility.

Pull request overview

Migrates documentation bundles from gzip to smaller, faster-to-extract zstd archives while retaining legacy gzip download compatibility.

Changes:

  • Adds zstd streaming compression and decompression.
  • Prefers .tar.zst packages with .tar.gz fallback.
  • Documents the format migration and adds the required gem.
File summaries
File Description
lib/tasks/docs.thor Implements zstd packaging, discovery, upload, and fallback downloads.
Gemfile Adds zstd-ruby to docs dependencies.
Gemfile.lock Locks zstd-ruby 2.0.9.
docs/maintainers.md Documents package formats and compatibility expectations.
Review details
  • Files reviewed: 3/4 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants