Skip to content

Commit 8a40f76

Browse files
ci: replace array splatting with proper hashtable splitting
1 parent 7fbf2a3 commit 8a40f76

1 file changed

Lines changed: 0 additions & 121 deletions

File tree

Lines changed: 0 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -1,121 +0,0 @@
1-
name: Benchmark Evidence
2-
3-
on:
4-
workflow_dispatch:
5-
inputs:
6-
policy_profile:
7-
description: Policy profile for evaluation
8-
required: false
9-
default: ci-hosted
10-
type: choice
11-
options:
12-
- ci-hosted
13-
- ci-dedicated
14-
include_optional:
15-
description: Include JSON/YAML loader benchmarks
16-
required: false
17-
default: false
18-
type: boolean
19-
baseline_path:
20-
description: Optional baseline JSON path (repo-relative)
21-
required: false
22-
default: ""
23-
type: string
24-
schedule:
25-
- cron: "0 7 * * 1"
26-
27-
env:
28-
VCPKG_COMMIT: "66c0373dc7fca549e5803087b9487edfe3aca0a1"
29-
30-
jobs:
31-
windows-benchmark:
32-
name: Windows benchmark evidence
33-
runs-on: windows-2022
34-
timeout-minutes: 45
35-
36-
steps:
37-
- name: Checkout
38-
uses: actions/checkout@v4
39-
40-
- name: Setup vcpkg
41-
uses: lukka/run-vcpkg@v11
42-
with:
43-
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT }}
44-
doNotCache: false
45-
46-
- name: Setup Python
47-
uses: actions/setup-python@v5
48-
with:
49-
python-version: "3.12"
50-
51-
- name: Resolve benchmark options
52-
id: opts
53-
shell: pwsh
54-
run: |
55-
$profile = "ci-hosted"
56-
$includeOptional = "false"
57-
$baseline = ""
58-
59-
if ("${{ github.event_name }}" -eq "workflow_dispatch") {
60-
if ("${{ github.event.inputs.policy_profile }}" -ne "") {
61-
$profile = "${{ github.event.inputs.policy_profile }}"
62-
}
63-
if ("${{ github.event.inputs.include_optional }}" -eq "true") {
64-
$includeOptional = "true"
65-
}
66-
if ("${{ github.event.inputs.baseline_path }}" -ne "") {
67-
$baseline = "${{ github.event.inputs.baseline_path }}"
68-
}
69-
}
70-
71-
if ($baseline -eq "") {
72-
if ($profile -eq "ci-hosted") {
73-
$candidate = "benchmarks/policy/baselines/ci-hosted.windows-2022.json"
74-
if (Test-Path $candidate) {
75-
$baseline = $candidate
76-
}
77-
}
78-
elseif ($profile -eq "ci-dedicated") {
79-
$candidate = "benchmarks/policy/baselines/ci-dedicated.windows-2022.json"
80-
if (Test-Path $candidate) {
81-
$baseline = $candidate
82-
}
83-
else {
84-
throw "ci-dedicated profile requires a dedicated baseline file. Provide baseline_path input or commit $candidate."
85-
}
86-
}
87-
}
88-
89-
$benchDir = "artifacts/benchmarks/${{ github.run_id }}_${{ github.run_attempt }}_ci-windows-release"
90-
91-
"profile=$profile" >> $env:GITHUB_OUTPUT
92-
"include_optional=$includeOptional" >> $env:GITHUB_OUTPUT
93-
"baseline=$baseline" >> $env:GITHUB_OUTPUT
94-
"bench_dir=$benchDir" >> $env:GITHUB_OUTPUT
95-
96-
- name: Run benchmark suite + policy evaluation
97-
shell: pwsh
98-
run: |
99-
$args = @(
100-
"-Preset", "ci-windows-release",
101-
"-Config", "Release",
102-
"-OutputDir", "${{ steps.opts.outputs.bench_dir }}",
103-
"-PolicyProfile", "${{ steps.opts.outputs.profile }}"
104-
)
105-
106-
if ("${{ steps.opts.outputs.include_optional }}" -eq "true") {
107-
$args += "-IncludeOptional"
108-
}
109-
110-
if ("${{ steps.opts.outputs.baseline }}" -ne "") {
111-
$args += @("-Baseline", "${{ steps.opts.outputs.baseline }}")
112-
}
113-
114-
.\scripts\bench.ps1 @args
115-
116-
- name: Upload benchmark artifacts
117-
uses: actions/upload-artifact@v4
118-
with:
119-
name: benchmark-evidence-windows-${{ github.run_id }}-${{ github.run_attempt }}
120-
path: ${{ steps.opts.outputs.bench_dir }}
121-
if-no-files-found: error

0 commit comments

Comments
 (0)