@@ -22,6 +22,17 @@ concurrency:
2222 group : ${{ github.workflow }}-${{ github.ref }}
2323 cancel-in-progress : true
2424
25+ env :
26+ HASH_KEY : |
27+ pyproject.toml
28+ setup.py
29+ faster_web3/**/*.py
30+ faster_ens/**/*.py
31+ PIP_CACHE_DEPENDENCY_PATH : |
32+ pyproject.toml
33+ setup.py
34+ tox.ini
35+
2536jobs :
2637 build-ubuntu :
2738 name : Build wheel (ubuntu-latest, ${{ matrix.python-version }})
@@ -33,24 +44,23 @@ jobs:
3344 # limit parallelism for cronjob, otherwise blast it
3445 max-parallel : ${{ (github.event_name == 'schedule' || github.event_name == 'push') && 2 || 1000 }}
3546 outputs :
36- wheel-artifact-names : ${{ steps.set-artifact-name .outputs.artifact-name }}
47+ wheel-artifact-names : ${{ steps.wheel .outputs.artifact-name }}
3748 steps :
3849 - uses : actions/checkout@v5
3950 - name : Build wheel for Python${{ matrix.python-version }}
4051 id : wheel
4152 uses : BobTheBuidler/mypycify@master
4253 with :
4354 python-version : ${{ matrix.python-version }}
44- hash-key : |
45- pyproject.toml
46- setup.py
47- faster_web3/**/*.py
48- faster_ens/**/*.py
55+ hash-key : ${{ env.HASH_KEY }}
4956 ccache : true
50- pip-cache-dependency-path : |
51- pyproject.toml
52- setup.py
53- tox.ini
57+ pip-cache-dependency-path : ${{ env.PIP_CACHE_DEPENDENCY_PATH }}
58+ # Only enable commit/PR and normalization for Python 3.14 on Linux
59+ push-source : ${{ matrix.python-version == '3.14' && 'true' || 'false' }}
60+ commit-message : " ${{ matrix.python-version == '3.14' && 'chore: compile C files for source control' || '' }}"
61+ normalize-source : ${{ matrix.python-version == '3.14' && 'true' || 'false' }}
62+ trigger-pr-number : ${{ github.event.pull_request.number }}
63+ trigger-branch-name : ${{ github.head_ref || github.ref_name }}
5464 build-macos :
5565 name : Build wheel (macos-latest, ${{ matrix.python-version }})
5666 runs-on : macos-latest
@@ -61,24 +71,19 @@ jobs:
6171 # limit parallelism for cronjob, otherwise blast it
6272 max-parallel : ${{ (github.event_name == 'schedule' || github.event_name == 'push') && 2 || 1000 }}
6373 outputs :
64- wheel-artifact-names : ${{ steps.set-artifact-name .outputs.artifact-name }}
74+ wheel-artifact-names : ${{ steps.wheel .outputs.artifact-name }}
6575 steps :
6676 - uses : actions/checkout@v5
6777 - name : Build wheel for Python${{ matrix.python-version }}
6878 id : wheel
6979 uses : BobTheBuidler/mypycify@master
7080 with :
7181 python-version : ${{ matrix.python-version }}
72- hash-key : |
73- pyproject.toml
74- setup.py
75- faster_web3/**/*.py
76- faster_ens/**/*.py
82+ hash-key : ${{ env.HASH_KEY }}
7783 ccache : true
78- pip-cache-dependency-path : |
79- pyproject.toml
80- setup.py
81- tox.ini
84+ pip-cache-dependency-path : ${{ env.PIP_CACHE_DEPENDENCY_PATH }}
85+ trigger-pr-number : ${{ github.event.pull_request.number }}
86+ trigger-branch-name : ${{ github.head_ref || github.ref_name }}
8287 build-windows :
8388 name : Build wheel (windows-latest, ${{ matrix.python-version }})
8489 runs-on : windows-latest
@@ -89,25 +94,19 @@ jobs:
8994 # limit parallelism for cronjob, otherwise blast it
9095 max-parallel : ${{ (github.event_name == 'schedule' || github.event_name == 'push') && 2 || 1000 }}
9196 outputs :
92- wheel-artifact-names : ${{ steps.set-artifact-name .outputs.artifact-name }}
97+ wheel-artifact-names : ${{ steps.wheel .outputs.artifact-name }}
9398 steps :
9499 - uses : actions/checkout@v5
95100 - name : Build wheel for Python${{ matrix.python-version }}
96101 id : wheel
97102 uses : BobTheBuidler/mypycify@master
98103 with :
99104 python-version : ${{ matrix.python-version }}
100- hash-key : |
101- pyproject.toml
102- setup.py
103- faster_web3/**/*.py
104- faster_ens/**/*.py
105+ hash-key : ${{ env.HASH_KEY }}
105106 ccache : true
106- pip-cache-dependency-path : |
107- pyproject.toml
108- setup.py
109- tox.ini
110-
107+ pip-cache-dependency-path : ${{ env.PIP_CACHE_DEPENDENCY_PATH }}
108+ trigger-pr-number : ${{ github.event.pull_request.number }}
109+ trigger-branch-name : ${{ github.head_ref || github.ref_name }}
111110
112111 tox :
113112 needs : [build-ubuntu, build-macos, build-windows]
@@ -132,10 +131,7 @@ jobs:
132131 with :
133132 python-version : ${{ matrix.python-version }}
134133 cache : pip
135- cache-dependency-path : |
136- pyproject.toml
137- setup.py
138- tox.ini
134+ cache-dependency-path : ${{ env.PIP_CACHE_DEPENDENCY_PATH }}
139135
140136 - name : Install tox
141137 run : python -m pip install tox
@@ -155,12 +151,12 @@ jobs:
155151 key : ${{ runner.os }}-tox-${{ hashFiles('pyproject.toml', 'setup.py', 'tox.ini') }}-${{ matrix.python-version }}-${{ matrix.jobtype }}
156152 save-always : ${{ env.TOX_RECREATE_FLAG == '-r' }}
157153
154+ # Download the correct wheel artifact for this OS and Python version using only the pattern
158155 - name : Download wheel
159156 uses : actions/download-artifact@v6
160157 with :
161- name : ${{ needs.build.outputs.wheel-artifact-name }}
162158 path : .
163- pattern : BobTheBuidler_mypycified_wheel-${{ runner.os }}-py${{ matrix.python-version }}-
159+ pattern : BobTheBuidler_mypycified_wheel-${{ runner.os }}-py${{ matrix.python-version }}-*
164160
165161 - name : Run tox
166162 run : python -m tox run --installpkg=$(find . -name '*.whl') ${{ env.TOX_RECREATE_FLAG }}
0 commit comments