chore(deps): update requests requirement from >=2.33.0 to >=2.33.1 in /plugins/examples/nemocheck #182
Workflow file for this run
This file contains hidden or 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: CI | |
| on: | |
| # Triggers the workflow on push or pull request events but only for the "main" branch | |
| pull_request: | |
| branches: [ "main" ] | |
| # Least privilege permissions | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint-and-unit-tests: | |
| name: Lint & Unit Tests | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| strategy: | |
| matrix: | |
| python-version: ["3.11", "3.12"] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| # Sets up a specific version of Python | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install pre-commit uv | |
| uv sync | |
| - name: Run pre-commit hooks | |
| run: | | |
| echo "Running pre-commit hooks..." | |
| pre-commit run --all-files --verbose || { | |
| echo "❌ Pre-commit hooks failed!" | |
| echo "" | |
| echo "Files modified by hooks:" | |
| git diff --name-only | |
| echo "" | |
| echo "Detailed changes:" | |
| git diff --stat | |
| exit 1 | |
| } | |
| # Plugin tests | |
| - name: Install nemocheck plugin dependencies | |
| working-directory: ./plugins/examples/nemocheck | |
| run: | | |
| echo "Running nemocheck plugin tests.." | |
| uv sync --all-groups | |
| - name: Run nemocheck plugin tests | |
| working-directory: ./plugins/examples/nemocheck | |
| run: uv run pytest tests | |
| # Server unit tests (no proto generation needed — envoy modules are mocked) | |
| - name: Install server test dependencies | |
| run: uv sync --group dev | |
| - name: Run server unit tests | |
| run: | | |
| echo "Running server unit tests..." | |
| uv run pytest tests/ --ignore=tests/integration | |
| integration-tests: | |
| name: Integration Tests | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| needs: lint-and-unit-tests | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| - name: Set up Python 3.11 | |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 | |
| with: | |
| python-version: "3.11" | |
| - name: Install uv | |
| run: pip install uv | |
| # Cache compiled protobuf files across CI runs | |
| - name: Extract proto commit hash | |
| id: proto-hash | |
| run: | | |
| echo "hash=$(grep 'ENVOY_DATA_PLANE_COMMIT=' proto-build.sh | cut -d'"' -f2)" >> "$GITHUB_OUTPUT" | |
| - name: Cache protobuf files | |
| id: proto-cache | |
| uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 | |
| with: | |
| path: | | |
| src/envoy | |
| src/xds | |
| src/validate | |
| src/udpa | |
| key: protos-${{ steps.proto-hash.outputs.hash }} | |
| # Build generated protos (gitignored, needed for real envoy imports) | |
| - name: Build protobuf files | |
| if: steps.proto-cache.outputs.cache-hit != 'true' | |
| run: | | |
| uv sync --group proto | |
| USE_HTTPS=true ./proto-build.sh | |
| - name: Install test dependencies | |
| run: uv sync --group dev | |
| - name: Run integration tests | |
| env: | |
| PYTHONPATH: src | |
| run: | | |
| echo "Running integration tests..." | |
| uv run pytest tests/integration/ -v |