Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: useblacksmith/setup-docker-builder
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.11.0
Choose a base ref
...
head repository: useblacksmith/setup-docker-builder
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2.0.0
Choose a head ref
  • 5 commits
  • 15 files changed
  • 4 contributors

Commits on Jun 23, 2026

  1. feat: add required cache-key input, native GC, and server-driven conf…

    …ig for v2 (#108)
    
    * feat: add required cache-key input for v2
    
    Replace the hardcoded GITHUB_REPO_NAME sticky disk key with a required
    cache-key input. Users must explicitly declare which cache entity their
    build targets, preventing cache thrashing in multi-target repos.
    
    The cache-key is saved to action state and passed through to the commit
    phase so the same key is used for both expose and commit RPCs.
    
    Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    
    * feat: replace manual pruning with buildkit native gc
    
    Remove max-cache-size-mb input and manual buildctl prune from the post
    phase. Enable BuildKit's native garbage collection with a time-based
    policy (keepDuration=192h / 8 days). Layers unused for longer than the
    retention period are automatically cleaned up; active layers survive
    indefinitely regardless of total cache size.
    
    Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    
    * feat: add server-driven config infrastructure for GC and pre-commit hooks
    
    Add BuildkitdConfig and PreCommitHook interfaces (server-config.ts) that
    define the contract for server-driven cache lifecycle management. The
    action reads BuildkitdConfig from the GetStickyDisk RPC response (with
    hardcoded fallback for Phase 1) and runs pre-commit hooks from the
    PrepareCommit RPC response before committing.
    
    Refactor writeBuildkitdTomlFile to accept a BuildkitdConfig parameter
    instead of hardcoding GC policy values. This makes it trivial to switch
    from hardcoded defaults to server-provided config when the proto is
    updated (Phase 2).
    
    Add runPreCommitHooks dispatcher that executes an ordered list of opaque
    shell commands with timeout and failure mode handling. The commit flow
    now goes through prepareCommit -> runHooks -> conditionalCommit, with
    Phase 1 returning unconditional commit + empty hooks.
    
    Phase 1 (now): hardcoded gc=true, keepDuration=192h, no hooks
    Phase 2: server returns BuildkitdConfig in GetStickyDiskResponse
    Phase 3: server returns hooks via PrepareCommit RPC
    
    Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    
    * chore: remove unused rollup build artifacts
    
    Remove rollup.config.js and rollup devDependencies (@rollup/plugin-node-resolve,
    @rollup/plugin-typescript, rollup). The repo switched to ncc for bundling in
    commit 2ffcb3d; rollup artifacts were never cleaned up. The dist/main.bundle.mjs
    file was already deleted in a prior commit.
    
    Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    piob-io and devin-ai-integration[bot] authored Jun 23, 2026
    Configuration menu
    Copy the full SHA
    426bee8 View commit details
    Browse the repository at this point in the history
  2. ci: add cache-key to test workflows for v2 compatibility (#110)

    Add the required cache-key input to test-action.yml and
    step-duration-regression.yml so they work on the release/v2 branch.
    Also trigger on push to release/v2 branch.
    
    Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    piob-io and devin-ai-integration[bot] authored Jun 23, 2026
    Configuration menu
    Copy the full SHA
    5a70902 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2026

  1. Configuration menu
    Copy the full SHA
    c8e74ab View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2026

  1. remove bbolt integrity check entirely (release/v2) (#116)

    * fix: treat RuntimeMaxSec SIGTERM (exit 143) in bbolt check as timeout skip
    
    Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    
    * remove bbolt integrity check entirely
    
    Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    Trent-TSE and devin-ai-integration[bot] authored Jul 15, 2026
    Configuration menu
    Copy the full SHA
    7a99e9f View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2026

  1. setup_builder: wait for non-zero device size before formatting sticky…

    … disk (#119)
    
    Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    piob-io and devin-ai-integration[bot] authored Jul 16, 2026
    Configuration menu
    Copy the full SHA
    33803e6 View commit details
    Browse the repository at this point in the history
Loading