mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 00:57:45 +00:00
* ci: restore main's Vitest transform cache in PR unit shards Main produces per-shard transform caches on a schedule; PR shards restore the newest one for the same config/lockfile/runtime policy. A Vitest cache key generator folds each literal specifier's resolution candidates into the per-module key so newly added files that shadow a resolution invalidate the importer, and bails on glob-expanded dynamic imports. * ci: list the resolution key plugin in the node tsconfig project * ci: accept Vitest's CACHEDIR.TAG when sealing the unit module cache Vitest 5.0.5 tags its cache root, which made every seal fail with 'invalid cache entry name' so no producer cache was ever saved. * ci: reseed the unit module cache when any cache-key input lands on main Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
47 lines
1.5 KiB
YAML
47 lines
1.5 KiB
YAML
name: Unit plan
|
|
|
|
# Plan independently of static/type gates so checkout/diff/import-graph/timing work overlaps them; moving it out of unit-tests advanced shards by median 93s.
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
selection_mode:
|
|
description: Shadow validates selection; selected applies it only to draft PRs.
|
|
required: false
|
|
default: shadow
|
|
type: string
|
|
|
|
outputs:
|
|
shards:
|
|
description: JSON array of shard assignments for the unit matrix.
|
|
value: ${{ jobs.plan.outputs.shards }}
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
plan:
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 5
|
|
outputs:
|
|
shards: ${{ steps.plan.outputs.shards }}
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 2
|
|
persist-credentials: false
|
|
- uses: ./.github/actions/install-node-dependencies
|
|
- name: Plan unit selection
|
|
id: plan
|
|
env:
|
|
ORCA_UNIT_SELECTION_MODE: ${{ inputs.selection_mode }}
|
|
ORCA_PULL_REQUEST_DRAFT: ${{ github.event.pull_request.draft }}
|
|
# Same count as PR preflight so transform cache shard keys line up.
|
|
ORCA_UNIT_FULL_SHARD_COUNT: ${{ vars.ORCA_UNIT_FULL_SHARD_COUNT || '5' }}
|
|
run: node config/scripts/ci-unit-plan.mjs
|
|
- uses: actions/upload-artifact@v7
|
|
continue-on-error: true
|
|
with:
|
|
name: unit-selection-attempt-${{ github.run_attempt }}
|
|
path: ci-shards/unit-selection.json
|
|
retention-days: 14
|