Repository navigation
60 lines (56 loc) · 2.1 KB
/
Copy pathbenchmark-arm.yml
File metadata and controls
60 lines (56 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
name: ARM Benchmark
# Dispatch-only benchmark on real ARM server hardware.
# Runs on the GitHub-hosted arm64 runner for public repositories
# (ubuntu-24.04-arm: Cobalt 100, Arm Neoverse N2, Armv9-A, 4 vCPU) — the
# available ARM server class for this project. Not a required check; uploaded
# `.artifacts/` files are runtime artifacts. Tracked evidence is created only
# by separate review/promotion.
on:
workflow_dispatch:
permissions:
contents: read
jobs:
benchmark-arm:
runs-on: ubuntu-24.04-arm
timeout-minutes: 30
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: "3.11"
- name: Install dependencies
run: bash scripts/ci_sync.sh perf
- name: Record host metadata
run: |
mkdir -p .artifacts/benchmark
{
echo "# ARM benchmark host metadata"
echo
echo "Generated by workflow run ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}"
echo
echo '```'
uname -a
echo "runner-label: ubuntu-24.04-arm"
nproc
lscpu
free -h
echo '```'
} > .artifacts/benchmark/arm-host-metadata.md
- name: Run benchmark
# DuckDB-profile benchmark: no ClickHouse service on the ARM runner,
# and recorded evidence compares against DuckDB-era numbers.
env:
SERVING_BACKEND: duckdb
run: >
python scripts/run_benchmark.py
--report-path .artifacts/benchmark/arm-benchmark.md
--results-json .artifacts/benchmark/arm-current.json
- name: Upload benchmark artifacts
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: arm-benchmark
path: |
.artifacts/benchmark/arm-host-metadata.md
.artifacts/benchmark/arm-benchmark.md
.artifacts/benchmark/arm-current.json
if-no-files-found: error