Skip to content

Commit 8bfda7a

Browse files
committed
Merge branch 'master' into v8-support
2 parents d48db3b + 339640f commit 8bfda7a

File tree

139 files changed

+6913
-2201
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

139 files changed

+6913
-2201
lines changed

.github/workflows/micro-bm.yml

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
1-
name: Post Code Review Checks (Micro Benchmarks)
1+
name: Binding Perf Tests (Micro Benchmarks)
22

3+
# on:
4+
# pull_request:
5+
# types: [opened, synchronize, reopened, labeled]
6+
# branches:
7+
# - master
8+
9+
# Ignore micro benchmarks - micro benchmarking does not seem to be very helpful.
10+
# We should rethink if we really need it or make it more useful.
311
on:
4-
pull_request:
5-
types: [opened, synchronize, reopened, labeled]
6-
branches:
7-
- master
12+
push:
13+
branches-ignore:
14+
- '**'
815

916
jobs:
1017
openjdk-microbm:
@@ -54,7 +61,7 @@ jobs:
5461
with:
5562
repository: mmtk/ci-perf-kit
5663
token: ${{ secrets.GITHUB_TOKEN }}
57-
ref: "0.6.4"
64+
ref: "0.6.5"
5865
path: ci-perf-kit
5966
submodules: true
6067
# 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)
@@ -82,7 +89,7 @@ jobs:
8289
# report
8390
- name: Result
8491
if: always()
85-
uses: thollander/actions-comment-pull-request@master
92+
uses: thollander/actions-comment-pull-request@main
8693
with:
8794
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8895
message: ${{ steps.cat.outputs.text }}

.github/workflows/mmtk-dev-env.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Check mmtk-dev-env
2+
3+
# Triggerred when a new commit is pushed to master
4+
on:
5+
push:
6+
branches:
7+
- master
8+
9+
jobs:
10+
# Trigger ci.yml from mmtk/mmtk-dev-env to make sure mmtk-core can build with mmtk-dev-env.
11+
check-mmtk-dev-env:
12+
runs-on: ubuntu-18.04
13+
steps:
14+
- uses: convictional/[email protected]
15+
with:
16+
owner: mmtk
17+
repo: mmtk-dev-env
18+
github_token: ${{ secrets.CI_ACCESS_TOKEN }}
19+
workflow_file_name: ci.yml
20+
ref: main
21+
wait_interval: 30
22+
inputs: '{}'
23+
propagate_failure: true
24+
trigger_workflow: true
25+
wait_workflow: true

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

