fix installing of duckdb as well #8
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: 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: | | |
./_run/run_small_medium.sh | |
./_run/run_large.sh | |
# - name: Publish report | |
# shell: bash | |
# working-directory: /var/lib/mount/db-benchmark-metal | |
# run: | | |
# git remote add upstream [email protected]/duckdblabs/db-benchmark.git | |
# git add -u | |
# date=$(date '+%Y-%m-%d') | |
# git commit -m "results ${date}" | |
# git push upstream main | |
# ./publish.sh | |