mirror of
https://github.com/stablyai/orca.git
synced 2026-10-01 08:01:56 +00:00
* test: reuse isolated mobile bundle fixtures for verifier checks * ci: run PR unit shards on ARM and overlap independent web builds * docs: record controlled CI overlap and runner measurements * test: observe WebRTC packets with the host clock * ci: isolate Windows installer CIM probe from native test load * docs: record native probe scheduling validation --------- Co-authored-by: m4air <m4air@m4airs-Air.localdomain>
125 lines
3.8 KiB
YAML
125 lines
3.8 KiB
YAML
name: Warm shared CI caches
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '41 * * * *'
|
|
workflow_dispatch:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- '.github/workflows/ci-cache-warmup.yml'
|
|
- '.github/actions/install-node-dependencies/**'
|
|
- '.github/actions/prepare-git-compatibility/**'
|
|
- '.github/actions/prepare-linux-package-fixture/**'
|
|
- 'config/docker/headless-serve-shutdown/**'
|
|
- 'config/docker/cli-launch-contract/**'
|
|
- 'package.json'
|
|
- 'pnpm-lock.yaml'
|
|
- 'pnpm-workspace.yaml'
|
|
- 'config/tsconfig*.json'
|
|
- 'config/scripts/ensure-native-runtime.mjs'
|
|
- 'config/scripts/rebuild-native-deps.mjs'
|
|
- 'config/patches/node-pty@1.1.0.patch'
|
|
- 'config/patches/@vscode__windows-process-tree@0.8.0.patch'
|
|
- 'native/windows-registry/**'
|
|
pull_request:
|
|
paths:
|
|
- '.github/workflows/ci-cache-warmup.yml'
|
|
- '.github/actions/prepare-git-compatibility/**'
|
|
- '.github/actions/prepare-linux-package-fixture/**'
|
|
- 'config/docker/headless-serve-shutdown/**'
|
|
- 'config/docker/cli-launch-contract/**'
|
|
- 'config/scripts/ci-cache-warmup-workflow.test.mjs'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: ci-cache-warmup-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
warm:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
env:
|
|
ORCA_BACKGROUND_LAUNCH: '1'
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
persist-credentials: false
|
|
|
|
# Default-branch caches can be restored by every PR; PR caches cannot.
|
|
- uses: ./.github/actions/install-node-dependencies
|
|
with:
|
|
native-runtime: node
|
|
node-version: '24'
|
|
|
|
- uses: ./.github/actions/prepare-git-compatibility
|
|
|
|
- name: Cache TypeScript incremental state
|
|
id: typecheck-cache
|
|
uses: actions/cache@v5
|
|
with:
|
|
path: config/*.tsbuildinfo
|
|
key: tsbuildinfo-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml', 'config/tsconfig*.json') }}-${{ github.sha }}
|
|
restore-keys: |
|
|
tsbuildinfo-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml', 'config/tsconfig*.json') }}-
|
|
|
|
- name: Refresh TypeScript state for this commit
|
|
if: steps.typecheck-cache.outputs.cache-hit != 'true'
|
|
run: pnpm run typecheck
|
|
|
|
warm-linux-arm:
|
|
runs-on: ubuntu-24.04-arm
|
|
timeout-minutes: 10
|
|
env:
|
|
ORCA_BACKGROUND_LAUNCH: '1'
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
persist-credentials: false
|
|
- uses: ./.github/actions/install-node-dependencies
|
|
with:
|
|
native-runtime: node
|
|
node-version: '24'
|
|
- name: Verify native cache is usable
|
|
run: node config/scripts/ensure-native-runtime.mjs --check-only
|
|
|
|
warm-windows:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [windows-2022, windows-11-arm]
|
|
runs-on: ${{ matrix.os }}
|
|
timeout-minutes: 20
|
|
env:
|
|
ORCA_BACKGROUND_LAUNCH: '1'
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
persist-credentials: false
|
|
- uses: ./.github/actions/install-node-dependencies
|
|
with:
|
|
native-runtime: node
|
|
- name: Verify native cache is usable
|
|
run: node config/scripts/ensure-native-runtime.mjs --check-only
|
|
|
|
warm-linux-package-fixtures:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
env:
|
|
ORCA_BACKGROUND_LAUNCH: '1'
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
persist-credentials: false
|
|
- uses: ./.github/actions/prepare-linux-package-fixture
|
|
with:
|
|
fixture: headless-serve-shutdown
|
|
save-cache: ${{ github.event_name != 'pull_request' }}
|
|
- uses: ./.github/actions/prepare-linux-package-fixture
|
|
with:
|
|
fixture: cli-launch-contract
|
|
save-cache: ${{ github.event_name != 'pull_request' }}
|