diff --git a/.github/workflows/auto-response.yml b/.github/workflows/auto-response.yml index ce197a0..0507bd3 100644 --- a/.github/workflows/auto-response.yml +++ b/.github/workflows/auto-response.yml @@ -15,7 +15,7 @@ jobs: (github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'labeled' || github.event.action == 'unlabeled')) || (github.event_name == 'pull_request_target' && (github.event.action == 'labeled' || github.event.action == 'unlabeled')) - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 permissions: issues: write steps: @@ -119,7 +119,7 @@ jobs: first-interaction: if: github.event.action == 'opened' - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 permissions: issues: write pull-requests: write @@ -150,7 +150,7 @@ jobs: labeled-routes: if: github.event.action == 'labeled' - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 permissions: issues: write pull-requests: write diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 17a9b7a..f9a435c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,7 @@ env: jobs: changes: name: Detect Change Scope - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 outputs: docs_only: ${{ steps.scope.outputs.docs_only }} docs_changed: ${{ steps.scope.outputs.docs_changed }} @@ -169,7 +169,7 @@ jobs: name: Docs-Only Fast Path needs: [changes] if: needs.changes.outputs.docs_only == 'true' - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Skip heavy jobs for docs-only change run: echo "Docs-only change detected. Rust lint/test/build skipped." @@ -178,7 +178,7 @@ jobs: name: Non-Rust Fast Path needs: [changes] if: needs.changes.outputs.docs_only != 'true' && needs.changes.outputs.rust_changed != 'true' - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Skip Rust jobs for non-Rust change scope run: echo "No Rust-impacting files changed. Rust lint/test/build skipped." @@ -213,7 +213,7 @@ jobs: name: CI Required Gate if: always() needs: [changes, lint, test, build, docs-only, non-rust, docs-quality] - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Enforce required status shell: bash diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 271274b..bb88fa1 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -26,7 +26,7 @@ jobs: pr-smoke: name: PR Docker Smoke if: github.event_name == 'pull_request' - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 timeout-minutes: 25 permissions: contents: read @@ -34,8 +34,8 @@ jobs: - name: Checkout repository uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3 + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - name: Extract metadata (tags, labels) id: meta @@ -46,14 +46,13 @@ jobs: type=ref,event=pr - name: Build smoke image - uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # v5 + uses: useblacksmith/build-push-action@v2 with: context: . push: false load: true tags: zeroclaw-pr-smoke:latest labels: ${{ steps.meta.outputs.labels }} - cache-from: type=gha platforms: linux/amd64 - name: Verify image @@ -71,8 +70,8 @@ jobs: - name: Checkout repository uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3 + - name: Setup Blacksmith Builder + uses: useblacksmith/setup-docker-builder@v1 - name: Log in to Container Registry uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3 @@ -103,11 +102,9 @@ jobs: echo "tags=${TAGS}" >> "$GITHUB_OUTPUT" - name: Build and push Docker image - uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # v5 + uses: useblacksmith/build-push-action@v2 with: context: . push: true 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' }} diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 08def46..8973c94 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -15,7 +15,7 @@ permissions: jobs: label: - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 timeout-minutes: 10 steps: - name: Apply path labels diff --git a/.github/workflows/pr-hygiene.yml b/.github/workflows/pr-hygiene.yml index 7db9609..0f36ac5 100644 --- a/.github/workflows/pr-hygiene.yml +++ b/.github/workflows/pr-hygiene.yml @@ -13,7 +13,7 @@ concurrency: jobs: nudge-stale-prs: - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 permissions: contents: read pull-requests: write diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index aa0d32a..716b430 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: matrix: include: - os: ubuntu-latest - target: x86_64-unknown-linux-gnu + target: blacksmith-2vcpu-ubuntu-2404 artifact: zeroclaw - os: macos-latest target: x86_64-apple-darwin diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index f532229..d54e64d 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -12,7 +12,7 @@ jobs: permissions: issues: write pull-requests: write - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Mark stale issues and pull requests uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9