Skip to content

chore(deps): update requests requirement from >=2.33.0 to >=2.33.1 in /plugins/examples/nemocheck #182

chore(deps): update requests requirement from >=2.33.0 to >=2.33.1 in /plugins/examples/nemocheck

chore(deps): update requests requirement from >=2.33.0 to >=2.33.1 in /plugins/examples/nemocheck #182

Workflow file for this run

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