Skip to content

Commit 650eea8

Browse files
authored
Upload perf build and log as artifacts (merge after #1005) (#1011)
This PR moves to ci-perf-kit 0.7.1 (https://github.com/mmtk/ci-perf-kit/releases/tag/0.7.1), and adds a step to upload the build used in the perf run as artifacts. This PR closes #982. This is an example of the testing runs: https://github.com/mmtk/mmtk-core/actions/runs/6742562731. The builds and the logs are uploaded as artifacts.
1 parent dad49c2 commit 650eea8

File tree

4 files changed

+103
-30
lines changed

4 files changed

+103
-30
lines changed

.github/workflows/micro-bm.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ jobs:
6666
with:
6767
repository: mmtk/ci-perf-kit
6868
token: ${{ secrets.GITHUB_TOKEN }}
69-
ref: "0.7.0"
69+
ref: "0.7.1"
7070
path: ci-perf-kit
7171
submodules: true
7272
# Use rust-toolchain in the trunk (it doesnt matter much - if the toolchains defined in the trunk and the branch are different, we cant run anyway)

.github/workflows/perf-baseline.yml

+29-2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ on:
1616
env:
1717
# The branch to save run data and plot graph from. Use 'self-hosted' for master, use 'test' or anything else for testing in a branch.
1818
RESULT_REPO_BRANCH: 'self-hosted'
19+
# Directories in ci-perf-kit that will be uploaded as artifacts. The dirs can be found in ci-perf-kit/scripts/common.sh
20+
CI_PERF_KIT_BUILD: ci-perf-kit/upload
21+
CI_PERF_KIT_LOG: ci-perf-kit/logs-ng
1922

2023
jobs:
2124
jikesrvm-baseline:
@@ -39,7 +42,7 @@ jobs:
3942
with:
4043
token: ${{ secrets.CI_ACCESS_TOKEN }}
4144
repository: mmtk/ci-perf-kit
42-
ref: "0.7.0"
45+
ref: "0.7.1"
4346
path: ci-perf-kit
4447
submodules: true
4548
# setup
@@ -57,6 +60,18 @@ jobs:
5760
export RESULT_REPO_ACCESS_TOKEN=${{ secrets.CI_ACCESS_TOKEN }}
5861
export FROM_DATE=2020-07-10
5962
JAVA_HOME=/opt/jdk1.6.0_45/ PATH=/opt/apache-ant-1.9.16/bin/:/opt/jdk1.6.0_45/bin/:$PATH ./ci-perf-kit/scripts/jikesrvm-stock.sh ./mmtk-jikesrvm/repos/jikesrvm
63+
- name: Upload build as artifacts
64+
uses: actions/upload-artifact@v3
65+
with:
66+
name: jikesrvm-baseline-build
67+
path: ${{ env.CI_PERF_KIT_BUILD }}
68+
if-no-files-found: error
69+
- name: Upload logs as artifacts
70+
uses: actions/upload-artifact@v3
71+
with:
72+
name: jikesrvm-baseline-logs
73+
path: ${{ env.CI_PERF_KIT_LOG }}
74+
if-no-files-found: error
6075

6176
openjdk-baseline:
6277
runs-on: [self-hosted, Linux, freq-scaling-off]
@@ -79,7 +94,7 @@ jobs:
7994
with:
8095
token: ${{ secrets.CI_ACCESS_TOKEN }}
8196
repository: mmtk/ci-perf-kit
82-
ref: "0.7.0"
97+
ref: "0.7.1"
8398
path: ci-perf-kit
8499
submodules: true
85100
# setup
@@ -97,3 +112,15 @@ jobs:
97112
export RESULT_REPO_ACCESS_TOKEN=${{ secrets.CI_ACCESS_TOKEN }}
98113
export FROM_DATE=2020-07-10
99114
./ci-perf-kit/scripts/openjdk-stock.sh ./mmtk-openjdk/repos/openjdk
115+
- name: Upload build as artifacts
116+
uses: actions/upload-artifact@v3
117+
with:
118+
name: openjdk-baseline-build
119+
path: ${{ env.CI_PERF_KIT_BUILD }}
120+
if-no-files-found: error
121+
- name: Upload logs as artifacts
122+
uses: actions/upload-artifact@v3
123+
with:
124+
name: openjdk-baseline-logs
125+
path: ${{ env.CI_PERF_KIT_LOG }}
126+
if-no-files-found: error

.github/workflows/perf-compare-ci.yml

+31-18
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ concurrency:
1616
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
1717
cancel-in-progress: true
1818

19+
env:
20+
# Directories in ci-perf-kit that will be uploaded as artifacts. The dirs can be found in ci-perf-kit/scripts/common.sh
21+
CI_PERF_KIT_BUILD: ci-perf-kit/upload
22+
CI_PERF_KIT_LOG: ci-perf-kit/logs-ng
23+
1924
jobs:
2025
# Figure out binding PRs.
2126
binding-refs:
@@ -107,17 +112,13 @@ jobs:
107112
with:
108113
repository: mmtk/ci-perf-kit
109114
token: ${{ secrets.CI_ACCESS_TOKEN }}
110-
ref: "0.7.0"
115+
ref: "0.7.1"
111116
path: ci-perf-kit
112117
submodules: true
113118
# setup
114119
# Use rust-toolchain in the trunk (it doesnt matter much - if the toolchains defined in the trunk and the branch are different, we cant run anyway)
115120
- name: Setup Rust Toolchain
116121
run: echo "RUSTUP_TOOLCHAIN=`cat mmtk-core-trunk/rust-toolchain`" >> $GITHUB_ENV
117-
- name: Setup
118-
run: |
119-
mkdir -p ci-perf-kit/running/benchmarks/dacapo
120-
cp /usr/share/benchmarks/dacapo/dacapo-2006-10-MR2.jar ci-perf-kit/running/benchmarks/dacapo/
121122
# run compare
122123
- uses: hasura/[email protected]
123124
with:
@@ -137,10 +138,18 @@ jobs:
137138
with:
138139
path: jikesrvm-compare-report.md
139140
# upload run results
140-
- uses: actions/upload-artifact@v2
141+
- name: Upload build as artifacts
142+
uses: actions/upload-artifact@v3
143+
with:
144+
name: jikesrvm-compare-build
145+
path: ${{ env.CI_PERF_KIT_BUILD }}
146+
if-no-files-found: error
147+
- name: Upload logs as artifacts
148+
uses: actions/upload-artifact@v3
141149
with:
142-
name: jikesrvm-log
143-
path: ci-perf-kit/running/results/log
150+
name: jikesrvm-compare-logs
151+
path: ${{ env.CI_PERF_KIT_LOG }}
152+
if-no-files-found: error
144153
- uses: actions/upload-artifact@v2
145154
with:
146155
name: jikesrvm-compare-report.md
@@ -160,7 +169,7 @@ jobs:
160169
- name: Clean up logs and reports
161170
if: always()
162171
run: |
163-
rm -rf ci-perf-kit/running/results/log/*
172+
rm -rf ${{ env.CI_PERF_KIT_LOG }}
164173
rm jikesrvm-compare-report.md
165174
166175
openjdk-perf-compare:
@@ -210,17 +219,13 @@ jobs:
210219
with:
211220
repository: mmtk/ci-perf-kit
212221
token: ${{ secrets.CI_ACCESS_TOKEN }}
213-
ref: "0.7.0"
222+
ref: "0.7.1"
214223
path: ci-perf-kit
215224
submodules: true
216225
# setup
217226
# Use rust-toolchain in the trunk (it doesnt matter much - if the toolchains defined in the trunk and the branch are different, we cant run anyway)
218227
- name: Setup Rust Toolchain
219228
run: echo "RUSTUP_TOOLCHAIN=`cat mmtk-core-trunk/rust-toolchain`" >> $GITHUB_ENV
220-
- name: Setup
221-
run: |
222-
mkdir -p ci-perf-kit/running/benchmarks/dacapo
223-
cp /usr/share/benchmarks/dacapo/dacapo-2006-10-MR2.jar ci-perf-kit/running/benchmarks/dacapo/
224229
# run compare
225230
- uses: hasura/[email protected]
226231
with:
@@ -240,10 +245,18 @@ jobs:
240245
with:
241246
path: openjdk-compare-report.md
242247
# upload run results
243-
- uses: actions/upload-artifact@v2
248+
- name: Upload build as artifacts
249+
uses: actions/upload-artifact@v3
250+
with:
251+
name: openjdk-compare-build
252+
path: ${{ env.CI_PERF_KIT_BUILD }}
253+
if-no-files-found: error
254+
- name: Upload logs as artifacts
255+
uses: actions/upload-artifact@v3
244256
with:
245-
name: openjdk-log
246-
path: ci-perf-kit/running/results/log
257+
name: openjdk-compare-logs
258+
path: ${{ env.CI_PERF_KIT_LOG }}
259+
if-no-files-found: error
247260
- uses: actions/upload-artifact@v2
248261
with:
249262
name: openjdk-compare-report.md
@@ -262,5 +275,5 @@ jobs:
262275
- name: Clean up logs and reports
263276
if: always()
264277
run: |
265-
rm -rf ci-perf-kit/running/results/log/*
278+
rm -rf ${{ env.CI_PERF_KIT_LOG }}
266279
rm openjdk-compare-report.md

.github/workflows/perf-regression-ci.yml

+42-9
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ env:
1717
RESULT_REPO_BRANCH: 'self-hosted'
1818
# Whether we deploy the generated page. Set to true for master.
1919
DEPLOY: true
20+
# Directories in ci-perf-kit that will be uploaded as artifacts. The dirs can be found in ci-perf-kit/scripts/common.sh
21+
CI_PERF_KIT_BUILD: ci-perf-kit/upload
22+
CI_PERF_KIT_LOG: ci-perf-kit/logs-ng
2023

2124
jobs:
2225
# JikesRVM
@@ -42,7 +45,7 @@ jobs:
4245
uses: actions/checkout@v2
4346
with:
4447
repository: mmtk/ci-perf-kit
45-
ref: "0.7.0"
48+
ref: "0.7.1"
4649
path: ci-perf-kit
4750
token: ${{ secrets.CI_ACCESS_TOKEN }}
4851
submodules: true
@@ -54,8 +57,6 @@ jobs:
5457
- name: Setup
5558
run: |
5659
./ci-perf-kit/scripts/history-run-setup.sh
57-
mkdir -p ci-perf-kit/running/benchmarks/dacapo
58-
cp /usr/share/benchmarks/dacapo/dacapo-2006-10-MR2.jar ci-perf-kit/running/benchmarks/dacapo
5960
sed -i 's/^mmtk[[:space:]]=/#ci:mmtk=/g' mmtk-jikesrvm/mmtk/Cargo.toml
6061
sed -i 's/^#[[:space:]]mmtk/mmtk/g' mmtk-jikesrvm/mmtk/Cargo.toml
6162
- id: branch
@@ -79,6 +80,18 @@ jobs:
7980
publish_dir: ./reports
8081
publish_branch: gh-pages
8182
keep_files: true
83+
- name: Upload build as artifacts
84+
uses: actions/upload-artifact@v3
85+
with:
86+
name: jikesrvm-regression-build
87+
path: ${{ env.CI_PERF_KIT_BUILD }}
88+
if-no-files-found: error
89+
- name: Upload logs as artifacts
90+
uses: actions/upload-artifact@v3
91+
with:
92+
name: jikesrvm-regression-logs
93+
path: ${{ env.CI_PERF_KIT_LOG }}
94+
if-no-files-found: error
8295

8396
# OpenJDK
8497
openjdk-perf-regression:
@@ -103,7 +116,7 @@ jobs:
103116
uses: actions/checkout@v2
104117
with:
105118
repository: mmtk/ci-perf-kit
106-
ref: "0.7.0"
119+
ref: "0.7.1"
107120
path: ci-perf-kit
108121
token: ${{ secrets.CI_ACCESS_TOKEN }}
109122
submodules: true
@@ -120,8 +133,6 @@ jobs:
120133
- name: Setup
121134
run: |
122135
./ci-perf-kit/scripts/history-run-setup.sh
123-
mkdir -p ci-perf-kit/running/benchmarks/dacapo
124-
cp /usr/share/benchmarks/dacapo/dacapo-2006-10-MR2.jar ci-perf-kit/running/benchmarks/dacapo
125136
sed -i 's/^mmtk[[:space:]]=/#ci:mmtk=/g' mmtk-openjdk/mmtk/Cargo.toml
126137
sed -i 's/^#[[:space:]]mmtk/mmtk/g' mmtk-openjdk/mmtk/Cargo.toml
127138
- id: branch
@@ -145,6 +156,18 @@ jobs:
145156
publish_dir: ./reports
146157
publish_branch: gh-pages
147158
keep_files: true
159+
- name: Upload build as artifacts
160+
uses: actions/upload-artifact@v3
161+
with:
162+
name: openjdk-regression-build
163+
path: ${{ env.CI_PERF_KIT_BUILD }}
164+
if-no-files-found: error
165+
- name: Upload logs as artifacts
166+
uses: actions/upload-artifact@v3
167+
with:
168+
name: openjdk-regression-logs
169+
path: ${{ env.CI_PERF_KIT_LOG }}
170+
if-no-files-found: error
148171

149172
openjdk-mutator-perf:
150173
runs-on: [self-hosted, Linux, freq-scaling-off]
@@ -168,7 +191,7 @@ jobs:
168191
uses: actions/checkout@v2
169192
with:
170193
repository: mmtk/ci-perf-kit
171-
ref: "0.7.0"
194+
ref: "0.7.1"
172195
path: ci-perf-kit
173196
token: ${{ secrets.CI_ACCESS_TOKEN }}
174197
submodules: true
@@ -188,8 +211,6 @@ jobs:
188211
- name: Setup
189212
run: |
190213
./ci-perf-kit/scripts/history-run-setup.sh
191-
mkdir -p ci-perf-kit/running/benchmarks/dacapo
192-
cp /usr/share/benchmarks/dacapo/dacapo-2006-10-MR2.jar ci-perf-kit/running/benchmarks/dacapo
193214
sed -i 's/^mmtk[[:space:]]=/#ci:mmtk=/g' mmtk-openjdk/mmtk/Cargo.toml
194215
sed -i 's/^#[[:space:]]mmtk/mmtk/g' mmtk-openjdk/mmtk/Cargo.toml
195216
# run
@@ -211,3 +232,15 @@ jobs:
211232
publish_dir: ./reports
212233
publish_branch: gh-pages
213234
keep_files: true
235+
- name: Upload build as artifacts
236+
uses: actions/upload-artifact@v3
237+
with:
238+
name: mutator-regression-build
239+
path: ${{ env.CI_PERF_KIT_BUILD }}
240+
if-no-files-found: error
241+
- name: Upload logs as artifacts
242+
uses: actions/upload-artifact@v3
243+
with:
244+
name: mutator-regression-logs
245+
path: ${{ env.CI_PERF_KIT_LOG }}
246+
if-no-files-found: error

0 commit comments

Comments
 (0)