Skip to content
2 changes: 1 addition & 1 deletion .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ permissions:

jobs:
bench:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
container:
image: ghcr.io/dojoengine/katana-dev:latest
steps:
Expand Down
18 changes: 8 additions & 10 deletions .github/workflows/build-and-push-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ jobs:
# |--------------------|---------------------------|
#
setup:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
outputs:
tag_name: ${{ steps.docker_tag.outputs.tag_name }}
steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Setup Blacksmith Builder
uses: useblacksmith/setup-docker-builder@v1

- name: Set Docker tag
id: docker_tag
Expand All @@ -49,7 +49,7 @@ jobs:
fi

build-and-push-amd64:
runs-on: ubuntu-latest-8-cores
runs-on: blacksmith-8vcpu-ubuntu-2404
needs: setup
steps:
- name: Checkout repository
Expand All @@ -69,7 +69,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push Docker image for amd64
uses: docker/build-push-action@v6
uses: useblacksmith/build-push-action@v2
with:
context: .
push: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch' }}
Expand All @@ -79,10 +79,9 @@ jobs:
RUST_VERSION=${{ env.RUST_VERSION }}
CLIPPY_VERSION=${{ env.CLIPPY_VERSION }}
platforms: linux/amd64
cache-from: type=registry,ref=ghcr.io/${{ github.repository }}-dev:latest-amd64

build-and-push-arm64:
runs-on: ubuntu-latest-8-cores-arm64
runs-on: blacksmith-8vcpu-ubuntu-2404-arm
needs: setup
steps:
- name: Checkout repository
Expand All @@ -102,7 +101,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push Docker image for arm64
uses: docker/build-push-action@v6
uses: useblacksmith/build-push-action@v2
with:
context: .
push: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch' }}
Expand All @@ -112,10 +111,9 @@ jobs:
RUST_VERSION=${{ env.RUST_VERSION }}
CLIPPY_VERSION=${{ env.CLIPPY_VERSION }}
platforms: linux/arm64
cache-from: type=registry,ref=ghcr.io/${{ github.repository }}-dev:latest-arm64

create-multiplatform-manifest:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
needs: [setup, build-and-push-amd64, build-and-push-arm64]
steps:
- name: Login to GitHub Container Registry
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude') && contains(vars.ALLOWED_CLAUDE_USERS, github.event.review.user.login)) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')) && contains(vars.ALLOWED_CLAUDE_USERS, github.event.issue.user.login)))

runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: write
pull-requests: write
Expand Down Expand Up @@ -66,7 +66,7 @@ jobs:
github.event.comment &&
github.event.comment.body == '/claude-review'

runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: write
pull-requests: write
Expand Down
10 changes: 4 additions & 6 deletions .github/workflows/dockerfile-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,23 @@ env:

jobs:
build-dev-image:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
strategy:
matrix:
platform: [linux/amd64]
steps:
- name: Checkout repository
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: Test Docker build for ${{ matrix.platform }}
uses: docker/build-push-action@v5
uses: useblacksmith/build-push-action@v2
with:
push: false
file: .github/Dockerfile
platforms: ${{ matrix.platform }}
build-args: |
RUST_VERSION=${{ env.RUST_VERSION }}
CLIPPY_VERSION=${{ env.CLIPPY_VERSION }}
cache-from: type=gha
cache-to: type=gha,mode=max
2 changes: 1 addition & 1 deletion .github/workflows/generate-db-dispatch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:

jobs:
generate-database:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404

container:
image: ghcr.io/dojoengine/katana-dev:latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-dispatch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
permissions:
pull-requests: write
contents: write
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
container:
image: ghcr.io/dojoengine/katana-dev:latest
env:
Expand Down
24 changes: 12 additions & 12 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
prepare:
# The prepare-release branch names comes from the release-dispatch.yml workflow.
if: (github.event.pull_request.merged == true && github.event.pull_request.head.ref == 'prepare-release') || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
outputs:
tag_name: ${{ steps.release_info.outputs.tag_name }}
steps:
Expand All @@ -41,7 +41,7 @@ jobs:
fi

build-contracts:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
needs: prepare
container:
image: ghcr.io/dojoengine/katana-dev:latest
Expand Down Expand Up @@ -76,23 +76,23 @@ jobs:
# The arch is either 386, arm64 or amd64
# The svm target platform to use for the binary https://github.com/roynalnaruto/svm-rs/blob/84cbe0ac705becabdc13168bae28a45ad2299749/svm-builds/build.rs#L4-L24
# Added native_build dimension to control build type
- os: ubuntu-latest-8-cores
- os: blacksmith-8vcpu-ubuntu-2404
platform: linux
target: x86_64-unknown-linux-gnu
arch: amd64
native_build: true
- os: ubuntu-latest-8-cores
- os: blacksmith-8vcpu-ubuntu-2404
platform: linux
target: x86_64-unknown-linux-gnu
arch: amd64
native_build: false
- os: ubuntu-latest-8-cores-arm64
- os: blacksmith-8vcpu-ubuntu-2404-arm
platform: linux
target: aarch64-unknown-linux-gnu
arch: arm64
svm_target_platform: linux-aarch64
native_build: true
- os: ubuntu-latest-8-cores-arm64
- os: blacksmith-8vcpu-ubuntu-2404-arm
platform: linux
target: aarch64-unknown-linux-gnu
arch: arm64
Expand Down Expand Up @@ -277,7 +277,7 @@ jobs:
retention-days: 1

