Python: block cloud metadata endpoints and IPv6-embedded IPv4 in server_url_validator #6426
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: Python Test Coverage | |
| on: | |
| pull_request: | |
| branches: ["main", "feature*"] | |
| paths: | |
| - "python/semantic_kernel/**" | |
| - "python/tests/unit/**" | |
| env: | |
| # Configure a constant location for the uv cache | |
| UV_CACHE_DIR: /tmp/.uv-cache | |
| jobs: | |
| python-tests-coverage: | |
| runs-on: ubuntu-latest | |
| continue-on-error: false | |
| defaults: | |
| run: | |
| working-directory: python | |
| env: | |
| UV_PYTHON: "3.10" | |
| steps: | |
| - uses: actions/checkout@v5 | |
| # Save the PR number to a file since the workflow_run event | |
| # in the coverage report workflow does not have access to it | |
| - name: Save PR number | |
| run: | | |
| echo ${{ github.event.number }} > ./pr_number | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| version: "0.5.x" | |
| enable-cache: true | |
| cache-suffix: ${{ runner.os }}-${{ env.UV_PYTHON }} | |
| cache-dependency-glob: "**/uv.lock" | |
| - name: Install the project | |
| run: uv sync --all-extras --dev -U --prerelease=if-necessary-or-explicit | |
| - name: Test with pytest | |
| run: uv run --frozen pytest -q --junitxml=pytest.xml --cov=semantic_kernel --cov-report=term-missing:skip-covered --cov-report=xml:python-coverage.xml ./tests/unit --ignore=./tests/unit/processes/dapr_runtime | |
| - name: Upload coverage report | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| path: | | |
| python/python-coverage.xml | |
| python/pytest.xml | |
| python/pr_number | |
| overwrite: true | |
| retention-days: 1 | |
| if-no-files-found: error |