chore: back to github runners (#4168)

This commit is contained in:
Chris Arderne
2026-07-06 16:22:31 +01:00
committed by GitHub
parent 4c2c25511b
commit ef3eadab3c
37 changed files with 47 additions and 840 deletions
-9
View File
@@ -1,9 +0,0 @@
# Configuration for actionlint.
#
# Blacksmith runners are self-hosted runners from GitHub Actions' perspective, so
# actionlint needs to be told that these custom runner labels are valid.
self-hosted-runner:
labels:
- blacksmith-*-ubuntu-*
- blacksmith-*-windows-*
- blacksmith-*-macos-*
+1 -1
View File
@@ -18,7 +18,7 @@ concurrency:
jobs:
release-pr:
name: Create Release PR
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
vars.ENABLE_CLAUDE_CODE != 'false' &&
github.event.pull_request.draft == false &&
github.event.pull_request.head.repo.full_name == github.repository
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
+1 -1
View File
@@ -21,7 +21,7 @@ jobs:
vars.ENABLE_CLAUDE_CODE != 'false' &&
github.event.pull_request.draft == false &&
github.event.pull_request.head.repo.full_name == github.repository
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
)
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
+1 -1
View File
@@ -8,7 +8,7 @@ permissions:
jobs:
code-quality:
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
@@ -29,7 +29,7 @@ jobs:
# the Dependabot alert/summary notifiers — e.g. forks/mirrors that lack the
# DEPENDABOT_ALERTS_TOKEN / SLACK_BOT_TOKEN secrets. Defaults to enabled.
if: ${{ vars.ENABLE_DEPENDABOT_ALERTS != 'false' }}
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
environment: dependabot-summary
env:
SEVERITY: ${{ inputs.severity || 'critical' }}
@@ -23,7 +23,7 @@ jobs:
# the Dependabot alert/summary notifiers — e.g. forks/mirrors that lack the
# DEPENDABOT_ALERTS_TOKEN / SLACK_BOT_TOKEN secrets. Defaults to enabled.
if: ${{ vars.ENABLE_DEPENDABOT_ALERTS != 'false' }}
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
environment: dependabot-summary
env:
# Severities surface in the actions list when their remaining TTR drops
+1 -1
View File
@@ -20,7 +20,7 @@ permissions:
jobs:
check-broken-links:
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./docs
+1 -1
View File
@@ -37,7 +37,7 @@ on:
jobs:
e2eAuthFull:
name: "🛡️ E2E Auth Tests (full)"
runs-on: blacksmith-8vcpu-ubuntu-2404
runs-on: ubuntu-latest
timeout-minutes: 30
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
+1 -1
View File
@@ -14,7 +14,7 @@ on:
jobs:
e2eTests:
name: "🧪 E2E Tests: Webapp"
runs-on: blacksmith-8vcpu-ubuntu-2404
runs-on: ubuntu-latest
timeout-minutes: 20
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [blacksmith-4vcpu-ubuntu-2404, blacksmith-4vcpu-windows-2025]
os: [ubuntu-latest, windows-latest]
package-manager: ["npm", "pnpm"]
steps:
- name: ⬇️ Checkout repo
+2 -2
View File
@@ -28,7 +28,7 @@ env:
jobs:
lint-and-test:
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: read
steps:
@@ -77,7 +77,7 @@ jobs:
((github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) ||
github.event_name == 'push' ||
github.event_name == 'workflow_dispatch')
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
-58
View File
@@ -1,58 +0,0 @@
name: Blacksmith PR Testbox Windows
on:
workflow_dispatch:
inputs:
testbox_id:
type: string
description: "Testbox session ID"
required: true
permissions:
contents: read
jobs:
pr-testbox-windows:
runs-on: blacksmith-4vcpu-windows-2025
steps:
- name: Begin Testbox
if: ${{ github.event_name == 'workflow_dispatch' }}
uses: useblacksmith/begin-testbox@233448af4bfdc6fca509a7f0974411ac6d8a8043 # v2
with:
testbox_id: ${{ inputs.testbox_id }}
- name: ⬇️ Checkout repo
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
fetch-depth: 0
persist-credentials: false
- name: ⎔ Setup pnpm
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
with:
version: 10.33.2
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
- name: 📥 Download CLI deps
run: pnpm install --frozen-lockfile --filter trigger.dev...
- name: 📀 Generate Prisma Client
run: pnpm run generate
- name: 🔧 Build v3 cli monorepo dependencies
run: pnpm run build --filter trigger.dev^...
- name: 🔧 Build worker template files
run: pnpm --filter trigger.dev run --if-present build:workers
- name: Enable corepack
run: corepack enable
- name: Run Testbox
uses: useblacksmith/run-testbox@5ca05834db1d3813554d1dd109e5f2087a8d7cbc # v2
if: ${{ always() && github.event_name == 'workflow_dispatch' }}
-122
View File
@@ -1,122 +0,0 @@
name: Blacksmith PR Testbox
on:
workflow_dispatch:
inputs:
testbox_id:
type: string
description: "Testbox session ID"
required: true
permissions:
contents: read
jobs:
pr-testbox:
runs-on: blacksmith-8vcpu-ubuntu-2404
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
steps:
- name: Begin Testbox
if: ${{ github.event_name == 'workflow_dispatch' }}
uses: useblacksmith/begin-testbox@233448af4bfdc6fca509a7f0974411ac6d8a8043 # v2
with:
testbox_id: ${{ inputs.testbox_id }}
- name: 🔧 Disable IPv6
run: |
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
- name: 🔧 Configure docker address pool
run: |
CONFIG='{
"default-address-pools" : [
{
"base" : "172.17.0.0/12",
"size" : 20
},
{
"base" : "192.168.0.0/16",
"size" : 24
}
]
}'
sudo mkdir -p /etc/docker
echo "$CONFIG" | sudo tee /etc/docker/daemon.json
- name: 🔧 Restart docker daemon
run: sudo systemctl restart docker
- name: ⬇️ Checkout repo
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
fetch-depth: 0
persist-credentials: false
- name: ⎔ Setup pnpm
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
with:
version: 10.33.2
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
cache: "pnpm"
- name: 🥟 Setup Bun
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version: latest
- name: 🦕 Setup Deno
uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282 # v2.0.4
with:
deno-version: v2.x
- name: 🐳 Login to DockerHub
if: ${{ env.DOCKERHUB_USERNAME }}
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: 🐳 Skipping DockerHub login (no secrets available)
if: ${{ !env.DOCKERHUB_USERNAME }}
run: echo "DockerHub login skipped because secrets are not available."
- name: 🐳 Pre-pull testcontainer images
if: ${{ env.DOCKERHUB_USERNAME }}
run: |
pull() {
for attempt in 1 2 3; do
docker pull "$1" && return 0
echo "::warning::docker pull $1 failed (attempt ${attempt}/3); retrying in 10s"
sleep 10
done
echo "::error::docker pull $1 failed after 3 attempts"
return 1
}
echo "Pre-pulling Docker images with authenticated session..."
pull postgres:14
pull clickhouse/clickhouse-server:26.2.19.43-alpine@sha256:c6ad6a7eb2fb5999df3adfb8b69a0c7222c68fa9b8f6b04a088564ebbc959251
pull redis:7.2
pull testcontainers/ryuk:0.11.0
pull testcontainers/ryuk:0.14.0
pull electricsql/electric:1.2.4
pull minio/minio:latest
echo "Image pre-pull complete"
- name: 📥 Download deps
run: pnpm install --frozen-lockfile
- name: 📀 Generate Prisma Client
run: pnpm run generate
- name: Run Testbox
uses: useblacksmith/run-testbox@5ca05834db1d3813554d1dd109e5f2087a8d7cbc # v2
if: ${{ always() && github.event_name == 'workflow_dispatch' }}
+2 -2
View File
@@ -15,7 +15,7 @@ permissions:
jobs:
changes:
name: Detect changes
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
outputs:
code: ${{ steps.code_filter.outputs.code }}
typecheck_self: ${{ steps.filter.outputs.typecheck_self }}
@@ -168,7 +168,7 @@ jobs:
- e2e
- sdk-compat
if: always()
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- name: Verify all checks
run: |
+1 -1
View File
@@ -20,7 +20,7 @@ permissions: {}
jobs:
dispatch:
name: Dispatch preview-deploy to cloud
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
# label added -> create
# new commit while labeled -> update
# label removed / PR closed -> destroy
+1 -1
View File
@@ -42,7 +42,7 @@ permissions:
jobs:
publish:
name: Build and publish previews
runs-on: blacksmith-8vcpu-ubuntu-2404
runs-on: ubuntu-latest
if: github.repository == 'triggerdotdev/trigger.dev'
steps:
- name: ⬇️ Checkout repo
+1 -1
View File
@@ -15,7 +15,7 @@ concurrency:
jobs:
publish:
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- name: 📥 Checkout tagged commit
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+1 -1
View File
@@ -38,7 +38,7 @@ on:
jobs:
publish:
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
env:
PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING: 1
outputs:
+2 -2
View File
@@ -25,7 +25,7 @@ permissions:
jobs:
# check-branch:
# runs-on: blacksmith-2vcpu-ubuntu-2404
# runs-on: ubuntu-latest
# steps:
# - name: Fail if re2-prod-* is pushed from a non-main branch
# if: startsWith(github.ref_name, 're2-prod-') && github.base_ref != 'main'
@@ -37,7 +37,7 @@ jobs:
strategy:
matrix:
package: [supervisor]
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
env:
DOCKER_BUILDKIT: "1"
steps:
+1 -1
View File
@@ -33,7 +33,7 @@ jobs:
strategy:
matrix:
package: [coordinator, docker-provider, kubernetes-provider]
runs-on: blacksmith-8vcpu-ubuntu-2404
runs-on: ubuntu-latest
env:
DOCKER_BUILDKIT: "1"
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
+1 -1
View File
@@ -128,7 +128,7 @@ jobs:
name: 📣 Dispatch main image
needs: [publish-webapp]
if: github.repository == (vars.MAIN_IMAGE_DISPATCH_REPO || 'triggerdotdev/trigger.dev') && github.event_name == 'push' && startsWith(github.ref_name, vars.MAIN_IMAGE_DISPATCH_REF_PREFIX || 'main')
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions: {}
steps:
- name: Build dispatch payload
+2 -2
View File
@@ -23,7 +23,7 @@ env:
jobs:
lint-and-test:
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: read
steps:
@@ -68,7 +68,7 @@ jobs:
# on the owner's charts namespace. Defaults to enabled; the lint-and-test
# job above always runs regardless.
if: ${{ vars.ENABLE_HELM_PRERELEASE != 'false' }}
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: write # for gh-release
packages: write
+5 -5
View File
@@ -32,7 +32,7 @@ concurrency:
jobs:
show-release-summary:
name: 📋 Release Summary
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions: {}
if: |
github.repository == 'triggerdotdev/trigger.dev' &&
@@ -48,7 +48,7 @@ jobs:
release:
name: 🚀 Release npm packages
runs-on: blacksmith-8vcpu-ubuntu-2404
runs-on: ubuntu-latest
environment: npm-publish
permissions:
contents: write
@@ -211,7 +211,7 @@ jobs:
name: 🔗 Update release Docker link
needs: [release, publish-docker]
if: needs.release.outputs.published == 'true'
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: write
packages: read
@@ -253,7 +253,7 @@ jobs:
name: 📝 Dispatch changelog PR
needs: [release, update-release]
if: needs.release.outputs.published == 'true' && needs.release.outputs.is_prerelease != 'true'
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions: {}
steps:
- uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v4.0.1
@@ -266,7 +266,7 @@ jobs:
# The prerelease job needs to be on the same workflow file due to a limitation related to how npm verifies OIDC claims.
prerelease:
name: 🧪 Prerelease
runs-on: blacksmith-8vcpu-ubuntu-2404
runs-on: ubuntu-latest
environment: npm-publish
permissions:
contents: read
+4 -4
View File
@@ -13,7 +13,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [blacksmith-4vcpu-ubuntu-2404]
os: [ubuntu-latest]
node: ["20.20", "22.23", "24.18", "26.4"]
steps:
@@ -54,7 +54,7 @@ jobs:
bun-compat:
name: "Bun Runtime"
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
@@ -96,7 +96,7 @@ jobs:
deno-compat:
name: "Deno Runtime"
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
@@ -142,7 +142,7 @@ jobs:
cloudflare-compat:
name: "Cloudflare Workers"
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+1 -1
View File
@@ -33,7 +33,7 @@ concurrency:
jobs:
scan:
name: Scan
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: read
packages: read # pull the image from GHCR
+1 -1
View File
@@ -8,7 +8,7 @@ permissions:
jobs:
typecheck:
runs-on: blacksmith-8vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
+2 -2
View File
@@ -14,7 +14,7 @@ on:
jobs:
unitTests:
name: "🧪 Unit Tests: Internal"
runs-on: blacksmith-8vcpu-ubuntu-2404
runs-on: ubuntu-latest
strategy:
# one flaky shard shouldn't cancel its siblings - lets us re-run only the failed shard
fail-fast: false
@@ -131,7 +131,7 @@ jobs:
name: "📊 Merge Reports"
if: ${{ !cancelled() }}
needs: [unitTests]
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+2 -2
View File
@@ -14,7 +14,7 @@ on:
jobs:
unitTests:
name: "🧪 Unit Tests: Packages"
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
strategy:
# one flaky shard shouldn't cancel its siblings - lets us re-run only the failed shard
fail-fast: false
@@ -130,7 +130,7 @@ jobs:
name: "📊 Merge Reports"
if: ${{ !cancelled() }}
needs: [unitTests]
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+2 -2
View File
@@ -14,7 +14,7 @@ on:
jobs:
unitTests:
name: "🧪 Unit Tests: Webapp"
runs-on: blacksmith-8vcpu-ubuntu-2404
runs-on: ubuntu-latest
strategy:
# one flaky shard shouldn't cancel its siblings - lets us re-run only the failed shard
fail-fast: false
@@ -139,7 +139,7 @@ jobs:
name: "📊 Merge Reports"
if: ${{ !cancelled() }}
needs: [unitTests]
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+2 -2
View File
@@ -8,7 +8,7 @@ permissions: {}
jobs:
check-vouch:
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write # auto-close unvouched PRs
@@ -34,7 +34,7 @@ jobs:
github.event.pull_request.user.login != 'devin-ai-integration[bot]' &&
github.event.pull_request.user.login != 'dependabot[bot]' &&
github.event.pull_request.user.login != 'github-actions[bot]'
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- name: Close non-draft PR
env:
+1 -1
View File
@@ -10,7 +10,7 @@ permissions:
jobs:
manage:
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
if: >-
contains(github.event.comment.body, 'vouch') ||
contains(github.event.comment.body, 'denounce') ||
+2 -2
View File
@@ -24,7 +24,7 @@ concurrency:
jobs:
actionlint:
name: Actionlint
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: read
steps:
@@ -43,7 +43,7 @@ jobs:
# variable to 'false' to skip this job where code scanning isn't available;
# leave it unset (the default) to run the scan.
if: ${{ vars.ENABLE_WORKFLOW_SECURITY_SCAN != 'false' }}
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
security-events: write # Upload SARIF to GitHub Security tab
contents: read # Read workflow files for analysis