create-draft-release:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
needs: [prepare, release]
container:
image: ghcr.io/dojoengine/katana-dev:latest
Expand All @@ -301,7 +301,7 @@ jobs:
- run: gh release create ${{ steps.version_info.outputs.version }} ./artifacts/* --generate-notes --draft

docker-build-and-push:
runs-on: ubuntu-latest-8-cores
runs-on: blacksmith-8vcpu-ubuntu-2404
needs: [prepare, release]

steps:
Expand All @@ -315,8 +315,8 @@ jobs:
path: artifacts/linux
merge-multiple: true

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Setup Blacksmith Builder
uses: useblacksmith/setup-docker-builder@v1

- name: Login to GitHub Container Registry
uses: docker/login-action@v1
Expand All @@ -327,7 +327,7 @@ jobs:

- name: Build and push docker image
if: ${{ contains(needs.prepare.outputs.tag_name, 'preview') }}
uses: docker/build-push-action@v3
uses: useblacksmith/build-push-action@v2
with:
push: true
tags: ghcr.io/${{ github.repository }}:${{ needs.prepare.outputs.tag_name }}
Expand All @@ -337,7 +337,7 @@ jobs:

- name: Build and push docker image
if: ${{ !contains(needs.prepare.outputs.tag_name, 'preview') }}
uses: docker/build-push-action@v3
uses: useblacksmith/build-push-action@v2
with:
push: true
tags: ghcr.io/${{ github.repository }}:latest,ghcr.io/${{ github.repository }}:${{ needs.prepare.outputs.tag_name }}
Expand Down
35 changes: 23 additions & 12 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ env:

jobs:
fmt:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.draft == false)
container:
image: ghcr.io/dojoengine/katana-dev:latest
Expand All @@ -43,7 +43,7 @@ jobs:

generate-test-artifacts:
needs: [fmt]
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.draft == false)
container:
image: ghcr.io/dojoengine/katana-dev:latest
Expand Down Expand Up @@ -89,7 +89,7 @@ jobs:

build-katana-binary:
needs: [fmt, clippy, generate-test-artifacts]
runs-on: ubuntu-latest-32-cores
runs-on: blacksmith-32vcpu-ubuntu-2404
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.draft == false)
container:
image: ghcr.io/dojoengine/katana-dev:latest
Expand Down Expand Up @@ -128,7 +128,7 @@ jobs:

clippy:
needs: [generate-test-artifacts]
runs-on: ubuntu-latest-4-cores
runs-on: blacksmith-4vcpu-ubuntu-2404
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.draft == false)
container:
image: ghcr.io/dojoengine/katana-dev:latest
Expand Down Expand Up @@ -158,7 +158,7 @@ jobs:

test:
needs: [fmt, clippy, generate-test-artifacts, build-katana-binary]
runs-on: ubuntu-latest-32-cores
runs-on: blacksmith-32vcpu-ubuntu-2404
timeout-minutes: 30
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.draft == false)
container:
Expand Down Expand Up @@ -216,7 +216,7 @@ jobs:

snos-integration-test:
needs: [fmt, clippy]
runs-on: ubuntu-latest-32-cores
runs-on: blacksmith-32vcpu-ubuntu-2404
timeout-minutes: 30
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.draft == false)
container:
Expand Down Expand Up @@ -253,7 +253,7 @@ jobs:

explorer-reverse-proxy:
needs: [fmt, clippy, build-katana-binary]
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.draft == false)
container:
image: ghcr.io/dojoengine/katana-dev:latest
Expand Down Expand Up @@ -285,7 +285,7 @@ jobs:

dojo-integration-test:
needs: [fmt, clippy, build-katana-binary]
runs-on: ubuntu-latest-32-cores
runs-on: blacksmith-32vcpu-ubuntu-2404
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.draft == false)
container:
image: ghcr.io/dojoengine/katana-dev:latest
Expand Down Expand Up @@ -321,19 +321,30 @@ jobs:
uses: actions/checkout@v3
with:
repository: dojoengine/dojo
ref: v1.7.0-alpha.2
ref: v1.7.0
path: dojo

- uses: software-mansion/setup-scarb@v1
with:
scarb-version: "dev-2025-09-05"
scarb-version: "2.12.2"

- name: Build and migrate `spawn-and-move` project
# Note: We build sozo from source instead of downloading the prebuilt binary
# because the GitHub release artifacts require GLIBC 2.38/2.39 which is not
# available in our CI container (ghcr.io/dojoengine/katana-dev:latest)
# We need to use Rust 1.88+ due to clap dependency requirements in sozo v1.7.0
- name: Install Rust 1.88 for sozo build
run: |
rustup toolchain install 1.88.0
rustup default 1.88.0

- name: Build sozo from source
run: |
cd dojo
cargo install --path bin/sozo --locked --force

cd examples/spawn-and-move
- name: Build and migrate `spawn-and-move` project
run: |
cd dojo/examples/spawn-and-move
sozo build && sozo migrate

- name: Output Katana logs on failure
Expand Down
12 changes: 9 additions & 3 deletions .github/workflows/weekly-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on:
jobs:
current-main-size:
name: Current main branch binary size
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
container:
image: ghcr.io/dojoengine/katana-dev:latest
outputs:
Expand All @@ -33,6 +33,9 @@ jobs:
with:
key: weekly-binary-size-main

- name: Make contracts
run: make contracts

- name: Get binary size (main)
id: binary-size
run: |
Expand All @@ -45,7 +48,7 @@ jobs:

latest-release-size:
name: Latest release binary size
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
container:
image: ghcr.io/dojoengine/katana-dev:latest
outputs:
Expand All @@ -64,6 +67,9 @@ jobs:
with:
key: weekly-binary-size-release

- name: Make contracts
run: make contracts

- name: Get latest release and binary size
id: binary-size
run: |
Expand All @@ -85,7 +91,7 @@ jobs:
generate-report:
name: Generate binary size report
needs: [current-main-size, latest-release-size]
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
container:
image: ghcr.io/dojoengine/katana-dev:latest

Expand Down
Loading
Loading