Skip to main content
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

This could be because of a few reasons:
  1. The GitHub organization has SSO enabled, but the current session is not authenticated. Make sure you authenticate with the SSO provider within GitHub and then refresh the Blacksmith dashboard.
  2. The GitHub organization does not have the Blacksmith app installed. Verify that the Blacksmith app is correctly installed in the organization.
  3. The GitHub user is not a member of the organization. Double-check that the user is a member of the organization.
If you are still having issues, reach out to us at [email protected].
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.
I