forked from ethereum/execution-specs
-
Notifications
You must be signed in to change notification settings - Fork 0
177 lines (167 loc) · 5.65 KB
/
Copy pathtest.yaml
File metadata and controls
177 lines (167 loc) · 5.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
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: true
jobs:
static:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955
with:
submodules: recursive
- name: Ensure SHA pinned actions
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@6124774845927d14c601359ab8138699fa5b70c3 # v4.0.1
- name: Setup Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065
with:
python-version: "3.11"
- name: Install Tox and any other packages
shell: bash
run: |
sudo DEBIAN_FRONTEND=noninteractive apt-get install --yes --force-yes build-essential pkg-config
pip install 'tox>=4.11,<5' requests
- name: Run static checks
run: tox -e static
- name: Setup uv
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5.4.1
- 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:
runs-on: [self-hosted-ghr, size-xl-x64]
needs: static
steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065
with:
python-version: "3.11"
- uses: ./.github/actions/setup-env
- name: Run py3 tests
run: tox -e py3
env:
PYTEST_XDIST_AUTO_NUM_WORKERS: auto
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7
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@08eba0b27e820071cde6df949e0beb9ba4906955
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065
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_infra:
runs-on: [self-hosted-ghr, size-xl-x64]
needs: static
steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955
with:
submodules: recursive
fetch-depth: 0 # Fetch full history for commit comparison
- name: Setup Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065
with:
python-version: "3.11"
- uses: ./.github/actions/setup-env
- uses: ./.github/actions/get-changed-files
id: get-changed-files
- name: Run json infra tests
run: tox -e json_infra -- --file-list="${{ steps.get-changed-files.outputs.file_list }}"
optimized:
runs-on: [self-hosted-ghr, size-xl-x64]
needs: static
steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955
with:
submodules: recursive
fetch-depth: 0 # Fetch full history for commit comparison
- name: Setup Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065
with:
python-version: "3.11"
- uses: ./.github/actions/setup-env
- uses: ./.github/actions/get-changed-files
id: get-changed-files
- name: Run optimized tests
run: tox -e optimized -- --file-list="${{ steps.get-changed-files.outputs.file_list }}"
tests_pytest_py3:
runs-on: [self-hosted-ghr, size-xl-x64]
needs: static
steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065
with:
python-version: "3.11"
- 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@08eba0b27e820071cde6df949e0beb9ba4906955
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065
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"