ci: move workflows to blacksmith 16vcpu runners

This commit is contained in:
Peter Steinberger
2026-02-19 17:25:15 +01:00
parent 2c05cbb43e
commit ce1f0c0a10
9 changed files with 29 additions and 30 deletions

View File

@@ -13,7 +13,7 @@ jobs:
permissions: permissions:
issues: write issues: write
pull-requests: write pull-requests: write
runs-on: self-hosted runs-on: blacksmith-16vcpu-ubuntu-2404
steps: steps:
- uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1 - uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1
id: app-token id: app-token

View File

@@ -13,7 +13,7 @@ jobs:
# Detect docs-only changes to skip heavy jobs (test, build, Windows, macOS, Android). # Detect docs-only changes to skip heavy jobs (test, build, Windows, macOS, Android).
# Lint and format always run. Fail-safe: if detection fails, run everything. # Lint and format always run. Fail-safe: if detection fails, run everything.
docs-scope: docs-scope:
runs-on: blacksmith-8vcpu-ubuntu-2404 runs-on: blacksmith-16vcpu-ubuntu-2404
outputs: outputs:
docs_only: ${{ steps.check.outputs.docs_only }} docs_only: ${{ steps.check.outputs.docs_only }}
docs_changed: ${{ steps.check.outputs.docs_changed }} docs_changed: ${{ steps.check.outputs.docs_changed }}
@@ -33,7 +33,7 @@ jobs:
changed-scope: changed-scope:
needs: [docs-scope] needs: [docs-scope]
if: needs.docs-scope.outputs.docs_only != 'true' if: needs.docs-scope.outputs.docs_only != 'true'
runs-on: blacksmith-8vcpu-ubuntu-2404 runs-on: blacksmith-16vcpu-ubuntu-2404
outputs: outputs:
run_node: ${{ steps.scope.outputs.run_node }} run_node: ${{ steps.scope.outputs.run_node }}
run_macos: ${{ steps.scope.outputs.run_macos }} run_macos: ${{ steps.scope.outputs.run_macos }}
@@ -127,7 +127,7 @@ jobs:
build-artifacts: build-artifacts:
needs: [docs-scope, changed-scope, check] needs: [docs-scope, changed-scope, check]
if: needs.docs-scope.outputs.docs_only != 'true' && (github.event_name == 'push' || needs.changed-scope.outputs.run_node == 'true') if: needs.docs-scope.outputs.docs_only != 'true' && (github.event_name == 'push' || needs.changed-scope.outputs.run_node == 'true')
runs-on: blacksmith-8vcpu-ubuntu-2404 runs-on: blacksmith-16vcpu-ubuntu-2404
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -153,7 +153,7 @@ jobs:
release-check: release-check:
needs: [docs-scope, build-artifacts] needs: [docs-scope, build-artifacts]
if: github.event_name == 'push' && needs.docs-scope.outputs.docs_only != 'true' if: github.event_name == 'push' && needs.docs-scope.outputs.docs_only != 'true'
runs-on: blacksmith-8vcpu-ubuntu-2404 runs-on: blacksmith-16vcpu-ubuntu-2404
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -177,7 +177,7 @@ jobs:
checks: checks:
needs: [docs-scope, changed-scope, check] needs: [docs-scope, changed-scope, check]
if: needs.docs-scope.outputs.docs_only != 'true' && (github.event_name == 'push' || needs.changed-scope.outputs.run_node == 'true') if: needs.docs-scope.outputs.docs_only != 'true' && (github.event_name == 'push' || needs.changed-scope.outputs.run_node == 'true')
runs-on: blacksmith-8vcpu-ubuntu-2404 runs-on: blacksmith-16vcpu-ubuntu-2404
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -244,7 +244,7 @@ jobs:
name: "check" name: "check"
needs: [docs-scope] needs: [docs-scope]
if: needs.docs-scope.outputs.docs_only != 'true' if: needs.docs-scope.outputs.docs_only != 'true'
runs-on: blacksmith-8vcpu-ubuntu-2404 runs-on: blacksmith-16vcpu-ubuntu-2404
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -263,7 +263,7 @@ jobs:
check-docs: check-docs:
needs: [docs-scope] needs: [docs-scope]
if: needs.docs-scope.outputs.docs_changed == 'true' if: needs.docs-scope.outputs.docs_changed == 'true'
runs-on: blacksmith-8vcpu-ubuntu-2404 runs-on: blacksmith-16vcpu-ubuntu-2404
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -279,7 +279,7 @@ jobs:
run: pnpm check:docs run: pnpm check:docs
secrets: secrets:
runs-on: blacksmith-8vcpu-ubuntu-2404 runs-on: blacksmith-16vcpu-ubuntu-2404
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -306,10 +306,10 @@ jobs:
checks-windows: checks-windows:
needs: [docs-scope, changed-scope, build-artifacts, check] needs: [docs-scope, changed-scope, build-artifacts, check]
if: needs.docs-scope.outputs.docs_only != 'true' && (github.event_name == 'push' || needs.changed-scope.outputs.run_node == 'true') if: needs.docs-scope.outputs.docs_only != 'true' && (github.event_name == 'push' || needs.changed-scope.outputs.run_node == 'true')
runs-on: blacksmith-8vcpu-windows-2025 runs-on: blacksmith-16vcpu-windows-2025
env: env:
NODE_OPTIONS: --max-old-space-size=4096 NODE_OPTIONS: --max-old-space-size=4096
# Keep total concurrency predictable on the 8 vCPU runner: # Keep total concurrency predictable on the 16 vCPU runner:
# `scripts/test-parallel.mjs` runs some vitest suites in parallel processes. # `scripts/test-parallel.mjs` runs some vitest suites in parallel processes.
OPENCLAW_TEST_WORKERS: 2 OPENCLAW_TEST_WORKERS: 2
defaults: defaults:
@@ -660,7 +660,7 @@ jobs:
android: android:
needs: [docs-scope, changed-scope, check] needs: [docs-scope, changed-scope, check]
if: needs.docs-scope.outputs.docs_only != 'true' && (github.event_name == 'push' || needs.changed-scope.outputs.run_android == 'true') if: needs.docs-scope.outputs.docs_only != 'true' && (github.event_name == 'push' || needs.changed-scope.outputs.run_android == 'true')
runs-on: blacksmith-8vcpu-ubuntu-2404 runs-on: blacksmith-16vcpu-ubuntu-2404
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:

View File

@@ -24,7 +24,7 @@ env:
jobs: jobs:
# Build amd64 image # Build amd64 image
build-amd64: build-amd64:
runs-on: ubuntu-latest runs-on: blacksmith-16vcpu-ubuntu-2404
permissions: permissions:
packages: write packages: write
contents: read contents: read
@@ -83,7 +83,7 @@ jobs:
# Build arm64 image # Build arm64 image
build-arm64: build-arm64:
runs-on: ubuntu-24.04-arm runs-on: blacksmith-16vcpu-ubuntu-2404-arm
permissions: permissions:
packages: write packages: write
contents: read contents: read
@@ -142,7 +142,7 @@ jobs:
# Create multi-platform manifest # Create multi-platform manifest
create-manifest: create-manifest:
runs-on: ubuntu-latest runs-on: blacksmith-16vcpu-ubuntu-2404
permissions: permissions:
packages: write packages: write
contents: read contents: read

View File

@@ -12,7 +12,7 @@ concurrency:
jobs: jobs:
docs-scope: docs-scope:
runs-on: ubuntu-latest runs-on: blacksmith-16vcpu-ubuntu-2404
outputs: outputs:
docs_only: ${{ steps.check.outputs.docs_only }} docs_only: ${{ steps.check.outputs.docs_only }}
steps: steps:
@@ -28,7 +28,7 @@ jobs:
install-smoke: install-smoke:
needs: [docs-scope] needs: [docs-scope]
if: needs.docs-scope.outputs.docs_only != 'true' if: needs.docs-scope.outputs.docs_only != 'true'
runs-on: ubuntu-latest runs-on: blacksmith-16vcpu-ubuntu-2404
steps: steps:
- name: Checkout CLI - name: Checkout CLI
uses: actions/checkout@v4 uses: actions/checkout@v4

View File

@@ -23,7 +23,7 @@ jobs:
permissions: permissions:
contents: read contents: read
pull-requests: write pull-requests: write
runs-on: self-hosted runs-on: blacksmith-16vcpu-ubuntu-2404
steps: steps:
- uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1 - uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1
id: app-token id: app-token
@@ -200,7 +200,7 @@ jobs:
permissions: permissions:
contents: read contents: read
pull-requests: write pull-requests: write
runs-on: self-hosted runs-on: blacksmith-16vcpu-ubuntu-2404
steps: steps:
- uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1 - uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1
id: app-token id: app-token
@@ -440,7 +440,7 @@ jobs:
label-issues: label-issues:
permissions: permissions:
issues: write issues: write
runs-on: self-hosted runs-on: blacksmith-16vcpu-ubuntu-2404
steps: steps:
- uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1 - uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1
id: app-token id: app-token

View File

@@ -19,7 +19,7 @@ concurrency:
jobs: jobs:
sandbox-common-smoke: sandbox-common-smoke:
runs-on: ubuntu-latest runs-on: blacksmith-16vcpu-ubuntu-2404
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4

View File

@@ -12,7 +12,7 @@ jobs:
permissions: permissions:
issues: write issues: write
pull-requests: write pull-requests: write
runs-on: self-hosted runs-on: blacksmith-16vcpu-ubuntu-2404
steps: steps:
- uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1 - uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1
id: app-token id: app-token

View File

@@ -11,7 +11,7 @@ concurrency:
jobs: jobs:
no-tabs: no-tabs:
runs-on: ubuntu-latest runs-on: blacksmith-16vcpu-ubuntu-2404
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -42,7 +42,7 @@ jobs:
PY PY
actionlint: actionlint:
runs-on: ubuntu-latest runs-on: blacksmith-16vcpu-ubuntu-2404
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4

View File

@@ -34,12 +34,11 @@ Jobs are ordered so cheap checks fail before expensive ones run:
## Runners ## Runners
| Runner | Jobs | | Runner | Jobs |
| ------------------------------- | ----------------------------- | | -------------------------------- | ------------------------------------------ |
| `blacksmith-8vcpu-ubuntu-2404` | Most Linux jobs | | `blacksmith-16vcpu-ubuntu-2404` | Most Linux jobs, including scope detection |
| `blacksmith-8vcpu-windows-2025` | `checks-windows` | | `blacksmith-16vcpu-windows-2025` | `checks-windows` |
| `macos-latest` | `macos`, `ios` | | `macos-latest` | `macos`, `ios` |
| `ubuntu-latest` | Scope detection (lightweight) |
## Local Equivalents ## Local Equivalents