refactor(tck): convert contract.py aligned with new execute_validated… #13
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: Secondary PR Check - Dependency Compatibility | |
| on: | |
| push: | |
| paths: | |
| - "pyproject.toml" | |
| pull_request: | |
| paths: | |
| - "pyproject.toml" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| min-deps: | |
| runs-on: ${{ (github.repository_owner != 'hiero-ledger' || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork)) && 'ubuntu-latest' || 'hl-sdk-py-lin-md' }} | |
| 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@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1 | |
| with: | |
| egress-policy: audit | |
| - name: Checkout repository | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| fetch-depth: 0 # ensure full git history for SCM-based versioning | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: "pip" | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1 | |
| - name: Create virtual environment | |
| run: uv venv | |
| - name: Install minimum dependencies and tooling | |
| run: | | |
| # Minimum-deps compatibility check: use a non-editable install for stable packaging behavior. | |
| uv sync --all-extras --resolution=lowest-direct --no-editable | |
| - 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 --resolution=lowest-direct python generate_proto.py | |
| - name: Run unit tests (min deps) | |
| run: | | |
| uv run --resolution=lowest-direct pytest tests/unit -v |