Performance Baseline #27
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Performance Baseline | |
on: | |
# Manual dispatch | |
workflow_dispatch: | |
# Or on the first day of a month. | |
schedule: | |
- cron: '0 0 1 * *' | |
# READ BEFORE ENABLING THE TRIGGER BELOW | |
# This trigger is only used when testing the scripts in a branch, and should be commented out in other cases. | |
# If this trigger is used, please change the following env: RESULT_REPO_BRANCH -> 'test' (MUST), DEPLOY -> 'false' (optional) | |
# pull_request: | |
# branches: | |
# - master | |
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: | |
runs-on: [self-hosted, Linux, freq-scaling-off] | |
# Allow 1 day to run | |
timeout-minutes: 1440 | |
steps: | |
- name: Checkout JikesRVM Binding | |
uses: actions/checkout@v4 | |
with: | |
repository: mmtk/mmtk-jikesrvm | |
path: mmtk-jikesrvm | |
submodules: true | |
- name: Checkout JikesRVM | |
working-directory: mmtk-jikesrvm | |
run: | | |
./.github/scripts/ci-checkout.sh | |
# checkout perf-kit | |
- name: Checkout Perf Kit | |
uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.CI_ACCESS_TOKEN }} | |
repository: mmtk/ci-perf-kit | |
ref: "0.8.0" | |
path: ci-perf-kit | |
submodules: true | |
# setup | |
- name: Setup | |
run: | | |
./ci-perf-kit/scripts/history-run-setup.sh | |
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 | |
# run | |
- name: Performance Run | |
timeout-minutes: 1440 | |
run: | | |
export RESULT_REPO=mmtk/ci-perf-result | |
export RESULT_REPO_BRANCH=${{ env.RESULT_REPO_BRANCH }} | |
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@v4 | |
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@v4 | |
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] | |
# Allow 2 days to run (it currently takes slightly more than 1 day to finish) | |
timeout-minutes: 2880 | |
steps: | |
- name: Checkout OpenJDK Binding | |
uses: actions/checkout@v4 | |
with: | |
repository: mmtk/mmtk-openjdk | |
path: mmtk-openjdk | |
submodules: true | |
- name: Checkout OpenJDK | |
working-directory: mmtk-openjdk | |
run: | | |
./.github/scripts/ci-checkout.sh | |
# checkout perf-kit | |
- name: Checkout Perf Kit | |
uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.CI_ACCESS_TOKEN }} | |
repository: mmtk/ci-perf-kit | |
ref: "0.8.0" | |
path: ci-perf-kit | |
submodules: true | |
# setup | |
- name: Setup | |
run: | | |
./ci-perf-kit/scripts/history-run-setup.sh | |
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 | |
- name: Performance Run | |
timeout-minutes: 2880 | |
run: | | |
export RESULT_REPO=mmtk/ci-perf-result | |
export RESULT_REPO_BRANCH=${{ env.RESULT_REPO_BRANCH }} | |
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@v4 | |
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@v4 | |
with: | |
name: openjdk-baseline-logs | |
path: ${{ env.CI_PERF_KIT_LOG }} | |
if-no-files-found: error |