mirror of
https://github.com/stablyai/orca.git
synced 2026-10-29 16:17:51 +00:00
* perf(ci): pilot pnpm verification record caching on Linux * test(ci): review pnpm verification record in mobile cache audit
66 lines
2.0 KiB
YAML
66 lines
2.0 KiB
YAML
name: pnpm verification cache pilot
|
|
|
|
on:
|
|
pull_request:
|
|
paths: ['.github/workflows/ci-pnpm-verification-pilot.yml']
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: pnpm-verification-pilot-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
ORCA_BACKGROUND_LAUNCH: '1'
|
|
|
|
jobs:
|
|
seed:
|
|
strategy:
|
|
matrix:
|
|
runner: [ubuntu-latest, ubuntu-24.04-arm]
|
|
runs-on: ${{ matrix.runner }}
|
|
timeout-minutes: 15
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
persist-credentials: false
|
|
- uses: ./.github/actions/install-node-dependencies
|
|
id: deps
|
|
# PR caches are scoped to the PR merge ref; main never restores them.
|
|
- uses: actions/cache/save@v5
|
|
if: steps.deps.outputs.verification-cache-hit != 'true'
|
|
with:
|
|
path: ${{ steps.deps.outputs.verification-cache-path }}
|
|
key: ${{ steps.deps.outputs.verification-cache-key }}
|
|
|
|
measure:
|
|
needs: seed
|
|
name: measure ${{ matrix.runner }} sample ${{ matrix.sample }} cache ${{ matrix.cache }}
|
|
strategy:
|
|
fail-fast: false
|
|
max-parallel: 4
|
|
matrix:
|
|
runner: [ubuntu-latest, ubuntu-24.04-arm]
|
|
sample: [1, 2, 3]
|
|
cache: ['false', 'true']
|
|
runs-on: ${{ matrix.runner }}
|
|
timeout-minutes: 15
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
persist-credentials: false
|
|
- uses: ./.github/actions/install-node-dependencies
|
|
id: deps
|
|
with:
|
|
cache-pnpm-verification: ${{ matrix.cache }}
|
|
- name: Validate treatment and frozen install
|
|
env:
|
|
CACHE_ENABLED: ${{ matrix.cache }}
|
|
CACHE_HIT: ${{ steps.deps.outputs.verification-cache-hit }}
|
|
run: |
|
|
if [ "$CACHE_ENABLED" = true ]; then test "$CACHE_HIT" = true; fi
|
|
git diff --exit-code -- package.json pnpm-lock.yaml pnpm-workspace.yaml
|
|
node -e "require.resolve('vitest'); require.resolve('electron')"
|