Files
orca/.github/workflows/ci-xterm-cache.yml
T
Neil cf20423ff3 ci: skip unrelated installs and share xterm build dependencies (#23607)
* ci: pilot shared xterm installed dependencies

* ci: bound xterm cache production to verified main entries

* ci: benchmark xterm reuse on the production ARM runner

* ci: avoid installing Orca dependencies for standalone xterm checks

* ci: use Node-only setup in the production xterm job

* ci: remove completed xterm benchmark workflow
2026-09-28 03:46:22 -07:00

56 lines
1.9 KiB
YAML

name: Shared xterm dependency cache
on:
push:
branches: [main]
paths:
- '.github/workflows/ci-xterm-cache.yml'
- '.github/actions/prepare-xterm-dependencies/**'
- 'config/patches/xterm-upstream.json'
- 'config/scripts/regenerate-xterm-patches.mjs'
- 'config/scripts/xterm-patch-text.mjs'
- 'package.json'
# Refresh after Node patch releases or cache eviction without rebuilding on hits.
schedule:
- cron: '17 5 * * *'
workflow_dispatch:
permissions:
contents: read
concurrency:
group: xterm-cache-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
ORCA_BACKGROUND_LAUNCH: '1'
jobs:
seed:
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-24.04-arm
timeout-minutes: 10
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: actions/setup-node@v6
with:
node-version-file: package.json
package-manager-cache: false
- uses: ./.github/actions/prepare-xterm-dependencies
id: cache
- name: Verify and populate dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: node config/scripts/regenerate-xterm-patches.mjs --check --work-dir="$RUNNER_TEMP/xterm-patch-build"
- uses: actions/cache/save@v5
if: steps.cache.outputs.cache-hit != 'true'
with:
path: |
${{ runner.temp }}/xterm-patch-build/upstream/.git
${{ runner.temp }}/xterm-patch-build/upstream/node_modules
key: ${{ steps.cache.outputs.cache-key }}
- name: Preserve fallback downloads
if: steps.cache.outputs.cache-hit != 'true'
uses: actions/cache/save@v5
with:
path: |
~/.npm
${{ runner.temp }}/xterm-patch-build/upstream/.git
key: xterm-upstream-${{ hashFiles('config/patches/xterm-upstream.json') }}