fix(specs): Fix/sstore static fails #6554
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 Specification | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - mainnet | |
| - "forks/**" | |
| paths-ignore: | |
| - "**.md" | |
| - "LICENSE*" | |
| - ".gitignore" | |
| - ".vscode/**" | |
| - "whitelist.txt" | |
| - "docs/**" | |
| - "mkdocs.yml" | |
| workflow_dispatch: | |
| pull_request: | |
| paths-ignore: | |
| - "**.md" | |
| - "LICENSE*" | |
| - ".gitignore" | |
| - ".vscode/**" | |
| - "whitelist.txt" | |
| - "docs/**" | |
| - "mkdocs.yml" | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref || github.run_id }} | |
| cancel-in-progress: ${{ github.ref_name != github.event.repository.default_branch }} | |
| jobs: | |
| static: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| submodules: recursive | |
| - name: Ensure SHA pinned actions | |
| uses: zgosalvez/github-actions-ensure-sha-pinned-actions@70c4af2ed5282c51ba40566d026d6647852ffa3e # v5.0.1 | |
| - uses: ./.github/actions/setup-uv | |
| - name: Install build dependencies | |
| shell: bash | |
| run: sudo DEBIAN_FRONTEND=noninteractive apt-get install --yes --force-yes build-essential pkg-config | |
| - name: Detect Python version | |
| id: python | |
| shell: bash | |
| run: echo "version=$(python3 -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')" >> "$GITHUB_OUTPUT" | |
| - name: Restore mypy cache | |
| uses: actions/cache/restore@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 | |
| with: | |
| path: .mypy_cache | |
| key: mypy-${{ runner.os }}-py${{ steps.python.outputs.version }}-${{ hashFiles('uv.lock') }}-${{ github.sha }} | |
| restore-keys: | | |
| mypy-${{ runner.os }}-py${{ steps.python.outputs.version }}-${{ hashFiles('uv.lock') }}- | |
| mypy-${{ runner.os }}-py${{ steps.python.outputs.version }}- | |
| - name: Run static checks | |
| run: tox -e static | |
| - name: Save mypy cache | |
| if: always() | |
| uses: actions/cache/save@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 | |
| with: | |
| path: .mypy_cache | |
| key: mypy-${{ runner.os }}-py${{ steps.python.outputs.version }}-${{ hashFiles('uv.lock') }}-${{ github.sha }} | |
| - name: Validate workflow config variables | |
| run: | | |
| cat >> .github/actionlint.yaml << 'EOF' | |
| # CI-only: validate vars.* references | |
| config-variables: | |
| - DEFAULT_PYTHON_VERSION | |
| - UV_VERSION | |
| EOF | |
| uvx --from actionlint-py actionlint | |
| py3: | |
| name: py3 (${{ matrix.label }}) | |
| runs-on: [self-hosted-ghr, size-xl-x64] | |
| needs: static | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - label: pre-cancun | |
| from_fork: Frontier | |
| until_fork: Shanghai | |
| - label: cancun | |
| from_fork: Cancun | |
| until_fork: Cancun | |
| - label: prague | |
| from_fork: Prague | |
| until_fork: Prague | |
| - label: osaka | |
| from_fork: Osaka | |
| until_fork: Osaka | |
| - label: amsterdam | |
| from_fork: Amsterdam | |
| until_fork: Amsterdam | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| submodules: recursive | |
| - uses: ./.github/actions/setup-uv | |
| with: | |
| python-version: "3.14" | |
| - uses: ./.github/actions/setup-env | |
| - name: Run py3 tests (${{ matrix.label }}) | |
| run: tox -e py3 -- --from ${{ matrix.from_fork }} --until ${{ matrix.until_fork }} | |
| env: | |
| PYTEST_XDIST_AUTO_NUM_WORKERS: auto | |
| - name: Upload coverage reports to Codecov | |
| uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2 | |
| with: | |
| files: .tox/coverage.xml | |
| flags: unittests | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| pypy3: | |
| runs-on: [self-hosted-ghr, size-xl-x64] | |
| needs: static | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| submodules: recursive | |
| - uses: ./.github/actions/setup-uv | |
| with: | |
| python-version: "pypy3.11" | |
| - uses: ./.github/actions/setup-env | |
| - name: Run pypy3 tests | |
| run: tox -e pypy3 | |
| env: | |
| PYPY_GC_MAX: "2G" | |
| PYPY_GC_MIN: "1G" | |
| json_loader: | |
| runs-on: [self-hosted-ghr, size-xl-x64] | |
| needs: static | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| submodules: recursive | |
| - uses: ./.github/actions/setup-uv | |
| - uses: ./.github/actions/setup-env | |
| - name: Fill and run json_loader tests | |
| run: tox -e json_loader | |
| env: | |
| PYTEST_XDIST_AUTO_NUM_WORKERS: auto | |
| tests_pytest_py3: | |
| runs-on: [self-hosted-ghr, size-xl-x64] | |
| needs: static | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| submodules: recursive | |
| - uses: ./.github/actions/setup-uv | |
| - uses: ./.github/actions/setup-env | |
| - uses: ./.github/actions/build-evmone | |
| - name: Run py3 tests | |
| run: tox -e tests_pytest_py3 | |
| env: | |
| PYTEST_XDIST_AUTO_NUM_WORKERS: auto | |
| tests_pytest_pypy3: | |
| runs-on: [self-hosted-ghr, size-xl-x64] | |
| needs: static | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| submodules: recursive | |
| - uses: ./.github/actions/setup-uv | |
| with: | |
| python-version: "pypy3.11" | |
| - uses: ./.github/actions/setup-env | |
| - uses: ./.github/actions/build-evmone | |
| - name: Run pypy3 tests | |
| run: tox -e tests_pytest_pypy3 | |
| env: | |
| PYPY_GC_MAX: "2G" | |
| PYPY_GC_MIN: "1G" |