Skip to content

Commit

Permalink
Upload perf build and log as artifacts (merge after #1005) (#1011)
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
qinsoon authored Nov 4, 2023
1 parent dad49c2 commit 650eea8
Show file tree
Hide file tree
Showing 4 changed files with 103 additions and 30 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/micro-bm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
with:
repository: mmtk/ci-perf-kit
token: ${{ secrets.GITHUB_TOKEN }}
ref: "0.7.0"
ref: "0.7.1"
path: ci-perf-kit
submodules: true
# 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)
Expand Down
31 changes: 29 additions & 2 deletions .github/workflows/perf-baseline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ on:
env:
# 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.
RESULT_REPO_BRANCH: 'self-hosted'
# Directories in ci-perf-kit that will be uploaded as artifacts. The dirs can be found in ci-perf-kit/scripts/common.sh
CI_PERF_KIT_BUILD: ci-perf-kit/upload
CI_PERF_KIT_LOG: ci-perf-kit/logs-ng

jobs:
jikesrvm-baseline:
Expand All @@ -39,7 +42,7 @@ jobs:
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
repository: mmtk/ci-perf-kit
ref: "0.7.0"
ref: "0.7.1"
path: ci-perf-kit
submodules: true
# setup
Expand All @@ -57,6 +60,18 @@ jobs:
export RESULT_REPO_ACCESS_TOKEN=${{ secrets.CI_ACCESS_TOKEN }}
export FROM_DATE=2020-07-10
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
- name: Upload build as artifacts
uses: actions/upload-artifact@v3
with:
name: jikesrvm-baseline-build
path: ${{ env.CI_PERF_KIT_BUILD }}
if-no-files-found: error
- name: Upload logs as artifacts
uses: actions/upload-artifact@v3
with:
name: jikesrvm-baseline-logs
path: ${{ env.CI_PERF_KIT_LOG }}
if-no-files-found: error

openjdk-baseline:
runs-on: [self-hosted, Linux, freq-scaling-off]
Expand All @@ -79,7 +94,7 @@ jobs:
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
repository: mmtk/ci-perf-kit
ref: "0.7.0"
ref: "0.7.1"
path: ci-perf-kit
submodules: true
# setup
Expand All @@ -97,3 +112,15 @@ jobs:
export RESULT_REPO_ACCESS_TOKEN=${{ secrets.CI_ACCESS_TOKEN }}
export FROM_DATE=2020-07-10
./ci-perf-kit/scripts/openjdk-stock.sh ./mmtk-openjdk/repos/openjdk
- name: Upload build as artifacts
uses: actions/upload-artifact@v3
with:
name: openjdk-baseline-build
path: ${{ env.CI_PERF_KIT_BUILD }}
if-no-files-found: error
- name: Upload logs as artifacts
uses: actions/upload-artifact@v3
with:
name: openjdk-baseline-logs
path: ${{ env.CI_PERF_KIT_LOG }}
if-no-files-found: error
49 changes: 31 additions & 18 deletions .github/workflows/perf-compare-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

env:
# Directories in ci-perf-kit that will be uploaded as artifacts. The dirs can be found in ci-perf-kit/scripts/common.sh
CI_PERF_KIT_BUILD: ci-perf-kit/upload
CI_PERF_KIT_LOG: ci-perf-kit/logs-ng

jobs:
# Figure out binding PRs.
binding-refs:
Expand Down Expand Up @@ -107,17 +112,13 @@ jobs:
with:
repository: mmtk/ci-perf-kit
token: ${{ secrets.CI_ACCESS_TOKEN }}
ref: "0.7.0"
ref: "0.7.1"
path: ci-perf-kit
submodules: true
# setup
# 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)
- name: Setup Rust Toolchain
run: echo "RUSTUP_TOOLCHAIN=`cat mmtk-core-trunk/rust-toolchain`" >> $GITHUB_ENV
- name: Setup
run: |
mkdir -p ci-perf-kit/running/benchmarks/dacapo
cp /usr/share/benchmarks/dacapo/dacapo-2006-10-MR2.jar ci-perf-kit/running/benchmarks/dacapo/
# run compare
- uses: hasura/comment-progress@v2.1.0
with:
Expand All @@ -137,10 +138,18 @@ jobs:
with:
path: jikesrvm-compare-report.md
# upload run results
- uses: actions/upload-artifact@v2
- name: Upload build as artifacts
uses: actions/upload-artifact@v3
with:
name: jikesrvm-compare-build
path: ${{ env.CI_PERF_KIT_BUILD }}
if-no-files-found: error
- name: Upload logs as artifacts
uses: actions/upload-artifact@v3
with:
name: jikesrvm-log
path: ci-perf-kit/running/results/log
name: jikesrvm-compare-logs
path: ${{ env.CI_PERF_KIT_LOG }}
if-no-files-found: error
- uses: actions/upload-artifact@v2
with:
name: jikesrvm-compare-report.md
Expand All @@ -160,7 +169,7 @@ jobs:
- name: Clean up logs and reports
if: always()
run: |
rm -rf ci-perf-kit/running/results/log/*
rm -rf ${{ env.CI_PERF_KIT_LOG }}
rm jikesrvm-compare-report.md
openjdk-perf-compare:
Expand Down Expand Up @@ -210,17 +219,13 @@ jobs:
with:
repository: mmtk/ci-perf-kit
token: ${{ secrets.CI_ACCESS_TOKEN }}
ref: "0.7.0"
ref: "0.7.1"
path: ci-perf-kit
submodules: true
# setup
# 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)
- name: Setup Rust Toolchain
run: echo "RUSTUP_TOOLCHAIN=`cat mmtk-core-trunk/rust-toolchain`" >> $GITHUB_ENV
- name: Setup
run: |
mkdir -p ci-perf-kit/running/benchmarks/dacapo
cp /usr/share/benchmarks/dacapo/dacapo-2006-10-MR2.jar ci-perf-kit/running/benchmarks/dacapo/
# run compare
- uses: hasura/comment-progress@v2.1.0
with:
Expand All @@ -240,10 +245,18 @@ jobs:
with:
path: openjdk-compare-report.md
# upload run results
- uses: actions/upload-artifact@v2
- name: Upload build as artifacts
uses: actions/upload-artifact@v3
with:
name: openjdk-compare-build
path: ${{ env.CI_PERF_KIT_BUILD }}
if-no-files-found: error
- name: Upload logs as artifacts
uses: actions/upload-artifact@v3
with:
name: openjdk-log
path: ci-perf-kit/running/results/log
name: openjdk-compare-logs
path: ${{ env.CI_PERF_KIT_LOG }}
if-no-files-found: error
- uses: actions/upload-artifact@v2
with:
name: openjdk-compare-report.md
Expand All @@ -262,5 +275,5 @@ jobs:
- name: Clean up logs and reports
if: always()
run: |
rm -rf ci-perf-kit/running/results/log/*
rm -rf ${{ env.CI_PERF_KIT_LOG }}
rm openjdk-compare-report.md
51 changes: 42 additions & 9 deletions .github/workflows/perf-regression-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ env:
RESULT_REPO_BRANCH: 'self-hosted'
# Whether we deploy the generated page. Set to true for master.
DEPLOY: true
# Directories in ci-perf-kit that will be uploaded as artifacts. The dirs can be found in ci-perf-kit/scripts/common.sh
CI_PERF_KIT_BUILD: ci-perf-kit/upload
CI_PERF_KIT_LOG: ci-perf-kit/logs-ng

jobs:
# JikesRVM
Expand All @@ -42,7 +45,7 @@ jobs:
uses: actions/checkout@v2
with:
repository: mmtk/ci-perf-kit
ref: "0.7.0"
ref: "0.7.1"
path: ci-perf-kit
token: ${{ secrets.CI_ACCESS_TOKEN }}
submodules: true
Expand All @@ -54,8 +57,6 @@ jobs:
- name: Setup
run: |
./ci-perf-kit/scripts/history-run-setup.sh
mkdir -p ci-perf-kit/running/benchmarks/dacapo
cp /usr/share/benchmarks/dacapo/dacapo-2006-10-MR2.jar ci-perf-kit/running/benchmarks/dacapo
sed -i 's/^mmtk[[:space:]]=/#ci:mmtk=/g' mmtk-jikesrvm/mmtk/Cargo.toml
sed -i 's/^#[[:space:]]mmtk/mmtk/g' mmtk-jikesrvm/mmtk/Cargo.toml
- id: branch
Expand All @@ -79,6 +80,18 @@ jobs:
publish_dir: ./reports
publish_branch: gh-pages
keep_files: true
- name: Upload build as artifacts
uses: actions/upload-artifact@v3
with:
name: jikesrvm-regression-build
path: ${{ env.CI_PERF_KIT_BUILD }}
if-no-files-found: error
- name: Upload logs as artifacts
uses: actions/upload-artifact@v3
with:
name: jikesrvm-regression-logs
path: ${{ env.CI_PERF_KIT_LOG }}
if-no-files-found: error

# OpenJDK
openjdk-perf-regression:
Expand All @@ -103,7 +116,7 @@ jobs:
uses: actions/checkout@v2
with:
repository: mmtk/ci-perf-kit
ref: "0.7.0"
ref: "0.7.1"
path: ci-perf-kit
token: ${{ secrets.CI_ACCESS_TOKEN }}
submodules: true
Expand All @@ -120,8 +133,6 @@ jobs:
- name: Setup
run: |
./ci-perf-kit/scripts/history-run-setup.sh
mkdir -p ci-perf-kit/running/benchmarks/dacapo
cp /usr/share/benchmarks/dacapo/dacapo-2006-10-MR2.jar ci-perf-kit/running/benchmarks/dacapo
sed -i 's/^mmtk[[:space:]]=/#ci:mmtk=/g' mmtk-openjdk/mmtk/Cargo.toml
sed -i 's/^#[[:space:]]mmtk/mmtk/g' mmtk-openjdk/mmtk/Cargo.toml
- id: branch
Expand All @@ -145,6 +156,18 @@ jobs:
publish_dir: ./reports
publish_branch: gh-pages
keep_files: true
- name: Upload build as artifacts
uses: actions/upload-artifact@v3
with:
name: openjdk-regression-build
path: ${{ env.CI_PERF_KIT_BUILD }}
if-no-files-found: error
- name: Upload logs as artifacts
uses: actions/upload-artifact@v3
with:
name: openjdk-regression-logs
path: ${{ env.CI_PERF_KIT_LOG }}
if-no-files-found: error

openjdk-mutator-perf:
runs-on: [self-hosted, Linux, freq-scaling-off]
Expand All @@ -168,7 +191,7 @@ jobs:
uses: actions/checkout@v2
with:
repository: mmtk/ci-perf-kit
ref: "0.7.0"
ref: "0.7.1"
path: ci-perf-kit
token: ${{ secrets.CI_ACCESS_TOKEN }}
submodules: true
Expand All @@ -188,8 +211,6 @@ jobs:
- name: Setup
run: |
./ci-perf-kit/scripts/history-run-setup.sh
mkdir -p ci-perf-kit/running/benchmarks/dacapo
cp /usr/share/benchmarks/dacapo/dacapo-2006-10-MR2.jar ci-perf-kit/running/benchmarks/dacapo
sed -i 's/^mmtk[[:space:]]=/#ci:mmtk=/g' mmtk-openjdk/mmtk/Cargo.toml
sed -i 's/^#[[:space:]]mmtk/mmtk/g' mmtk-openjdk/mmtk/Cargo.toml
# run
Expand All @@ -211,3 +232,15 @@ jobs:
publish_dir: ./reports
publish_branch: gh-pages
keep_files: true
- name: Upload build as artifacts
uses: actions/upload-artifact@v3
with:
name: mutator-regression-build
path: ${{ env.CI_PERF_KIT_BUILD }}
if-no-files-found: error
- name: Upload logs as artifacts
uses: actions/upload-artifact@v3
with:
name: mutator-regression-logs
path: ${{ env.CI_PERF_KIT_LOG }}
if-no-files-found: error

0 comments on commit 650eea8

Please sign in to comment.