Compare commits

...

2 Commits

Author SHA1 Message Date
Kyle Wigley
ed7dbcec21 test commit 2021-09-23 13:40:46 -04:00
Kyle Wigley
fb84abd28c run performance action when code changes in performance dir 2021-09-23 13:39:32 -04:00
2 changed files with 9 additions and 0 deletions

View File

@@ -6,6 +6,9 @@ on:
- cron: "5 10,22 * * *"
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
push:
paths:
- performance/**
jobs:
# checks fmt of runner code

View File

@@ -1,15 +1,21 @@
TEST
# Performance Regression Testing
This directory includes dbt project setups to test on and a test runner written in Rust which runs specific dbt commands on each of the projects. Orchestration is done via the GitHub Action workflow in `/.github/workflows/performance.yml`. The workflow is scheduled to run every night, but it can also be triggered manually.
The github workflow hardcodes our baseline branch for performance metrics as `0.20.latest`. As future versions become faster, this branch will be updated to hold us to those new standards.
## Adding a new dbt project
Just make a new directory under `performance/projects/`. It will automatically be picked up by the tests.
## Adding a new dbt command
In `runner/src/measure.rs::measure` add a metric to the `metrics` Vec. The Github Action will handle recompilation if you don't have the rust toolchain installed.
## Future work
- add more projects to test different configurations that have been known bottlenecks
- add more dbt commands to measure
- possibly using the uploaded json artifacts to store these results so they can be graphed over time