ci: run install/update E2E on GitHub-hosted runners again

The runner migration (91fae5f8cb) moved the release install/update matrix
onto Blacksmith runners, where the macOS legs cannot record the screen
(ffmpeg avfoundation finds no devices) and the Windows GUI legs never see
the Hermes-Setup.exe window. Every rc.2-v0.22.3 desktop leg failed before
it reached the code under test. The install-e2e workflows go back to their
pre-migration GitHub-hosted runners; everyday CI stays on Blacksmith.

Docker publishing is left on Blacksmith: main fixed its manifest-list 404
by pinning buildx (50bab3867d, cf4f3a7396).
This commit is contained in:
Teknium committed 2026-10-21 00:27:10 -07:00
1 parent 9ec17f7f4f
commit f1b290e773
3 files changed
+19 -19

No files matched your search

+4 -4
View File
@@ -101,7 +101,7 @@ jobs:
update-ref: ${{ inputs.update-ref }}
tag-has-desktop: ${{ inputs.tag-has-desktop }}
leg-id: ${{ inputs.leg-id }}
runner: blacksmith-6vcpu-macos-latest
runner: macos-latest
timeout-minutes: ${{ inputs.timeout-minutes }}
# ---- arm 2: the published dmg, then Playwright drives the app ------------
@@ -112,13 +112,13 @@ jobs:
if: >-
inputs.install-method == 'desktop-installer@latest' && inputs.tag-has-desktop
&& contains(fromJSON('["open-app-update", "hermes-desktop-app-update", "hermes-update", "installer-script", "installer-script+desktop"]'), inputs.update-method)
runs-on: blacksmith-12vcpu-macos-latest
runs-on: macos-latest
timeout-minutes: ${{ inputs.timeout-minutes }}
steps:
# Full history: the driver bare-clones this checkout as the repo the
# installer/updater talk to.
- uses: useblacksmith/checkout@25227e61ff9dafe400e22fa487b673eac4e4409a # v1
- uses: actions/checkout@f548e57e544e1ff5a4c46bf1e1b8685f8e4a348a # v7.0.1
with:
ref: ${{ inputs.commit || github.sha }}
fetch-depth: 0
@@ -217,7 +217,7 @@ jobs:
timeout-minutes: ${{ inputs.timeout-minutes }}
steps:
- uses: useblacksmith/checkout@25227e61ff9dafe400e22fa487b673eac4e4409a # v1
- uses: actions/checkout@f548e57e544e1ff5a4c46bf1e1b8685f8e4a348a # v7.0.1
with:
ref: ${{ inputs.commit || github.sha }}
@@ -112,10 +112,10 @@ jobs:
bundled-e2e:
name: packaged bundle (open-app-update)
if: inputs.install-method == 'packaged-app' && inputs.update-method == 'open-app-update'
runs-on: ${{ inputs.bundle-arch == 'arm64' && 'windows-latest-32-arm-core' || 'blacksmith-32vcpu-windows-2025' }}
runs-on: ${{ inputs.bundle-arch == 'arm64' && 'windows-latest-32-arm-core' || 'windows-latest-32-core' }}
timeout-minutes: ${{ inputs.timeout-minutes }}
steps:
- uses: useblacksmith/checkout@25227e61ff9dafe400e22fa487b673eac4e4409a # v1
- uses: actions/checkout@f548e57e544e1ff5a4c46bf1e1b8685f8e4a348a # v7.0.1
with:
ref: ${{ inputs.commit || github.sha }}
- name: Set up driver tools only
@@ -184,7 +184,7 @@ jobs:
|| (contains(fromJSON('["installer-script+desktop", "hermes-desktop-app-update", "desktop-installer@latest"]'), inputs.update-method) && inputs.tag-has-desktop)
|| (inputs.update-method == 'open-app-update' && inputs.tag-has-desktop
&& contains(fromJSON('["desktop-installer@latest", "installer-script+desktop"]'), inputs.install-method)))
runs-on: blacksmith-32vcpu-windows-2025
runs-on: windows-latest-32-core
timeout-minutes: ${{ inputs.timeout-minutes }}
env:
@@ -199,7 +199,7 @@ jobs:
# Full history: the driver bare-clones this checkout as the repo the
# installer/updater talk to, and both OLD and HEAD must be reachable
# in that clone. A shallow checkout cannot serve either need.
- uses: useblacksmith/checkout@25227e61ff9dafe400e22fa487b673eac4e4409a # v1
- uses: actions/checkout@f548e57e544e1ff5a4c46bf1e1b8685f8e4a348a # v7.0.1
with:
ref: ${{ inputs.commit || github.sha }}
fetch-depth: 0
+11 -11
View File
@@ -130,7 +130,7 @@ env:
jobs:
pick-releases:
name: Pick release tags
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
timeout-minutes: 5
outputs:
tags: ${{ steps.pick.outputs.tags }}
@@ -139,7 +139,7 @@ jobs:
# checkout: no blobs (filter), no other files (sparse), but DO fetch
# tags -- they are the whole input, and the default shallow checkout
# has none.
- uses: useblacksmith/checkout@25227e61ff9dafe400e22fa487b673eac4e4409a # v1
- uses: actions/checkout@f548e57e544e1ff5a4c46bf1e1b8685f8e4a348a # v7.0.1
with:
ref: ${{ inputs.commit }}
filter: blob:none
@@ -195,7 +195,7 @@ jobs:
generate-matrix:
name: Expand combinations
needs: pick-releases
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
timeout-minutes: 5
outputs:
linux: ${{ steps.gen.outputs.linux }}
@@ -205,7 +205,7 @@ jobs:
windows-legs: ${{ steps.gen.outputs.windows-legs }}
macos-legs: ${{ steps.gen.outputs.macos-legs }}
steps:
- uses: useblacksmith/checkout@25227e61ff9dafe400e22fa487b673eac4e4409a # v1
- uses: actions/checkout@f548e57e544e1ff5a4c46bf1e1b8685f8e4a348a # v7.0.1
with:
ref: ${{ inputs.commit }}
sparse-checkout: scripts/sandbox/generate-e2e-matrix.mjs
@@ -232,7 +232,7 @@ jobs:
bundle-inputs:
name: Validate pinned bundle transitions
# Bundled legs need dispatch-only manifests.
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
timeout-minutes: 5
outputs:
windows: ${{ steps.inputs.outputs.windows }}
@@ -240,7 +240,7 @@ jobs:
windows-arch: ${{ steps.inputs.outputs.windows-arch }}
macos-arch: ${{ steps.inputs.outputs.macos-arch }}
steps:
- uses: useblacksmith/checkout@25227e61ff9dafe400e22fa487b673eac4e4409a # v1
- uses: actions/checkout@f548e57e544e1ff5a4c46bf1e1b8685f8e4a348a # v7.0.1
with:
ref: ${{ inputs.commit }}
- id: inputs
@@ -352,10 +352,10 @@ jobs:
# looks it up by that name.
leg-player:
name: Upload leg player
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: useblacksmith/checkout@25227e61ff9dafe400e22fa487b673eac4e4409a # v1
- uses: actions/checkout@f548e57e544e1ff5a4c46bf1e1b8685f8e4a348a # v7.0.1
with:
ref: ${{ inputs.commit }}
sparse-checkout: tests/install/e2e-assets/playback.html
@@ -380,7 +380,7 @@ jobs:
name: Source matrix gate
if: always() && inputs.release == true
needs: [generate-matrix, linux, windows, macos]
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Evaluate source legs
@@ -422,10 +422,10 @@ jobs:
name: Result chart
if: always()
needs: [leg-player, pick-releases, linux, windows, macos, bundle-inputs, windows-bundled, macos-bundled]
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: useblacksmith/checkout@25227e61ff9dafe400e22fa487b673eac4e4409a # v1
- uses: actions/checkout@f548e57e544e1ff5a4c46bf1e1b8685f8e4a348a # v7.0.1
with:
ref: ${{ inputs.commit }}
sparse-checkout: |