mirror of
https://github.com/stablyai/orca.git
synced 2026-11-01 17:47:40 +00:00
81 lines
2.7 KiB
YAML
81 lines
2.7 KiB
YAML
name: Windows native preparation comparison
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
comparison:
|
|
description: Bounded comparison to run on the existing Windows slots.
|
|
type: choice
|
|
default: native-preparation
|
|
options: [native-preparation, windows-security]
|
|
source_sha:
|
|
description: Exact commit containing this benchmark and the Windows compiler candidate.
|
|
required: true
|
|
type: string
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
# Candidate source must not write caches in the dispatch branch's scope.
|
|
cache-mode: read
|
|
|
|
concurrency:
|
|
group: windows-native-preparation-comparison-${{ github.ref }}
|
|
cancel-in-progress: false
|
|
|
|
env:
|
|
ORCA_BACKGROUND_LAUNCH: '1'
|
|
|
|
jobs:
|
|
compare:
|
|
name: Native preparation comparison (${{ matrix.os }})
|
|
runs-on: ${{ matrix.os }}
|
|
timeout-minutes: 60
|
|
strategy:
|
|
fail-fast: false
|
|
max-parallel: 2
|
|
matrix:
|
|
os: [windows-2022, windows-11-arm]
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
ref: ${{ inputs.source_sha }}
|
|
persist-credentials: false
|
|
- name: Record measurement start and validate source
|
|
shell: bash
|
|
env:
|
|
SOURCE_SHA: ${{ inputs.source_sha }}
|
|
run: |
|
|
[[ "$SOURCE_SHA" =~ ^[0-9a-f]{40}$ ]]
|
|
test "$(git rev-parse HEAD)" = "$SOURCE_SHA"
|
|
mkdir -p .build/windows-native-benchmark
|
|
node -e 'require("node:fs").writeFileSync(".build/windows-native-benchmark/job-start.json", JSON.stringify({startedAt:new Date().toISOString()}))'
|
|
- uses: ./.github/actions/install-node-dependencies
|
|
with:
|
|
node-version: '24.22.1'
|
|
native-runtime: none
|
|
cache-pnpm-store: 'false'
|
|
cache-pnpm-verification: 'false'
|
|
- name: Compare isolated cold and same-build warm preparation
|
|
if: inputs.comparison != 'windows-security'
|
|
shell: bash
|
|
env:
|
|
SOURCE_SHA: ${{ inputs.source_sha }}
|
|
BENCHMARK_RUNNER: ${{ matrix.os }}
|
|
run: node config/scripts/benchmark-windows-native-preparation.mjs
|
|
- name: Compare warm Windows security builds and qualify fallback
|
|
if: inputs.comparison == 'windows-security'
|
|
shell: bash
|
|
env:
|
|
SOURCE_SHA: ${{ inputs.source_sha }}
|
|
BENCHMARK_RUNNER: ${{ matrix.os }}
|
|
run: node config/scripts/benchmark-windows-security-reuse.mjs
|
|
- uses: actions/upload-artifact@v7
|
|
if: always()
|
|
with:
|
|
name: windows-native-preparation-${{ matrix.os }}-${{ github.run_id }}-${{ github.run_attempt }}
|
|
path: .build/windows-native-benchmark/
|
|
include-hidden-files: true
|
|
if-no-files-found: error
|
|
retention-days: 14
|