From 8e21685ebfba1ff9db87e6ce575b68c9d6cadf1f Mon Sep 17 00:00:00 2001 From: "useblacksmith-dev[bot]" <157651960+useblacksmith-dev[bot]@users.noreply.github.com> Date: Sun, 17 Aug 2025 15:13:23 +0000 Subject: [PATCH 1/6] Migrate workflows to Blacksmith --- .github/workflows/build.yml | 2 +- .github/workflows/docker-stress-test.yml | 154 ++++++++--------------- .github/workflows/lint.yml | 2 +- .github/workflows/verify-build.yml | 2 +- 4 files changed, 54 insertions(+), 106 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c49657b..5ab9186 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,7 +2,7 @@ name: Build and Test on: [push, pull_request] jobs: build: - runs-on: ubuntu-latest + runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/docker-stress-test.yml b/.github/workflows/docker-stress-test.yml index 0d71fe4..d951193 100644 --- a/.github/workflows/docker-stress-test.yml +++ b/.github/workflows/docker-stress-test.yml @@ -15,16 +15,16 @@ env: jobs: # Job 1: Basic setup with minimal configuration basic-build: - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - name: Build image - uses: docker/build-push-action@v5 + uses: useblacksmith/build-push-action@v2 with: context: . push: false @@ -32,29 +32,16 @@ jobs: # Job 2: Setup with custom buildx configuration custom-buildx-config: - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up Docker Buildx with custom config - uses: docker/setup-buildx-action@v3 - with: - version: latest - driver: docker-container - driver-opts: | - image=moby/buildkit:latest - network=host - buildkitd-flags: --debug - install: true - use: true - endpoint: unix:///var/run/docker.sock - config-inline: | - [registry."docker.io"] - mirrors = ["mirror.gcr.io"] + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - name: Build with build args and secrets - uses: docker/build-push-action@v5 + uses: useblacksmith/build-push-action@v2 with: context: . file: ./Dockerfile @@ -71,7 +58,7 @@ jobs: # Job 3: Multi-platform build with cache multi-platform-cached: - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 @@ -81,13 +68,11 @@ jobs: with: platforms: linux/amd64,linux/arm64,linux/arm/v7 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - platforms: linux/amd64,linux/arm64,linux/arm/v7 + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - name: Build multi-platform with cache - uses: docker/build-push-action@v5 + uses: useblacksmith/build-push-action@v2 with: context: . platforms: linux/amd64,linux/arm64,linux/arm/v7 @@ -99,14 +84,14 @@ jobs: # Job 4: Registry authentication and push registry-push: - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 if: github.event.inputs.push_image == 'true' steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - name: Log in to Container Registry uses: docker/login-action@v3 @@ -129,7 +114,7 @@ jobs: type=raw,value=latest,enable={{is_default_branch}} - name: Build and push with metadata - uses: docker/build-push-action@v5 + uses: useblacksmith/build-push-action@v2 with: context: . push: true @@ -141,19 +126,16 @@ jobs: # Job 5: Advanced caching strategies advanced-caching: - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - driver-opts: | - image=moby/buildkit:master + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - name: Build with multiple cache sources - uses: docker/build-push-action@v5 + uses: useblacksmith/build-push-action@v2 with: context: . push: false @@ -171,19 +153,15 @@ jobs: # Job 6: Build with custom outputs and attestations custom-outputs: - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - version: v0.12.0 - driver: docker-container - + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - name: Build with SBOM and provenance - uses: docker/build-push-action@v5 + uses: useblacksmith/build-push-action@v2 with: context: . push: false @@ -203,10 +181,10 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, ubuntu-22.04] + os: [blacksmith-2vcpu-ubuntu-2404, ubuntu-22.04] buildx-version: [latest, v0.11.0] include: - - os: ubuntu-latest + - os: blacksmith-2vcpu-ubuntu-2404 buildx-version: latest driver: docker-container - os: ubuntu-22.04 @@ -216,14 +194,11 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - version: ${{ matrix.buildx-version }} - driver: ${{ matrix.driver }} + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - name: Build with matrix config - uses: docker/build-push-action@v5 + uses: useblacksmith/build-push-action@v2 with: context: . push: false @@ -233,7 +208,7 @@ jobs: # Job 8: Using buildx action with bake bake-build: - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 @@ -256,10 +231,8 @@ jobs: } EOF - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - buildkitd-flags: --debug + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - name: Build with bake uses: docker/bake-action@v4 @@ -274,7 +247,7 @@ jobs: # Job 9: Complex build with all options kitchen-sink: - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 @@ -284,27 +257,11 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - version: latest - driver: docker-container - driver-opts: | - image=moby/buildkit:buildx-stable-1 - network=host - env.BUILDKIT_STEP_LOG_MAX_SIZE=50000000 - env.BUILDKIT_STEP_LOG_MAX_SPEED=10000000 - buildkitd-flags: --debug --allow-insecure-entitlement security.insecure - install: true - use: true - endpoint: unix:///var/run/docker.sock - platforms: linux/amd64,linux/arm64,linux/386,linux/arm/v7,linux/arm/v6 - config-inline: | - [worker.oci] - max-parallelism = 4 + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - name: Build with everything - uses: docker/build-push-action@v5 + uses: useblacksmith/build-push-action@v2 with: context: . file: ./Dockerfile @@ -368,26 +325,19 @@ jobs: # Job 10: Setup buildx with append mode append-builder: - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up first builder - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - endpoint: unix:///var/run/docker.sock + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - - name: Append to builder - uses: docker/setup-buildx-action@v3 - with: - append: | - - endpoint: ssh://user@remote-host - platforms: linux/arm64,linux/arm/v7 + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - name: Build with appended builder - uses: docker/build-push-action@v5 + uses: useblacksmith/build-push-action@v2 with: context: . push: false @@ -395,14 +345,14 @@ jobs: # Job 11: Build and push with different registries multi-registry: - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 if: github.event.inputs.push_image == 'true' steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - name: Login to Docker Hub uses: docker/login-action@v3 @@ -425,7 +375,7 @@ jobs: password: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - name: Build and push to multiple registries - uses: docker/build-push-action@v5 + uses: useblacksmith/build-push-action@v2 with: context: . push: ${{ github.event.inputs.push_image == 'true' }} @@ -436,18 +386,16 @@ jobs: # Job 12: Simple build followed by separate build action sequential-builds: - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - name: First build - base image - uses: docker/build-push-action@v5 + uses: useblacksmith/build-push-action@v2 with: context: . target: base @@ -455,7 +403,7 @@ jobs: outputs: type=docker - name: Second build - production image - uses: docker/build-push-action@v5 + uses: useblacksmith/build-push-action@v2 with: context: . target: production diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index ad186d6..9c7373a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -8,7 +8,7 @@ on: jobs: lint: name: Lint Code - runs-on: ubuntu-latest + runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/verify-build.yml b/.github/workflows/verify-build.yml index 299dfcd..2f9198e 100644 --- a/.github/workflows/verify-build.yml +++ b/.github/workflows/verify-build.yml @@ -8,7 +8,7 @@ on: jobs: verify-build: - runs-on: ubuntu-latest + runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - uses: actions/checkout@v4 with: From 6dfd9bd56e53fde39c1079b7696687ca0ee06edc Mon Sep 17 00:00:00 2001 From: "useblacksmith-dev[bot]" <157651960+useblacksmith-dev[bot]@users.noreply.github.com> Date: Sun, 17 Aug 2025 15:18:49 +0000 Subject: [PATCH 2/6] Migrate workflows to Blacksmith --- .github/workflows/docker-stress-test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-stress-test.yml b/.github/workflows/docker-stress-test.yml index d951193..6a279a1 100644 --- a/.github/workflows/docker-stress-test.yml +++ b/.github/workflows/docker-stress-test.yml @@ -32,7 +32,7 @@ jobs: # Job 2: Setup with custom buildx configuration custom-buildx-config: - runs-on: blacksmith-2vcpu-ubuntu-2404 + runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 @@ -58,7 +58,7 @@ jobs: # Job 3: Multi-platform build with cache multi-platform-cached: - runs-on: blacksmith-2vcpu-ubuntu-2404 + runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 @@ -84,7 +84,7 @@ jobs: # Job 4: Registry authentication and push registry-push: - runs-on: blacksmith-2vcpu-ubuntu-2404 + runs-on: ubuntu-latest if: github.event.inputs.push_image == 'true' steps: - name: Checkout @@ -126,7 +126,7 @@ jobs: # Job 5: Advanced caching strategies advanced-caching: - runs-on: blacksmith-2vcpu-ubuntu-2404 + runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 From 597fcf155484931e5f08e2d25004a4b13f24a091 Mon Sep 17 00:00:00 2001 From: "useblacksmith-dev[bot]" <157651960+useblacksmith-dev[bot]@users.noreply.github.com> Date: Sun, 17 Aug 2025 15:33:24 +0000 Subject: [PATCH 3/6] Migrate workflows to Blacksmith --- .github/workflows/docker-stress-test.yml | 26 ++++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/docker-stress-test.yml b/.github/workflows/docker-stress-test.yml index 6a279a1..a6b6118 100644 --- a/.github/workflows/docker-stress-test.yml +++ b/.github/workflows/docker-stress-test.yml @@ -15,7 +15,7 @@ env: jobs: # Job 1: Basic setup with minimal configuration basic-build: - runs-on: blacksmith-2vcpu-ubuntu-2404 + runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 @@ -32,7 +32,7 @@ jobs: # Job 2: Setup with custom buildx configuration custom-buildx-config: - runs-on: ubuntu-latest + runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 @@ -58,7 +58,7 @@ jobs: # Job 3: Multi-platform build with cache multi-platform-cached: - runs-on: ubuntu-latest + runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 @@ -84,7 +84,7 @@ jobs: # Job 4: Registry authentication and push registry-push: - runs-on: ubuntu-latest + runs-on: blacksmith-4vcpu-ubuntu-2404 if: github.event.inputs.push_image == 'true' steps: - name: Checkout @@ -126,7 +126,7 @@ jobs: # Job 5: Advanced caching strategies advanced-caching: - runs-on: ubuntu-latest + runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 @@ -153,7 +153,7 @@ jobs: # Job 6: Build with custom outputs and attestations custom-outputs: - runs-on: blacksmith-2vcpu-ubuntu-2404 + runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 @@ -181,10 +181,10 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [blacksmith-2vcpu-ubuntu-2404, ubuntu-22.04] + os: [blacksmith-4vcpu-ubuntu-2404, ubuntu-22.04] buildx-version: [latest, v0.11.0] include: - - os: blacksmith-2vcpu-ubuntu-2404 + - os: blacksmith-4vcpu-ubuntu-2404 buildx-version: latest driver: docker-container - os: ubuntu-22.04 @@ -208,7 +208,7 @@ jobs: # Job 8: Using buildx action with bake bake-build: - runs-on: blacksmith-2vcpu-ubuntu-2404 + runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 @@ -247,7 +247,7 @@ jobs: # Job 9: Complex build with all options kitchen-sink: - runs-on: blacksmith-2vcpu-ubuntu-2404 + runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 @@ -325,7 +325,7 @@ jobs: # Job 10: Setup buildx with append mode append-builder: - runs-on: blacksmith-2vcpu-ubuntu-2404 + runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 @@ -345,7 +345,7 @@ jobs: # Job 11: Build and push with different registries multi-registry: - runs-on: blacksmith-2vcpu-ubuntu-2404 + runs-on: blacksmith-4vcpu-ubuntu-2404 if: github.event.inputs.push_image == 'true' steps: - name: Checkout @@ -386,7 +386,7 @@ jobs: # Job 12: Simple build followed by separate build action sequential-builds: - runs-on: blacksmith-2vcpu-ubuntu-2404 + runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 From c33798ff94fb5188559580b94fbd372e0052b958 Mon Sep 17 00:00:00 2001 From: "blacksmith-staging[bot]" <154928735+blacksmith-staging[bot]@users.noreply.github.com> Date: Thu, 21 Aug 2025 02:30:13 +0000 Subject: [PATCH 4/6] Migrate workflows to Blacksmith --- .github/workflows/docker-stress-test.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docker-stress-test.yml b/.github/workflows/docker-stress-test.yml index a6b6118..5929c04 100644 --- a/.github/workflows/docker-stress-test.yml +++ b/.github/workflows/docker-stress-test.yml @@ -386,16 +386,18 @@ jobs: # Job 12: Simple build followed by separate build action sequential-builds: - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - - name: Setup Blacksmith Builder - uses: useblacksmith/setup-docker-builder@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + with: + driver: docker - name: First build - base image - uses: useblacksmith/build-push-action@v2 + uses: docker/build-push-action@v5 with: context: . target: base @@ -403,7 +405,7 @@ jobs: outputs: type=docker - name: Second build - production image - uses: useblacksmith/build-push-action@v2 + uses: docker/build-push-action@v5 with: context: . target: production From 91fdc511392f24249a3ee01260e4d7a3202cf72b Mon Sep 17 00:00:00 2001 From: "blacksmith-staging[bot]" <154928735+blacksmith-staging[bot]@users.noreply.github.com> Date: Fri, 22 Aug 2025 13:45:09 +0000 Subject: [PATCH 5/6] Migrate workflows to Blacksmith --- .github/workflows/docker-stress-test.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/docker-stress-test.yml b/.github/workflows/docker-stress-test.yml index 5929c04..a6b6118 100644 --- a/.github/workflows/docker-stress-test.yml +++ b/.github/workflows/docker-stress-test.yml @@ -386,18 +386,16 @@ jobs: # Job 12: Simple build followed by separate build action sequential-builds: - runs-on: ubuntu-latest + runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - name: First build - base image - uses: docker/build-push-action@v5 + uses: useblacksmith/build-push-action@v2 with: context: . target: base @@ -405,7 +403,7 @@ jobs: outputs: type=docker - name: Second build - production image - uses: docker/build-push-action@v5 + uses: useblacksmith/build-push-action@v2 with: context: . target: production From 139ab1d098b9ee56d1c8109fe70d68957748721f Mon Sep 17 00:00:00 2001 From: "blacksmith-sh[bot]" <157653362+blacksmith-sh[bot]@users.noreply.github.com> Date: Sat, 23 Aug 2025 18:45:51 +0000 Subject: [PATCH 6/6] Migrate workflows to Blacksmith