forked from deephaven/deephaven-core
-
Notifications
You must be signed in to change notification settings - Fork 0
98 lines (85 loc) · 2.92 KB
/
nightly-benchmarks.yml
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
name: Nightly Benchmarks
on:
push: # For testing
branches: ['benchmark-*']
schedule:
- cron: '0 7 * * *'
jobs:
setup:
if: ${{ github.repository_owner == 'deephaven' || github.event_name != 'schedule' }}
runs-on: [benchmark]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup JDK 11
id: setup-java-11
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '11'
- name: Setup JDK 17
id: setup-java-17
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: Set JAVA_HOME
run: echo "JAVA_HOME=${{ steps.setup-java-11.outputs.path }}" >> $GITHUB_ENV
- name: Setup gradle properties
run: |
cat .github/env/${{ runner.os }}/gradle.properties >> gradle.properties
echo >> gradle.properties
echo "org.gradle.java.installations.paths=${{ steps.setup-java-11.outputs.path }},${{ steps.setup-java-17.outputs.path }}," >> gradle.properties
cat gradle.properties
- name: Build
uses: burrunan/gradle-cache-action@v1
with:
job-id: benchmark
arguments: build
gradle-version: wrapper
benchmarks:
if: ${{ github.repository_owner == 'deephaven' || github.event_name != 'schedule' }}
needs: setup
runs-on: [benchmark]
steps:
- name: Benchmark - sumByBenchmark
uses: burrunan/gradle-cache-action@v1
with:
job-id: benchmark
arguments: :engine-benchmark:sumByBenchmark
gradle-version: wrapper
- name: Benchmark - PercentileByBenchmark
uses: burrunan/gradle-cache-action@v1
with:
job-id: benchmark
arguments: :engine-benchmark:percentileByBenchmark
gradle-version: wrapper
archive:
if: ${{ github.repository_owner == 'deephaven' || github.event_name != 'schedule' }}
needs: benchmarks
runs-on: [benchmark]
steps:
- name: Archive benchmark results
uses: actions/upload-artifact@v3
with:
name: Benchmark results
path: tmp/logs/*Benchmark*-*.csv
retention-days: 90
publish-metrics:
if: ${{ github.repository_owner == 'deephaven' || github.event_name != 'schedule' }}
needs: benchmarks
runs-on: [benchmark]
steps:
- name: Setup python environment
uses: "actions/setup-python@v2"
with:
python-version: "3.9"
- name: Install requirements
run: |
set -xe
python -VV
python -m site
python -m pip install --upgrade pip
python -m pip install --requirement .github/tools/metrics/requirements.txt
- name: Commit Metrics to GCP monitoring
run: "python .github/tools/metrics/benchmark_capture.py --template-path=.github/tools/metrics/templates/ tmp/logs/*Benchmark*-*.csv"