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