diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml index eb3f726563..0911588e3c 100644 --- a/.github/workflows/python-ci.yml +++ b/.github/workflows/python-ci.yml @@ -178,6 +178,32 @@ jobs: path: .coverage* include-hidden-files: true + benchmark-test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 + with: + python-version: '3.12' + - name: Install UV + uses: astral-sh/setup-uv@v7 + with: + enable-cache: true + - name: Install system dependencies + run: sudo apt-get update && sudo apt-get install -y libkrb5-dev # for kerberos + - name: Install + run: make install + - name: Run benchmarks + run: make test-benchmark + - name: Upload benchmark results + uses: actions/upload-artifact@v4 + with: + name: benchmark-results + path: | + .benchmarks/ + benchmark-*.json + if-no-files-found: ignore + integration-coverage-report: runs-on: ubuntu-latest needs: [integration-test, integration-test-s3, integration-test-adls, integration-test-gcs] diff --git a/Makefile b/Makefile index ac213d8475..fd8a6a797e 100644 --- a/Makefile +++ b/Makefile @@ -133,6 +133,9 @@ test-gcs: ## Run tests marked with @pytest.mark.gcs sh ./dev/run-gcs-server.sh $(TEST_RUNNER) pytest tests/ -m gcs $(PYTEST_ARGS) +test-benchmark: ## Run benchmarks marked with @pytest.mark.benchmark + $(TEST_RUNNER) pytest tests/ -m benchmark $(PYTEST_ARGS) + test-coverage: ## Run all tests with coverage and report $(MAKE) COVERAGE=1 test test-integration test-s3 test-adls test-gcs $(MAKE) coverage-report