1

Set up our GitHub integration

Start by going to app.blacksmith.sh and follow the steps to grant Blacksmith the necessary permissions to execute your GitHub Action jobs on Blacksmith’s infrastructure.
Blacksmith is limited to GitHub organizations and not available for personal repositories.
2

Use our Migration Wizard to update your GitHub Actions workflow files

If you’ve chosen to ignore the Migration Wizard (don’t, really), continue reading this step. To switch to a Blacksmith runner, just manually replace the current tag with the appropriate Blacksmith runner tag.
Diff Example
jobs:
  build:
    runs-on: ubuntu-latest
    runs-on: blacksmith-2vcpu-ubuntu-2404
Workflow files may contain multiple jobs. Ensure you update all runs-on fields to utilize Blacksmith runners.
3

Cache dependencies and build outputs to run even faster (recommended)

When you run jobs on Blacksmith, all official GitHub and popular third-party cache actions transparently interact with our 4x faster, colocated cache, instead of GitHub’s backend. Plus, enjoy 25GB of free storage per repository each week, 2.5x what GitHub offers.
Diff Example
# If it's running on Blacksmith, it will use our cache
name: Cache Cargo dependencies
uses: actions/cache@v4
To learn more about how we achieve this, checkout our dependencies cache page.
4

Cache Docker layers to make your Docker builds even faster (recommended)

Blacksmith lets your Docker builds in GitHub Actions reuse cached layers, rebuilding only what’s changed and speeding up your builds by up to 40x.
Diff Example
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: useblacksmith/setup-docker-builder@v1

name: Build and Push Docker Image
uses: docker/build-push-action@v3
uses: useblacksmith/build-push-action@v2
with:
  push: true
  tags: user/app:latest
  cache-from: type=registry,ref=user/app:latest
  cache-to: type=inline
To learn more about how we achieve this, checkout our Docker builds cache page.
5

Debug your CI pipeline using our observability features