mirror of
https://github.com/stablyai/orca.git
synced 2026-10-02 08:02:02 +00:00
* Reuse serializer oracle cells and isolate native cache policy * Preserve native cache post-save paths and record hosted oracle gain * Record native cache reuse and separate cancel-test startup budget
36 lines
1.6 KiB
JavaScript
36 lines
1.6 KiB
JavaScript
import { readFileSync } from 'node:fs'
|
|
import { parse } from 'yaml'
|
|
import { describe, expect, it } from 'vitest'
|
|
|
|
const workflow = parse(readFileSync('.github/workflows/pr.yml', 'utf8'))
|
|
|
|
describe('packaged skills CLI PR gates', () => {
|
|
it('builds and executes the Windows packaged CLI', () => {
|
|
const job = workflow.jobs.package_windows
|
|
const buildStep = job.steps.find((step) => step.name === 'Build package inputs')
|
|
const prepareStep = job.steps.find((step) => step.name === 'Prepare Electron native runtime')
|
|
const packageStep = job.steps.find((step) => step.name === 'Package unpacked app')
|
|
const smokeStep = job.steps.find((step) => step.name === 'Smoke packaged CLI')
|
|
|
|
expect(job['runs-on']).toBe('windows-2022')
|
|
expect(buildStep.run).toBe('pnpm run build:release:parallel')
|
|
expect(prepareStep.uses).toBe('./.github/actions/prepare-native-runtime')
|
|
expect(prepareStep.with).toEqual({
|
|
'native-runtime': 'electron',
|
|
'node-version': '${{ steps.deps.outputs.node-version }}'
|
|
})
|
|
expect(packageStep.run).toContain('electron-builder')
|
|
expect(packageStep.run).toContain('--dir')
|
|
expect(packageStep.env.ORCA_REUSE_PREPARED_NATIVE_RUNTIME).toBe('1')
|
|
expect(smokeStep.run).toBe(
|
|
'node config/scripts/smoke-packaged-cli.mjs --app-dir=dist/win-unpacked'
|
|
)
|
|
|
|
const aggregateStep = workflow.jobs.verify.steps.find(
|
|
(step) => step.name === 'Require successful checks'
|
|
)
|
|
expect(aggregateStep.env.PACKAGE_WINDOWS).toBe('${{ needs.package_windows.result }}')
|
|
expect(aggregateStep.run).toContain('"$PACKAGE_WINDOWS"')
|
|
})
|
|
})
|