Benchmarks Test for dev branch #144
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: Benchmarks Test for dev branch | |
# Currently this workflow is only used for running benchmarks test on schedule on branch 1.0.0-preview | |
on: | |
schedule: | |
# Schedule to run on Tue,Fri at 10PM UTC (6AM CST) | |
- cron: '0 22 * * 2,5' | |
jobs: | |
Sysbench_Test: | |
timeout-minutes: 40 | |
runs-on: ${{ matrix.self_runner }} | |
strategy: | |
matrix: | |
self_runner: [[self-hosted, SGX2-HW, benchmark]] | |
steps: | |
- name: Clean before running | |
run: | | |
sudo chown -R ${{ secrets.CI_ADMIN }} "${{ github.workspace }}" | |
- uses: AutoModality/action-clean@v1 | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
ref: 1.0.0-preview | |
- uses: ./.github/workflows/composite_action/hw | |
with: | |
container-name: ${{ github.job }} | |
build-envs: 'OCCLUM_RELEASE_BUILD=1' | |
- name: Run sysbench download and build | |
run: docker exec ${{ env.CONTAINER_NAME }} bash -c "cd /root/occlum/demos/benchmarks/sysbench && ./sysbench.sh 120" | |
- name: Copy result | |
run: docker cp ${{ env.CONTAINER_NAME }}:/root/occlum/demos/benchmarks/sysbench/result.json . | |
# Run `github-action-benchmark` action | |
- name: Store benchmark result | |
uses: benchmark-action/github-action-benchmark@v1 | |
with: | |
name: Sysbench Benchmark | |
# What benchmark tool the output.txt came from | |
tool: 'customSmallerIsBetter' | |
# Where the output from the benchmark tool is stored | |
output-file-path: result.json | |
# Path to directory which contains benchmark files on GitHub pages branch | |
benchmark-data-dir-path: 'dev/benchmarks' | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
auto-push: true | |
# Show alert with commit comment on detecting possible performance regression | |
alert-threshold: '200%' | |
comment-on-alert: true | |
# Workflow will fail when an alert happens | |
fail-on-alert: true | |
- name: Clean the environment | |
if: ${{ always() }} | |
run: docker stop ${{ env.CONTAINER_NAME }} | |
Iperf3_Test: | |
timeout-minutes: 40 | |
runs-on: ${{ matrix.self_runner }} | |
strategy: | |
matrix: | |
self_runner: [[self-hosted, SGX2-HW, benchmark]] | |
steps: | |
- name: Clean before running | |
run: | | |
sudo chown -R ${{ secrets.CI_ADMIN }} "${{ github.workspace }}" | |
- uses: AutoModality/action-clean@v1 | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
ref: 1.0.0-preview | |
- uses: ./.github/workflows/composite_action/hw | |
with: | |
container-name: ${{ github.job }} | |
build-envs: 'OCCLUM_RELEASE_BUILD=1' | |
- name: Run iperf3 download and build | |
run: docker exec ${{ env.CONTAINER_NAME }} bash -c "cd /root/occlum/demos/benchmarks/iperf3 && ./iperf3.sh 120" | |
- name: Copy result | |
run: docker cp ${{ env.CONTAINER_NAME }}:/root/occlum/demos/benchmarks/iperf3/result.json . | |
# Run `github-action-benchmark` action | |
- name: Store benchmark result | |
uses: benchmark-action/github-action-benchmark@v1 | |
with: | |
name: Iperf3 Benchmark | |
# What benchmark tool the output.txt came from | |
tool: 'customBiggerIsBetter ' | |
# Where the output from the benchmark tool is stored | |
output-file-path: result.json | |
# Path to directory which contains benchmark files on GitHub pages branch | |
benchmark-data-dir-path: 'dev/benchmarks' | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
auto-push: true | |
# Show alert with commit comment on detecting possible performance regression | |
alert-threshold: '200%' | |
comment-on-alert: true | |
# Workflow will fail when an alert happens | |
fail-on-alert: true | |
- name: Clean the environment | |
if: ${{ always() }} | |
run: docker stop ${{ env.CONTAINER_NAME }} | |
SEFS_FIO_Test: | |
timeout-minutes: 60 | |
runs-on: ${{ matrix.self_runner }} | |
strategy: | |
matrix: | |
self_runner: [[self-hosted, SGX2-HW, benchmark]] | |
steps: | |
- name: Clean before running | |
run: | | |
sudo chown -R ${{ secrets.CI_ADMIN }} "${{ github.workspace }}" | |
- uses: AutoModality/action-clean@v1 | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
ref: 1.0.0-preview | |
- uses: ./.github/workflows/composite_action/hw | |
with: | |
container-name: ${{ github.job }} | |
build-envs: 'OCCLUM_RELEASE_BUILD=1' | |
- name: Run fio download and build | |
run: docker exec ${{ env.CONTAINER_NAME }} bash -c "cd /root/occlum/demos/benchmarks/fio && ./fio_microbench.sh /root/fio-microbench" | |
- name: Copy result | |
run: docker cp ${{ env.CONTAINER_NAME }}:/root/occlum/demos/benchmarks/fio/result.json . | |
# Run `github-action-benchmark` action | |
- name: Store benchmark result | |
uses: benchmark-action/github-action-benchmark@v1 | |
with: | |
name: FIO Benchmark on SEFS | |
# What benchmark tool the output.txt came from | |
tool: 'customBiggerIsBetter' | |
# Where the output from the benchmark tool is stored | |
output-file-path: result.json | |
# Path to directory which contains benchmark files on GitHub pages branch | |
benchmark-data-dir-path: 'dev/benchmarks' | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
auto-push: true | |
# Show alert with commit comment on detecting possible performance regression | |
alert-threshold: '200%' | |
comment-on-alert: true | |
# Workflow will fail when an alert happens | |
fail-on-alert: true | |
- name: Clean the environment | |
if: ${{ always() }} | |
run: docker stop ${{ env.CONTAINER_NAME }} | |
AsyncSFS_FIO_Test: | |
timeout-minutes: 60 | |
runs-on: ${{ matrix.self_runner }} | |
strategy: | |
matrix: | |
self_runner: [[self-hosted, SGX2-HW, benchmark]] | |
steps: | |
- name: Clean before running | |
run: | | |
sudo chown -R ${{ secrets.CI_ADMIN }} "${{ github.workspace }}" | |
- uses: AutoModality/action-clean@v1 | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
ref: 1.0.0-preview | |
- uses: ./.github/workflows/composite_action/hw | |
with: | |
container-name: ${{ github.job }} | |
build-envs: 'OCCLUM_RELEASE_BUILD=1' | |
- name: Run fio download and build | |
run: docker exec ${{ env.CONTAINER_NAME }} bash -c "cd /root/occlum/demos/benchmarks/fio && ./fio_microbench.sh /sfs/fio-microbench" | |
- name: Copy result | |
run: docker cp ${{ env.CONTAINER_NAME }}:/root/occlum/demos/benchmarks/fio/result.json . | |
# Run `github-action-benchmark` action | |
- name: Store benchmark result | |
uses: benchmark-action/github-action-benchmark@v1 | |
with: | |
name: FIO Benchmark on AsyncSFS and JinDisk | |
# What benchmark tool the output.txt came from | |
tool: 'customBiggerIsBetter' | |
# Where the output from the benchmark tool is stored | |
output-file-path: result.json | |
# Path to directory which contains benchmark files on GitHub pages branch | |
benchmark-data-dir-path: 'dev/benchmarks' | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
auto-push: true | |
# Show alert with commit comment on detecting possible performance regression | |
alert-threshold: '200%' | |
comment-on-alert: true | |
# Workflow will fail when an alert happens | |
fail-on-alert: true | |
- name: Clean the environment | |
if: ${{ always() }} | |
run: docker stop ${{ env.CONTAINER_NAME }} |