Skip to content

feat(ci): use zstd for faster saving and loading superset-node-ci image#38645

Open
hainenber wants to merge 3 commits intomasterfrom
feat/optimize-docker-save-in-ci
Open

feat(ci): use zstd for faster saving and loading superset-node-ci image#38645
hainenber wants to merge 3 commits intomasterfrom
feat/optimize-docker-save-in-ci

Conversation

@hainenber
Copy link
Contributor

@hainenber hainenber commented Mar 14, 2026

User description

feat(ci): use zstd for faster saving and loading superset-node-ci image

SUMMARY

Attempt to optimize the loading and saving process of superset-node-ci for frontend CI checks.

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

N/A

TESTING INSTRUCTIONS

Green and faster CI

ADDITIONAL INFORMATION

  • Has associated issue:
  • Required feature flags:
  • Changes UI
  • Includes DB Migration (follow approval process in SIP-59)
    • Migration is atomic, supports rollback & is backwards-compatible
    • Confirm DB migration upgrade and downgrade tested
    • Runtime estimates and downtime expectations provided
  • Introduces new feature or API
  • Removes existing feature or API

CodeAnt-AI Description

Use zstd compression for Docker image artifacts to speed up frontend CI

What Changed

  • Saved the built frontend CI Docker image using zstd compression (.tar.zst) instead of gzip (.tar.gz)
  • CI jobs now download the .tar.zst artifact and decompress it with zstd before loading the image, so all frontend test, lint, and build steps load the compressed image
  • Artifact upload/download and image load commands reflect the new .tar.zst filename

Impact

✅ Shorter frontend CI image save/load time
✅ Faster frontend CI job startup
✅ Smaller artifact transfer time

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

… image

Signed-off-by: hainenber <dotronghai96@gmail.com>
Signed-off-by: hainenber <dotronghai96@gmail.com>
@bito-code-review
Copy link
Contributor

bito-code-review bot commented Mar 14, 2026

Bito Automatic Review Skipped - Files Excluded

Bito didn't auto-review this change because all changed files are in the exclusion list for automatic reviews. No action is needed if you didn't intend for the agent to review it. Otherwise, to manually trigger a review, type /review in a comment and save.
You can change the excluded files settings here, or contact your Bito workspace admin at evan@preset.io.

@github-actions github-actions bot added the github_actions Pull requests that update GitHub Actions code label Mar 14, 2026
@codeant-ai-for-open-source codeant-ai-for-open-source bot added the size:XS This PR changes 0-9 lines, ignoring generated files label Mar 14, 2026
@codeant-ai-for-open-source
Copy link
Contributor

Sequence Diagram

This PR changes the frontend CI image artifact format from gzip to zstd to speed up save and load steps. The build job now uploads a zstd-compressed Docker image, and each downstream frontend job downloads, decompresses, loads, and reuses it for checks.

sequenceDiagram
    participant BuildJob
    participant Docker
    participant ArtifactStore
    participant FrontendJob

    BuildJob->>Docker: Build superset node ci image
    BuildJob->>Docker: Save image and compress with zstd
    BuildJob->>ArtifactStore: Upload compressed image artifact
    loop Each frontend check job
        FrontendJob->>ArtifactStore: Download compressed image artifact
        FrontendJob->>Docker: Decompress and load image
        FrontendJob->>Docker: Run frontend checks in container
    end
Loading

Generated by CodeAnt AI

…age to disk

Signed-off-by: hainenber <dotronghai96@gmail.com>
@hainenber
Copy link
Contributor Author

1 minute faster and ~100MB lighter for the frontend-build process. Not bad, not bad

Before
image
image

After
image

image

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

Labels

github_actions Pull requests that update GitHub Actions code size/S size:XS This PR changes 0-9 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant