name: Run benchmarks | |
on: | |
push: | |
paths: | |
- "src/backend/base/**" | |
- "src/backend/tests/performance/**" | |
branches: | |
- "main" # or "master" | |
pull_request: | |
paths: | |
- "src/backend/base/**" | |
- "src/backend/tests/performance/**" | |
- "!src/backend/base/langflow/components/**" | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
codspeed: | |
name: Run benchmarks | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: | |
- "3.12" | |
steps: | |
- name: Check out the code at a specific ref | |
uses: actions/checkout@v4 | |
- name: "Setup Environment" | |
uses: ./.github/actions/setup-uv | |
- name: Run benchmarks | |
uses: CodSpeedHQ/action@v3 | |
with: | |
token: ${{ secrets.CODSPEED_TOKEN }} | |
run: | | |
uv run pytest src/backend/tests \ | |
--ignore=src/backend/tests/integration \ | |
--codspeed \ | |
-m "not api_key_required" \ | |
-n auto | |
- name: Minimize uv cache | |
run: uv cache prune --ci | |