Skip to content
This repository was archived by the owner on Jun 8, 2025. It is now read-only.

Commit 3644e58

Browse files
committed
ci: Upgrade Python build config
Upgrade image for building wheels to manylinux_2_28_x86_64 and build ethash C library in the same container.
1 parent fe539a0 commit 3644e58

2 files changed

Lines changed: 23 additions & 18 deletions

File tree

circle.yml

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ jobs:
195195
docker:
196196
- image: ethereum/cpp-build-env:16-clang-11
197197
environment:
198-
- CMAKE_OPTIONS: -DETHASH_TESTING=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
198+
CMAKE_OPTIONS: -DETHASH_TESTING=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
199199
steps:
200200
- checkout
201201
- configure
@@ -207,11 +207,17 @@ jobs:
207207

208208
linux-release-python:
209209
docker:
210-
- image: quay.io/pypa/manylinux_2_24_x86_64
210+
- image: quay.io/pypa/manylinux_2_28_x86_64
211+
environment:
212+
CMAKE_OPTIONS: >
213+
-DETHASH_TESTING=OFF
214+
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
215+
-DCMAKE_INSTALL_PREFIX=~/project/dist
216+
-DCMAKE_INSTALL_LIBDIR=lib
211217
steps:
212218
- checkout
213-
- attach_workspace:
214-
at: ~/project/dist
219+
- configure
220+
- build
215221
- run:
216222
name: "Build wheels"
217223
command: scripts/ci/python_build_wheels.sh
@@ -223,7 +229,7 @@ jobs:
223229
- run:
224230
name: "Select Python"
225231
command: |
226-
echo 'export PATH=/opt/python/cp310-cp310/bin:$PATH' >> $BASH_ENV
232+
echo 'export PATH=/opt/python/cp311-cp311/bin:$PATH' >> $BASH_ENV
227233
source $BASH_ENV
228234
python --version
229235
pip --version
@@ -233,12 +239,6 @@ jobs:
233239
- store_artifacts:
234240
path: ~/project/dist
235241
destination: dist
236-
- run:
237-
name: "Install libffi"
238-
command: apt -q update && apt -qy install libffi-dev
239-
- run:
240-
name: "Install CMake"
241-
command: pip install cmake
242242
- run:
243243
name: "Build wheel with CMake build"
244244
command: ./setup.py bdist_wheel
@@ -321,9 +321,7 @@ workflows:
321321
- macos-xcode-tsan
322322
- macos-xcode-old
323323
- linux-release
324-
- linux-release-python:
325-
requires:
326-
- linux-release
324+
- linux-release-python
327325
- macos-release
328326
- cmake-min
329327
- wasi

scripts/ci/python_build_wheels.sh

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@
77

88
set -eo pipefail
99

10+
ACTIVATE_DIR=bin
11+
1012
if [ -n "$APPVEYOR" ]; then
11-
PYTHON_PATHS="/c/Python310-x64:/c/Python310-x64/Scripts /c/Python39-x64:/c/Python39-x64/Scripts /c/Python38-x64:/c/Python38-x64/Scripts /c/Python37-x64:/c/Python37-x64/Scripts"
13+
ACTIVATE_DIR=Scripts
14+
PYTHON_PATHS="/c/Python311-x64:/c/Python311-x64/Scripts /c/Python310-x64:/c/Python310-x64/Scripts /c/Python39-x64:/c/Python39-x64/Scripts /c/Python38-x64:/c/Python38-x64/Scripts"
1215
elif [ -n "$CIRCLECI" ]; then
1316
if [ "$OSTYPE" = "linux-gnu" ]; then
14-
PYTHON_PATHS="/opt/python/cp310-cp310/bin /opt/python/cp39-cp39/bin /opt/python/cp38-cp38/bin /opt/python/cp37-cp37m/bin /opt/python/cp36-cp36m/bin"
17+
PYTHON_PATHS="/opt/python/cp311-cp311/bin /opt/python/cp310-cp310/bin /opt/python/cp39-cp39/bin /opt/python/cp38-cp38/bin"
1518
else
1619
# The continuation of the script expects "python" executable name,
1720
# so make link python -> python3.
@@ -25,12 +28,16 @@ PATH_ORIG=$PATH
2528
for p in $PYTHON_PATHS
2629
do
2730
PATH="$p:$PATH_ORIG"
31+
python -m venv venv
32+
source venv/$ACTIVATE_DIR/activate
2833
echo '***'
2934
python --version
3035
which python
31-
python -m pip --version
36+
pip --version
3237
echo '***'
33-
python -m pip install wheel
38+
pip install --use-pep517 wheel
3439
python setup.py build_ext --skip-cmake-build
3540
python setup.py bdist_wheel --skip-build
41+
deactivate
42+
rm -rf venv
3643
done

0 commit comments

Comments
 (0)