Skip to content

deps: update azure-mgmt-containerservice requirement from <32,>=31.0 to >=31.0,<42 #20

deps: update azure-mgmt-containerservice requirement from <32,>=31.0 to >=31.0,<42

deps: update azure-mgmt-containerservice requirement from <32,>=31.0 to >=31.0,<42 #20

name: dependency-sanity
on:
pull_request:
permissions:
contents: read
pull-requests: read
jobs:
dependency-sanity:
if: github.event.pull_request.user.login == 'dependabot[bot]'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .[dev]
- name: Detect dependency families touched in pyproject
id: deps
run: |
set -eu
git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.sha }}" > /tmp/changed-files.txt
if ! grep -qx "pyproject.toml" /tmp/changed-files.txt; then
echo "pyproject_changed=false" >> "$GITHUB_OUTPUT"
exit 0
fi
echo "pyproject_changed=true" >> "$GITHUB_OUTPUT"
git diff "${{ github.event.pull_request.base.sha }}" "${{ github.sha }}" -- pyproject.toml > /tmp/pyproject.diff
cat /tmp/pyproject.diff
mark_if_present() {
local output_name="$1"
local pattern="$2"
if grep -Eq "$pattern" /tmp/pyproject.diff; then
echo "${output_name}=true" >> "$GITHUB_OUTPUT"
fi
}
mark_if_present resource 'azure-mgmt-resource|azure-identity'
mark_if_present network 'azure-mgmt-network'
mark_if_present keyvault 'azure-mgmt-keyvault|azure-keyvault-secrets'
mark_if_present storage 'azure-mgmt-storage'
mark_if_present web 'azure-mgmt-web'
mark_if_present compute 'azure-mgmt-compute'
mark_if_present authorization 'azure-mgmt-authorization'
mark_if_present apimgmt 'azure-mgmt-apimanagement'
mark_if_present acr 'azure-mgmt-containerregistry'
mark_if_present aks 'azure-mgmt-containerservice'
mark_if_present databases 'azure-mgmt-sql|azure-mgmt-postgresqlflexibleservers|azure-mgmt-mysqlflexibleservers'
mark_if_present automation 'azure-mgmt-automation'
mark_if_present devonly 'pytest|pytest-cov|ruff|mypy|build'
- name: Note when dependency sanity is not needed
if: steps.deps.outputs.pyproject_changed != 'true'
run: echo "No pyproject.toml dependency change detected."
- name: Resource sanity
if: steps.deps.outputs.resource == 'true'
run: |
pytest tests/test_collectors.py -k "collect_inventory or collect_arm_deployments or collect_dns"
pytest tests/test_terminal_ux.py -k "arm_deployments or dns"
- name: Network sanity
if: steps.deps.outputs.network == 'true'
run: |
pytest tests/test_collectors.py -k "collect_dns or collect_nics or collect_endpoints or collect_network_ports"
pytest tests/test_terminal_ux.py -k "dns or nics or endpoints or network_ports"
- name: Key Vault sanity
if: steps.deps.outputs.keyvault == 'true'
run: |
pytest tests/test_collectors.py -k "collect_keyvault or collect_tokens_credentials"
pytest tests/test_terminal_ux.py -k "keyvault or keyvault_note"
pytest tests/test_cli_smoke.py -k "credential_path"
pytest tests/test_visibility_tiers.py
pytest tests/test_credential_path_registry.py
- name: Storage sanity
if: steps.deps.outputs.storage == 'true'
run: |
pytest tests/test_collectors.py -k "collect_storage or collect_resource_trusts"
pytest tests/test_terminal_ux.py -k "storage"
- name: Web sanity
if: steps.deps.outputs.web == 'true'
run: |
pytest tests/test_collectors.py -k "collect_app_services or collect_functions or collect_workloads"
pytest tests/test_terminal_ux.py -k "app_services or functions or workloads"
pytest tests/test_cli_smoke.py -k "credential_path"
- name: Compute sanity
if: steps.deps.outputs.compute == 'true'
run: |
pytest tests/test_collectors.py -k "collect_vms or collect_vmss or collect_snapshots_disks"
pytest tests/test_terminal_ux.py -k "vms or vmss or snapshots_disks"
- name: Authorization sanity
if: steps.deps.outputs.authorization == 'true'
run: |
pytest tests/test_collectors.py -k "collect_privesc or collect_managed_identities"
pytest tests/test_terminal_ux.py -k "privesc or managed_identities"
pytest tests/test_visibility_tiers.py -k "managed_identities"
- name: API Management sanity
if: steps.deps.outputs.apimgmt == 'true'
run: |
pytest tests/test_collectors.py -k "collect_api_mgmt"
pytest tests/test_terminal_ux.py -k "api_mgmt"
- name: ACR sanity
if: steps.deps.outputs.acr == 'true'
run: |
pytest tests/test_collectors.py -k "collect_acr"
pytest tests/test_terminal_ux.py -k "acr"
- name: AKS sanity
if: steps.deps.outputs.aks == 'true'
run: |
pytest tests/test_collectors.py -k "collect_aks"
pytest tests/test_terminal_ux.py -k "aks"
- name: Database sanity
if: steps.deps.outputs.databases == 'true'
run: |
pytest tests/test_collectors.py -k "collect_databases"
pytest tests/test_terminal_ux.py -k "databases"
- name: Automation sanity
if: steps.deps.outputs.automation == 'true'
run: |
pytest tests/test_collectors.py -k "collect_automation"
pytest tests/test_terminal_ux.py -k "automation"
- name: Note dev-only dependency changes
if: steps.deps.outputs.devonly == 'true'
run: echo "Dev-only dependency bump detected; baseline CI remains the merge gate."