Skip to content

Conversation

@waleedlatif1
Copy link
Collaborator

Summary

  • migrate to blacksmith sticky disks for faster builds
  • other build improvements (order of operations, base installations)

Type of Change

  • Bug fix

Testing

Tested manually

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel
Copy link

vercel bot commented Dec 28, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
docs Ready Ready Preview, Comment Dec 28, 2025 2:07am

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Dec 28, 2025

Greptile Summary

Migrated CI/CD to Blacksmith sticky disks and optimized Docker builds for faster build times.

Key Changes:

  • Workflow: Replaced GitHub Actions cache with Blacksmith sticky disks for Bun cache and node_modules, providing persistent storage across builds
  • Dockerfile base stage: Consolidated Node.js 22 and system dependency installation into base stage to eliminate redundant installs across deps/runner stages
  • Dockerfile runner stage: Replaced setup.sh script with inline Python virtual environment setup using pip cache mounts for faster rebuilds
  • Build order: Optimized Docker layer caching by installing common dependencies earlier in the build process

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk - changes are infrastructure optimizations that improve build performance without affecting application logic
  • All changes are build/CI optimizations: sticky disk migration for faster caching, Docker layer consolidation to reduce build time, and inline pip installation replacing shell script. No application logic changes, no security concerns, and improvements are well-structured
  • No files require special attention

Important Files Changed

Filename Overview
.github/workflows/test-build.yml Migrated from GitHub Actions cache to Blacksmith sticky disks for improved build performance; separate mounts for Bun cache and node_modules
docker/app.Dockerfile Optimized Docker builds by installing Node.js/dependencies once in base stage, replaced setup.sh with inline pip installation using cache mounts

Sequence Diagram

sequenceDiagram
    participant GHA as GitHub Actions
    participant BS as Blacksmith Runner
    participant SD as Sticky Disk
    participant Bun as Bun Runtime
    participant Docker as Docker Build

    Note over GHA,Docker: CI Workflow Execution
    
    GHA->>BS: Trigger test-build workflow
    BS->>SD: Mount Bun cache (sticky disk)
    BS->>SD: Mount node_modules (sticky disk)
    SD-->>BS: Restore cached data
    BS->>Bun: bun install --frozen-lockfile
    Bun-->>SD: Update cache
    BS->>Bun: Run lint, tests, migrations check
    BS->>Bun: Build application
    
    Note over Docker: Docker Build Process
    
    Docker->>Docker: Base Stage: Install Node.js 22 + deps once
    Docker->>Docker: Deps Stage: Install packages with Bun/npm cache
    Docker->>Docker: Builder Stage: Copy deps, build app
    Docker->>Docker: Runner Stage: Setup Python venv with pip cache
    Docker->>Docker: Final image with all optimizations
Loading

@waleedlatif1 waleedlatif1 merged commit 7c0a3c1 into staging Dec 28, 2025
11 checks passed
@waleedlatif1 waleedlatif1 deleted the improvement/build branch December 28, 2025 02:09
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