Skip to content

evaluate the date string please #20

evaluate the date string please

evaluate the date string please #20

Workflow file for this run

name: Run benchmark
on:
workflow_dispatch:
push:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || '' }}-${{ github.base_ref || '' }}-${{ github.ref != 'refs/heads/master' || github.sha }}
cancel-in-progress: true
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
gh_issue_repo: duckdblabs/db-benchmark
# TODO add AWS ACCESS KEYS and such
# start-aws-machine:
# name: Start aws-small-machine
# runs-on: ubuntu-latest
# env:
# instance_id: XXXXXXXXX
# steps:
# - name: Start EC2 runner
# shell: bash
# env:
# AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}}
# AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}}
# AWS_DEFAULT_REGION: us-east-1
# run: aws ec2 start-instances --instance-id ${{ env.instance_id }}
# - name: Create issue if failure
# shell: bash
# if: ${{ failure() && contains(github.ref_name, 'main') }}
# run: |
# gh issue create --repo ${{ env.gh_issue_repo }} --title "Weekly Regression Test Failure" --body "AWS box with instance-id ${{ env.instance_id }} could not be started"
jobs:
run-benchmark:
name: Regression Tests all solutions
env:
CC: gcc-10
CXX: g++-10
GEN: ninja
MACHINE_TYPE: c6id.4xlarge
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: add_trigger_to_run_the_benchmark
- name: run mount
shell: bash
run: |
./_setup_utils/mount.sh
# TODO: Remove this.
- name: checkout correct branch
shell: bash
working-directory: /var/lib/mount/db-benchmark-metal
run: |
git checkout add_trigger_to_run_the_benchmark
- name: Install or Upgrade all solutions
shell: bash
working-directory: /var/lib/mount/db-benchmark-metal
run: |
python3 _setup_utils/install_all_solutions.py all --exclude clickhouse
# installing/updating clickhouse needs sudo priviledges
sudo python3 _setup_utils/install_all_solutions.py clickhouse
- name: Modify run.conf to only have new versions
shell: bash
working-directory: /var/lib/mount/db-benchmark-metal
run: |
git diff --name-only **/VERSION > updated_solutions.txt
sed -i 's/\/VERSION/ /g' updated_solutions.txt
tr --delete '\n' < updated_solutions.txt > updated_solutions_no_newlines.txt
export new_solutions=`cat updated_solutions_no_newlines.txt`
echo "New benchmarks are " $new_solutions
sed -i "s/export RUN_SOLUTIONS=.*/export RUN_SOLUTIONS=\"${new_solutions}\"/g" run.conf
- name: Run the benchmark
shell: bash
working-directory: /var/lib/mount/db-benchmark-metal
run: |
echo "small edit" >> run.conf
- name: Create Archive
if: always()
shell: bash
run: |
mkdir -p out
echo "neato" > out/whatever.txt
zip -r out-dir.zip out/
- uses: actions/upload-artifact@v4
if: always()
with:
name: out-dir.zip
path: out-dir.zip
if-no-files-found: error
- name: Commit files
run: |
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add time.csv logs.csv **/VERSION
git add run.conf
git commit -a -m "new_results"
- name: Push changes
uses: ad-m/github-push-action@master
env:
branch_name: results-`date +%Y-%m-%d-%Hh%Mm`
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
ref: ${{ env.branch_name }}