Migrate workflows to Blacksmith (#428)

Co-authored-by: blacksmith-sh[bot] <157653362+blacksmith-sh[bot]@users.noreply.github.com>
This commit is contained in:
blacksmith-sh[bot] 2026-02-16 15:58:54 -05:00 committed by GitHub
parent bddf791350
commit 15bccf11d7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 18 additions and 21 deletions

View file

@ -15,7 +15,7 @@ jobs:
(github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'labeled' || github.event.action == 'unlabeled')) || (github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'labeled' || github.event.action == 'unlabeled')) ||
(github.event_name == 'pull_request_target' && (github.event_name == 'pull_request_target' &&
(github.event.action == 'labeled' || github.event.action == 'unlabeled')) (github.event.action == 'labeled' || github.event.action == 'unlabeled'))
runs-on: ubuntu-latest runs-on: blacksmith-2vcpu-ubuntu-2404
permissions: permissions:
issues: write issues: write
steps: steps:
@ -119,7 +119,7 @@ jobs:
first-interaction: first-interaction:
if: github.event.action == 'opened' if: github.event.action == 'opened'
runs-on: ubuntu-latest runs-on: blacksmith-2vcpu-ubuntu-2404
permissions: permissions:
issues: write issues: write
pull-requests: write pull-requests: write
@ -150,7 +150,7 @@ jobs:
labeled-routes: labeled-routes:
if: github.event.action == 'labeled' if: github.event.action == 'labeled'
runs-on: ubuntu-latest runs-on: blacksmith-2vcpu-ubuntu-2404
permissions: permissions:
issues: write issues: write
pull-requests: write pull-requests: write

View file

@ -19,7 +19,7 @@ env:
jobs: jobs:
changes: changes:
name: Detect Change Scope name: Detect Change Scope
runs-on: ubuntu-latest runs-on: blacksmith-2vcpu-ubuntu-2404
outputs: outputs:
docs_only: ${{ steps.scope.outputs.docs_only }} docs_only: ${{ steps.scope.outputs.docs_only }}
docs_changed: ${{ steps.scope.outputs.docs_changed }} docs_changed: ${{ steps.scope.outputs.docs_changed }}
@ -169,7 +169,7 @@ jobs:
name: Docs-Only Fast Path name: Docs-Only Fast Path
needs: [changes] needs: [changes]
if: needs.changes.outputs.docs_only == 'true' if: needs.changes.outputs.docs_only == 'true'
runs-on: ubuntu-latest runs-on: blacksmith-2vcpu-ubuntu-2404
steps: steps:
- name: Skip heavy jobs for docs-only change - name: Skip heavy jobs for docs-only change
run: echo "Docs-only change detected. Rust lint/test/build skipped." run: echo "Docs-only change detected. Rust lint/test/build skipped."
@ -178,7 +178,7 @@ jobs:
name: Non-Rust Fast Path name: Non-Rust Fast Path
needs: [changes] needs: [changes]
if: needs.changes.outputs.docs_only != 'true' && needs.changes.outputs.rust_changed != 'true' if: needs.changes.outputs.docs_only != 'true' && needs.changes.outputs.rust_changed != 'true'
runs-on: ubuntu-latest runs-on: blacksmith-2vcpu-ubuntu-2404
steps: steps:
- name: Skip Rust jobs for non-Rust change scope - name: Skip Rust jobs for non-Rust change scope
run: echo "No Rust-impacting files changed. Rust lint/test/build skipped." run: echo "No Rust-impacting files changed. Rust lint/test/build skipped."
@ -213,7 +213,7 @@ jobs:
name: CI Required Gate name: CI Required Gate
if: always() if: always()
needs: [changes, lint, test, build, docs-only, non-rust, docs-quality] needs: [changes, lint, test, build, docs-only, non-rust, docs-quality]
runs-on: ubuntu-latest runs-on: blacksmith-2vcpu-ubuntu-2404
steps: steps:
- name: Enforce required status - name: Enforce required status
shell: bash shell: bash

View file

@ -26,7 +26,7 @@ jobs:
pr-smoke: pr-smoke:
name: PR Docker Smoke name: PR Docker Smoke
if: github.event_name == 'pull_request' if: github.event_name == 'pull_request'
runs-on: ubuntu-latest runs-on: blacksmith-2vcpu-ubuntu-2404
timeout-minutes: 25 timeout-minutes: 25
permissions: permissions:
contents: read contents: read
@ -34,8 +34,8 @@ jobs:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: Set up Docker Buildx - name: Setup Blacksmith Builder
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3 uses: useblacksmith/setup-docker-builder@v1
- name: Extract metadata (tags, labels) - name: Extract metadata (tags, labels)
id: meta id: meta
@ -46,14 +46,13 @@ jobs:
type=ref,event=pr type=ref,event=pr
- name: Build smoke image - name: Build smoke image
uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # v5 uses: useblacksmith/build-push-action@v2
with: with:
context: . context: .
push: false push: false
load: true load: true
tags: zeroclaw-pr-smoke:latest tags: zeroclaw-pr-smoke:latest
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
platforms: linux/amd64 platforms: linux/amd64
- name: Verify image - name: Verify image
@ -71,8 +70,8 @@ jobs:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: Set up Docker Buildx - name: Setup Blacksmith Builder
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3 uses: useblacksmith/setup-docker-builder@v1
- name: Log in to Container Registry - name: Log in to Container Registry
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3 uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3
@ -103,11 +102,9 @@ jobs:
echo "tags=${TAGS}" >> "$GITHUB_OUTPUT" echo "tags=${TAGS}" >> "$GITHUB_OUTPUT"
- name: Build and push Docker image - name: Build and push Docker image
uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # v5 uses: useblacksmith/build-push-action@v2
with: with:
context: . context: .
push: true push: true
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
cache-from: type=gha
cache-to: type=gha,mode=max
platforms: ${{ startsWith(github.ref, 'refs/tags/') && 'linux/amd64,linux/arm64' || 'linux/amd64' }} platforms: ${{ startsWith(github.ref, 'refs/tags/') && 'linux/amd64,linux/arm64' || 'linux/amd64' }}

View file

@ -15,7 +15,7 @@ permissions:
jobs: jobs:
label: label:
runs-on: ubuntu-latest runs-on: blacksmith-2vcpu-ubuntu-2404
timeout-minutes: 10 timeout-minutes: 10
steps: steps:
- name: Apply path labels - name: Apply path labels

View file

@ -13,7 +13,7 @@ concurrency:
jobs: jobs:
nudge-stale-prs: nudge-stale-prs:
runs-on: ubuntu-latest runs-on: blacksmith-2vcpu-ubuntu-2404
permissions: permissions:
contents: read contents: read
pull-requests: write pull-requests: write

View file

@ -21,7 +21,7 @@ jobs:
matrix: matrix:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
target: x86_64-unknown-linux-gnu target: blacksmith-2vcpu-ubuntu-2404
artifact: zeroclaw artifact: zeroclaw
- os: macos-latest - os: macos-latest
target: x86_64-apple-darwin target: x86_64-apple-darwin

View file

@ -12,7 +12,7 @@ jobs:
permissions: permissions:
issues: write issues: write
pull-requests: write pull-requests: write
runs-on: ubuntu-latest runs-on: blacksmith-2vcpu-ubuntu-2404
steps: steps:
- name: Mark stale issues and pull requests - name: Mark stale issues and pull requests
uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9 uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9