Lines changed: 216 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,216 @@
1+
name: Binding Perf Tests
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
pull_request:
7+
description: The pull request number to run the perf tests. The workflow compares the specified pull request with the trunk.
8+
required: true
9+
10+
jobs:
11+
jikesrvm-perf-compare:
12+
runs-on: [self-hosted, Linux, freq-scaling-off]
13+
steps:
14+
- run: echo "PERF_PR=${{ github.event.inputs.pull_request }}" >> $GITHUB_ENV
15+
- name: Check Revisions
16+
uses: qinsoon/[email protected]
17+
with:
18+
token: ${{ secrets.GITHUB_TOKEN }}
19+
pull_request: ${{ env.PERF_PR }}
20+
default_env: 'JIKESRVM_BINDING_TRUNK_REF=master,MMTK_CORE_TRUNK_REF=master,JIKESRVM_BINDING_BRANCH_REF=master,MMTK_CORE_BRANCH_REF=${{ github.event.pull_request.head.sha }}'
21+
# Trunk
22+
# - binding
23+
- name: Checkout JikesRVM Binding Trunk
24+
uses: actions/checkout@v2
25+
with:
26+
repository: mmtk/mmtk-jikesrvm
27+
token: ${{ secrets.GITHUB_TOKEN }}
28+
path: mmtk-jikesrvm-trunk
29+
submodules: true
30+
ref: ${{ env.JIKESRVM_BINDING_TRUNK_REF }}
31+
# - core
32+
- name: Checkout MMTk Core
33+
uses: actions/checkout@v2
34+
with:
35+
ref: ${{ env.MMTK_CORE_TRUNK_REF }}
36+
path: mmtk-core-trunk
37+
# Branch
38+
# - binding
39+
- name: Checkout JikesRVM Binding Branch
40+
uses: actions/checkout@v2
41+
with:
42+
repository: mmtk/mmtk-jikesrvm
43+
token: ${{ secrets.GITHUB_TOKEN }}
44+
path: mmtk-jikesrvm-branch
45+
submodules: true
46+
ref: ${{ env.JIKESRVM_BINDING_BRANCH_REF }}
47+
# - core
48+
- name: Checkout MMTk Core
49+
uses: actions/checkout@v2
50+
with:
51+
ref: ${{ env.MMTK_CORE_BRANCH_REF }}
52+
path: mmtk-core-branch
53+
# Checkout perf-kit
54+
- name: Checkout Perf Kit
55+
uses: actions/checkout@v2
56+
with:
57+
repository: mmtk/ci-perf-kit
58+
token: ${{ secrets.GITHUB_TOKEN }}
59+
ref: "0.6.5"
60+
path: ci-perf-kit
61+
submodules: true
62+
# setup
63+
# 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)
64+
- name: Setup Rust Toolchain
65+
run: echo "RUSTUP_TOOLCHAIN=`cat mmtk-core-trunk/rust-toolchain`" >> $GITHUB_ENV
66+
- name: Setup
67+
run: |
68+
mkdir -p ci-perf-kit/running/benchmarks/dacapo
69+
cp /usr/share/benchmarks/dacapo/dacapo-2006-10-MR2.jar ci-perf-kit/running/benchmarks/dacapo/
70+
# run compare
71+
- uses: hasura/[email protected]
72+
with:
73+
github-token: ${{ secrets.CI_ACCESS_TOKEN }}
74+
repository: 'mmtk/mmtk-core'
75+
number: ${{ env.PERF_PR }}
76+
id: jikesrvm-perf-compare-comment
77+
message: 'Running benchmarks for JikesRVM...'
78+
recreate: true
79+
- name: Compare Performance
80+
id: run
81+
run: |
82+
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 ./ci-perf-kit/scripts/jikesrvm-compare.sh mmtk-jikesrvm-trunk/ mmtk-core-trunk/ mmtk-jikesrvm-branch/ mmtk-core-branch/ jikesrvm-compare-report.md
83+
# set report.md to output
84+
- uses: pCYSl5EDgo/cat@master
85+
id: cat
86+
with:
87+
path: jikesrvm-compare-report.md
88+
# upload run results
89+
- uses: actions/upload-artifact@v2
90+
with:
91+
name: jikesrvm-log
92+
path: ci-perf-kit/running/results/log
93+
- uses: actions/upload-artifact@v2
94+
with:
95+
name: jikesrvm-compare-report.md
96+
path: jikesrvm-compare-report.md
97+
# report
98+
- uses: hasura/[email protected]
99+
if: always()
100+
with:
101+
github-token: ${{ secrets.CI_ACCESS_TOKEN }}
102+
repository: 'mmtk/mmtk-core'
103+
number: ${{ env.PERF_PR }}
104+
id: jikesrvm-perf-compare-comment
105+
message: ${{ steps.cat.outputs.text }}
106+
append: true
107+
# Cleanup logs (this is necessary for self-hosted runners)
108+
# [`always()`](https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#always) ensures we clean up the logs even if some steps fail
109+
- name: Clean up logs and reports
110+
if: always()
111+
run: |
112+
rm -rf ci-perf-kit/running/results/log/*
113+
rm jikesrvm-compare-report.md
114+
115+
openjdk-perf-compare:
116+
runs-on: [self-hosted, Linux, freq-scaling-off]
117+
steps:
118+
- run: echo "PERF_PR=${{ github.event.inputs.pull_request }}" >> $GITHUB_ENV
119+
- name: Check Revisions
120+
uses: qinsoon/[email protected]
121+
with:
122+
token: ${{ secrets.GITHUB_TOKEN }}
123+
pull_request: ${{ env.PERF_PR }}
124+
default_env: 'OPENJDK_BINDING_TRUNK_REF=master,MMTK_CORE_TRUNK_REF=master,OPENJDK_BINDING_BRANCH_REF=master,MMTK_CORE_BRANCH_REF=${{ github.event.pull_request.head.sha }}'
125+
# Trunk
126+
# - binding
127+
- name: Checkout OpenJDK Binding Trunk
128+
uses: actions/checkout@v2
129+
with:
130+
repository: mmtk/mmtk-openjdk
131+
token: ${{ secrets.GITHUB_TOKEN }}
132+
path: mmtk-openjdk-trunk
133+
submodules: true
134+
ref: ${{ env.OPENJDK_BINDING_TRUNK_REF }}
135+
# -core
136+
- name: Checkout MMTk Core
137+
uses: actions/checkout@v2
138+
with:
139+
ref: ${{ env.MMTK_CORE_TRUNK_REF }}
140+
path: mmtk-core-trunk
141+
# Branch
142+
# - binding
143+
- name: Checkout OpenJDK Binding Branch
144+
uses: actions/checkout@v2
145+
with:
146+
repository: mmtk/mmtk-openjdk
147+
token: ${{ secrets.GITHUB_TOKEN }}
148+
path: mmtk-openjdk-branch
149+
submodules: true
150+
ref: ${{ env.OPENJDK_BINDING_BRANCH_REF }}
151+
# - core
152+
- name: Checkout MMTk Core
153+
uses: actions/checkout@v2
154+
with:
155+
ref: ${{ env.MMTK_CORE_BRANCH_REF }}
156+
path: mmtk-core-branch
157+
# checkout perf-kit
158+
- name: Checkout Perf Kit
159+
uses: actions/checkout@v2
160+
with:
161+
repository: mmtk/ci-perf-kit
162+
token: ${{ secrets.GITHUB_TOKEN }}
163+
ref: "0.6.5"
164+
path: ci-perf-kit
165+
submodules: true
166+
# setup
167+
# 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)
168+
- name: Setup Rust Toolchain
169+
run: echo "RUSTUP_TOOLCHAIN=`cat mmtk-core-trunk/rust-toolchain`" >> $GITHUB_ENV
170+
- name: Setup
171+
run: |
172+
mkdir -p ci-perf-kit/running/benchmarks/dacapo
173+
cp /usr/share/benchmarks/dacapo/dacapo-2006-10-MR2.jar ci-perf-kit/running/benchmarks/dacapo/
174+
# run compare
175+
- uses: hasura/[email protected]
176+
with:
177+
github-token: ${{ secrets.CI_ACCESS_TOKEN }}
178+
repository: 'mmtk/mmtk-core'
179+
number: ${{ env.PERF_PR }}
180+
id: openjdk-perf-compare-comment
181+
message: 'Running benchmarks for OpenJDK...'
182+
recreate: true
183+
- name: Compare Performance
184+
id: run
185+
run: |
186+
./ci-perf-kit/scripts/openjdk-compare.sh mmtk-openjdk-trunk/ mmtk-core-trunk/ mmtk-openjdk-branch/ mmtk-core-branch/ openjdk-compare-report.md
187+
# set report.md to output
188+
- uses: pCYSl5EDgo/cat@master
189+
id: cat
190+
with:
191+
path: openjdk-compare-report.md
192+
# upload run results
193+
- uses: actions/upload-artifact@v2
194+
with:
195+
name: openjdk-log
196+
path: ci-perf-kit/running/results/log
197+
- uses: actions/upload-artifact@v2
198+
with:
199+
name: openjdk-compare-report.md
200+
path: openjdk-compare-report.md
201+
# report
202+
- uses: hasura/[email protected]
203+
if: always()
204+
with:
205+
github-token: ${{ secrets.CI_ACCESS_TOKEN }}
206+
repository: 'mmtk/mmtk-core'
207+
number: ${{ env.PERF_PR }}
208+
id: openjdk-perf-compare-comment
209+
message: ${{ steps.cat.outputs.text }}
210+
append: true
211+
# Cleanup logs (this is necessary for self-hosted runners)
212+
- name: Clean up logs and reports
213+
if: always()
214+
run: |
215+
rm -rf ci-perf-kit/running/results/log/*
216+
rm openjdk-compare-report.md

.github/workflows/perf-jikesrvm-baseline.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
uses: actions/checkout@v2
2525
with:
2626
repository: mmtk/ci-perf-kit
27-
ref: "0.6.4"
27+
ref: "0.6.5"
2828
path: ci-perf-kit
2929
submodules: true
3030
# setup

.github/workflows/perf-openjdk-baseline.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
uses: actions/checkout@v2
2525
with:
2626
repository: mmtk/ci-perf-kit
27-
ref: "0.6.4"
27+
ref: "0.6.5"
2828
path: ci-perf-kit
2929
submodules: true
3030
# setup

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
with:
4141
repository: mmtk/ci-perf-kit
4242
token: ${{ secrets.CI_ACCESS_TOKEN }}
43-
ref: "0.6.4"
43+
ref: "0.6.5"
4444
path: ci-perf-kit
4545
submodules: true
4646
# setup
@@ -98,7 +98,7 @@ jobs:
9898
with:
9999
repository: mmtk/ci-perf-kit
100100
token: ${{ secrets.CI_ACCESS_TOKEN }}
101-
ref: "0.6.4"
101+
ref: "0.6.5"
102102
path: ci-perf-kit
103103
submodules: true
104104
# setup
@@ -160,7 +160,7 @@ jobs:
160160
with:
161161
repository: mmtk/ci-perf-kit
162162
token: ${{ secrets.CI_ACCESS_TOKEN }}
163-
ref: "0.6.4"
163+
ref: "0.6.5"
164164
path: ci-perf-kit
165165
submodules: true
166166
# setup

0 commit comments

Comments
 (0)