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

2 participants