Put schedule for every 2 hours #13
Workflow file for this run
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: Benchmark | |
on: | |
schedule: | |
- cron: '5 1,3,5,7,9,11,13,15,17,19,21,23 * * *' | |
push: | |
branches: | |
- vibhansa/perftestrunner | |
jobs: | |
PerfTesting: | |
runs-on: [self-hosted, 1ES.Pool=blobfuse2-github-pool] | |
timeout-minutes: 360 | |
permissions: | |
id-token: write | |
contents: write | |
pages: write | |
steps: | |
# Print the host info | |
- name: 'Host info' | |
run: hostnamectl | |
# Install Fuse3 | |
- name: "Install Fuse3" | |
run: | | |
sudo apt-get update | |
sudo apt-get install fuse3 libfuse3-dev gcc -y | |
# Install Tools | |
- name: "Install Tools" | |
run: | | |
sudo apt-get install fio jq -y | |
# Checkout main branch | |
- name: 'Checkout Blobfuse2' | |
uses: actions/checkout@v4.1.1 | |
# Install GoLang | |
- name: "Install Go" | |
run: | | |
./go_installer.sh ../ | |
go version | |
# Build Blobfuse2 | |
- name: "Build Blobfuse2" | |
run: | | |
./build.sh | |
# Run binary and validate the version | |
- name: "Validate Version" | |
run: | | |
./blobfuse2 --version | |
pwd | |
sudo cp ./blobfuse2 /usr/bin/ | |
which blobfuse2 | |
blobfuse2 --version | |
# Create the config file for testing | |
- name: "Create config file" | |
run: | | |
blobfuse2 gen-test-config --config-file=azure_block_bench.yaml --container-name=${{ secrets.BLOB_STORAGE_CONTAINER }} --output-file=../config.yaml | |
cat ../config.yaml | |
# Checkout benchmark branch | |
- uses: actions/checkout@v2 | |
with: | |
ref: benchmarks | |
# Create the config file for testing | |
- name: "Create mount path" | |
run: | | |
mkdir -p ../blob_mnt | |
sudo chmod 777 ../blob_mnt | |
rm -rf ../blob_mnt/* | |
# ----------------------------------------------------------------------------------------------- | |
# Run the benchmark script for read_bandwidth test | |
- name: "Run Benchmark Script : Read" | |
run: | | |
./scripts/fio_bench.sh ../blob_mnt read | |
env: | |
AZURE_STORAGE_ACCOUNT: ${{ secrets.BLOB_STORAGE_ACCOUNT }} | |
AZURE_STORAGE_ACCOUNT_CONTAINER: ${{ secrets.BLOB_STORAGE_CONTAINER }} | |
AZURE_STORAGE_ACCESS_KEY: ${{ secrets.BLOB_STORAGE_KEY }} | |
# Print blobfuse2 logs | |
- name: "Print logs : Read" | |
run: cat ./blobfuse2.log | |
if: always() | |
# Print the results generated | |
- name: "Print latest results : Read" | |
run: cat ./read_bandwidth/results.json | |
if: always() | |
# Push the results and publish the graphs | |
- name: "Update Benchmark Results : Read" | |
uses: benchmark-action/github-action-benchmark@v1 | |
with: | |
output-file-path: read_bandwidth/results.json | |
tool: 'customBiggerIsBetter' | |
alert-threshold: "120%" | |
max-items-in-chart: 50 | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
fail-on-alert: true | |
auto-push: true | |
comment-on-alert: true | |
gh-pages-branch: benchmarks | |
benchmark-data-dir-path: benchmark/read/bandwidth | |
# ----------------------------------------------------------------------------------------------- | |
# Run the benchmark script for write_bandwidth test | |
- name: "Run Benchmark Script : Write" | |
run: | | |
./scripts/fio_bench.sh ../blob_mnt write | |
env: | |
AZURE_STORAGE_ACCOUNT: ${{ secrets.BLOB_STORAGE_ACCOUNT }} | |
AZURE_STORAGE_ACCOUNT_CONTAINER: ${{ secrets.BLOB_STORAGE_CONTAINER }} | |
AZURE_STORAGE_ACCESS_KEY: ${{ secrets.BLOB_STORAGE_KEY }} | |
# Print blobfuse2 logs | |
- name: "Print logs : Write" | |
run: cat ./blobfuse2.log | |
if: always() | |
# Print the results generated | |
- name: "Print latest results : Write" | |
run: cat ./write_bandwidth/results.json | |
if: always() | |
# Push the results and publish the graphs | |
- name: "Update Benchmark Results : Write" | |
uses: benchmark-action/github-action-benchmark@v1 | |
with: | |
output-file-path: write_bandwidth/results.json | |
tool: 'customBiggerIsBetter' | |
alert-threshold: "120%" | |
max-items-in-chart: 50 | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
fail-on-alert: true | |
auto-push: true | |
comment-on-alert: true | |
gh-pages-branch: benchmarks | |
benchmark-data-dir-path: benchmark/write/bandwidth | |
# ----------------------------------------------------------------------------------------------- | |
# Run the benchmark script for write_bandwidth test | |
- name: "Run Benchmark Script : High Threads" | |
run: | | |
./scripts/fio_bench.sh ../blob_mnt multi | |
env: | |
AZURE_STORAGE_ACCOUNT: ${{ secrets.BLOB_STORAGE_ACCOUNT }} | |
AZURE_STORAGE_ACCOUNT_CONTAINER: ${{ secrets.BLOB_STORAGE_CONTAINER }} | |
AZURE_STORAGE_ACCESS_KEY: ${{ secrets.BLOB_STORAGE_KEY }} | |
# Print blobfuse2 logs | |
- name: "Print logs : High Threads" | |
run: cat ./blobfuse2.log | |
if: always() | |
# Print the results generated | |
- name: "Print latest results : High Threads" | |
run: cat ./multi_bandwidth/results.json | |
if: always() | |
# Push the results and publish the graphs | |
- name: "Update Benchmark Results : High Threads" | |
uses: benchmark-action/github-action-benchmark@v1 | |
with: | |
output-file-path: multi_bandwidth/results.json | |
tool: 'customBiggerIsBetter' | |
alert-threshold: "120%" | |
max-items-in-chart: 50 | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
fail-on-alert: true | |
auto-push: true | |
comment-on-alert: true | |
gh-pages-branch: benchmarks | |
benchmark-data-dir-path: benchmark/highthreads/bandwidth | |