Skip to content

chore: expand spam list #5

chore: expand spam list

chore: expand spam list #5

Workflow file for this run

name: Dependency Compatibility Check
on:
push:
paths:
- "pyproject.toml"
pull_request:
paths:
- "pyproject.toml"
workflow_dispatch:
permissions:
contents: read
jobs:
min-deps:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.14"]
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
with:
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install uv
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
- name: Create virtual environment
run: uv venv
- name: Install minimum dependencies and tooling
run: |
uv sync --all-extras --resolution=lowest-direct
- name: Show resolved core dependency versions
run: |
echo "Resolved core dependency versions:"
PATTERN='^(
protobuf|
grpcio|
cryptography|
requests|
pycryptodome|
eth-abi|
python-dotenv|
eth-keys|
rlp|
grpcio-tools|
ruff|
mypy|
typing-extensions|
pytest
)\s'
uv pip list | grep -E "$(echo "$PATTERN" | tr -d '\n ')"
- name: Generate Proto Files
run: |
uv run python generate_proto.py
- name: Run unit tests (min deps)
run: |
uv run pytest tests/unit -v