From 7e984e8cadded0a4da54d3bb801d406a7aa1e116 Mon Sep 17 00:00:00 2001 From: Gene Hoffman Date: Sat, 8 Jan 2022 15:30:17 -0800 Subject: [PATCH 01/11] Build py 3.10 wheels --- .github/workflows/build-aarch64.yml | 19 +++------- .github/workflows/build-m1-wheel.yml | 52 +++++++++++++++++----------- .github/workflows/build.yml | 6 ++-- 3 files changed, 39 insertions(+), 38 deletions(-) diff --git a/.github/workflows/build-aarch64.yml b/.github/workflows/build-aarch64.yml index 638ebc7f..2cdddaad 100644 --- a/.github/workflows/build-aarch64.yml +++ b/.github/workflows/build-aarch64.yml @@ -14,7 +14,7 @@ jobs: steps: - name: Cancel previous runs on the same branch if: ${{ github.ref != 'refs/heads/master' }} - uses: styfle/cancel-workflow-action@0.7.0 + uses: styfle/cancel-workflow-action@0.9.1 with: access_token: ${{ github.token }} @@ -31,19 +31,7 @@ jobs: source venv/bin/activate python -m pip install --upgrade pip pip install wheel - pip install cibuildwheel==1.9.0 - - - name: Lint source with flake8 - run: | - source venv/bin/activate - pip install flake8 - flake8 tests setup.py - - - name: Lint source with mypy - run: | - source venv/bin/activate - pip install mypy - mypy --config-file mypi.ini setup.py tests + pip install cibuildwheel==2.3.1 - name: Build wheel and test run: | @@ -52,7 +40,8 @@ jobs: env: CIBW_BUILD_VERBOSITY_LINUX: 0 # build python 3.7 and 3.8 - CIBW_BUILD: cp37-* cp38-* cp39-* + CIBW_BUILD: cp37-* cp38-* cp39-* cp310-* + CIBW_SKIP: '*-musllinux_*' CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 # we need boost CIBW_BEFORE_ALL_LINUX: > diff --git a/.github/workflows/build-m1-wheel.yml b/.github/workflows/build-m1-wheel.yml index 60e2377b..1a549dba 100644 --- a/.github/workflows/build-m1-wheel.yml +++ b/.github/workflows/build-m1-wheel.yml @@ -23,32 +23,44 @@ jobs: - name: Ensure dependencies are present run: | - brew install gmp boost - - - name: Lint source with flake8 - run: | - arch -arm64 python -m pip install --upgrade pip - arch -arm64 pip install flake8 - arch -arm64 flake8 tests setup.py - - - name: Lint source with mypy - run: | - arch -arm64 pip install mypy - arch -arm64 mypy --config-file mypi.ini setup.py tests + arch -arm64 brew upgrade gmp boost + arch -arm64 brew upgrade python@3.9 + arch -arm64 brew upgrade python@3.10 - name: Build m1 wheels run: | export BUILD_VDF_CLIENT=N - arch -arm64 pip wheel -w dist --no-deps . - arch -arm64 delocate-wheel -v dist/*.whl - - - name: Test wheel + rm -rf venv + arch -arm64 /opt/homebrew/opt/python@3.9/libexec/bin/python -m venv venv + . venv/bin/activate + arch -arm64 /opt/homebrew/opt/python@3.9/libexec/bin/pip wheel -w dist --no-deps . + arch -arm64 delocate-wheel -v dist/*cp39*.whl + deactivate + rm -rf venv + arch -arm64 /opt/homebrew/opt/python@3.10/libexec/bin/python -m venv venv + . venv/bin/activate + arch -arm64 /opt/homebrew/opt/python@3.10/libexec/bin/pip wheel -w dist --no-deps . + arch -arm64 delocate-wheel -v dist/*cp310*.whl + deactivate + rm -rf venv + + - name: Test wheels run: | - arch -arm64 python3 -m venv venv - . ./venv/bin/activate - arch -arm64 pip install ./dist/*.whl + rm -rf venv + arch -arm64 /opt/homebrew/opt/python@3.9/libexec/bin/python -m venv venv + . venv/bin/activate + arch -arm64 pip install ./dist/*cp39*.whl + arch -arm64 pip install pytest + arch -arm64 ./venv/bin/pytest -v ./python-bindings/test.py + deactivate + rm -rf venv + arch -arm64 /opt/homebrew/opt/python@3.10/libexec/bin/python -m venv venv + . venv/bin/activate + arch -arm64 pip install ./dist/*cp310*.whl arch -arm64 pip install pytest - arch -arm64 ./venv/bin/pytest -v ./tests + arch -arm64 ./venv/bin/pytest -v ./python-bindings/test.py + deactivate + rm -rf venv - name: Create sha256 hash run: | diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fc3c3bbb..c7767ea8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,7 +14,7 @@ jobs: steps: - name: Cancel previous runs on the same branch if: ${{ github.ref != 'refs/heads/master' }} - uses: styfle/cancel-workflow-action@0.7.0 + uses: styfle/cancel-workflow-action@0.9.1 with: access_token: ${{ github.token }} @@ -54,8 +54,8 @@ jobs: CIBW_BUILD_VERBOSITY_LINUX: 0 CIBW_BUILD_VERBOSITY_WINDOWS: 0 # build python 3.7 and 3.8 - CIBW_BUILD: cp37-* cp38-* cp39-* - CIBW_SKIP: '*-manylinux_i686 *-win32' + CIBW_BUILD: cp37-* cp38-* cp39-* cp310-* + CIBW_SKIP: '*-manylinux_i686 *-win32 *-musllinux_*' # we need boost CIBW_MANYLINUX_X86_64_IMAGE: manylinux2010 CIBW_ENVIRONMENT_LINUX: "PATH=/project/cmake-3.17.3-Linux-`uname -m`/bin:$PATH BUILD_VDF_CLIENT=N" From 6017848378409c24054f554b428a62f5e006dd0c Mon Sep 17 00:00:00 2001 From: Gene Hoffman Date: Sat, 8 Jan 2022 15:33:23 -0800 Subject: [PATCH 02/11] Correct test directory --- .github/workflows/build-m1-wheel.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-m1-wheel.yml b/.github/workflows/build-m1-wheel.yml index 1a549dba..3a8c63e9 100644 --- a/.github/workflows/build-m1-wheel.yml +++ b/.github/workflows/build-m1-wheel.yml @@ -51,14 +51,14 @@ jobs: . venv/bin/activate arch -arm64 pip install ./dist/*cp39*.whl arch -arm64 pip install pytest - arch -arm64 ./venv/bin/pytest -v ./python-bindings/test.py + arch -arm64 ./venv/bin/pytest -v ./tests deactivate rm -rf venv arch -arm64 /opt/homebrew/opt/python@3.10/libexec/bin/python -m venv venv . venv/bin/activate arch -arm64 pip install ./dist/*cp310*.whl arch -arm64 pip install pytest - arch -arm64 ./venv/bin/pytest -v ./python-bindings/test.py + arch -arm64 ./venv/bin/pytest -v ./tests deactivate rm -rf venv From 68074da3361e7afa05fdd5af3a1cf6844445065c Mon Sep 17 00:00:00 2001 From: Gene Hoffman Date: Sat, 8 Jan 2022 15:38:40 -0800 Subject: [PATCH 03/11] use brew install instead --- .github/workflows/build-m1-wheel.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-m1-wheel.yml b/.github/workflows/build-m1-wheel.yml index 3a8c63e9..6ac95ddd 100644 --- a/.github/workflows/build-m1-wheel.yml +++ b/.github/workflows/build-m1-wheel.yml @@ -23,9 +23,9 @@ jobs: - name: Ensure dependencies are present run: | - arch -arm64 brew upgrade gmp boost - arch -arm64 brew upgrade python@3.9 - arch -arm64 brew upgrade python@3.10 + arch -arm64 brew install gmp boost + arch -arm64 brew install python@3.9 + arch -arm64 brew install python@3.10 - name: Build m1 wheels run: | From 88f23894edd943ad37c11ae3fa6798659250111a Mon Sep 17 00:00:00 2001 From: Gene Hoffman Date: Sat, 8 Jan 2022 15:46:17 -0800 Subject: [PATCH 04/11] pip install delocate-wheel --- .github/workflows/build-m1-wheel.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-m1-wheel.yml b/.github/workflows/build-m1-wheel.yml index 6ac95ddd..927d3b7f 100644 --- a/.github/workflows/build-m1-wheel.yml +++ b/.github/workflows/build-m1-wheel.yml @@ -34,12 +34,14 @@ jobs: arch -arm64 /opt/homebrew/opt/python@3.9/libexec/bin/python -m venv venv . venv/bin/activate arch -arm64 /opt/homebrew/opt/python@3.9/libexec/bin/pip wheel -w dist --no-deps . + arch -arm64 pip install delocate-wheel arch -arm64 delocate-wheel -v dist/*cp39*.whl deactivate rm -rf venv arch -arm64 /opt/homebrew/opt/python@3.10/libexec/bin/python -m venv venv . venv/bin/activate arch -arm64 /opt/homebrew/opt/python@3.10/libexec/bin/pip wheel -w dist --no-deps . + arch -arm64 pip install delocate-wheel arch -arm64 delocate-wheel -v dist/*cp310*.whl deactivate rm -rf venv From f98ecc4bc39563d31ad260454b278697efaa291e Mon Sep 17 00:00:00 2001 From: Gene Hoffman Date: Sat, 8 Jan 2022 15:51:01 -0800 Subject: [PATCH 05/11] $(brew --prefix python@3.9) --- .github/workflows/build-m1-wheel.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-m1-wheel.yml b/.github/workflows/build-m1-wheel.yml index 927d3b7f..b8b881eb 100644 --- a/.github/workflows/build-m1-wheel.yml +++ b/.github/workflows/build-m1-wheel.yml @@ -31,16 +31,16 @@ jobs: run: | export BUILD_VDF_CLIENT=N rm -rf venv - arch -arm64 /opt/homebrew/opt/python@3.9/libexec/bin/python -m venv venv + arch -arm64 $(brew --prefix python@3.9)/libexec/bin/python -m venv venv . venv/bin/activate - arch -arm64 /opt/homebrew/opt/python@3.9/libexec/bin/pip wheel -w dist --no-deps . + arch -arm64 $(brew --prefix python@3.9)/libexec/bin/pip wheel -w dist --no-deps . arch -arm64 pip install delocate-wheel arch -arm64 delocate-wheel -v dist/*cp39*.whl deactivate rm -rf venv - arch -arm64 /opt/homebrew/opt/python@3.10/libexec/bin/python -m venv venv + arch -arm64 $(brew --prefix python@3.10)/libexec/bin/python -m venv venv . venv/bin/activate - arch -arm64 /opt/homebrew/opt/python@3.10/libexec/bin/pip wheel -w dist --no-deps . + arch -arm64 $(brew --prefix python@3.10)/libexec/bin/pip wheel -w dist --no-deps . arch -arm64 pip install delocate-wheel arch -arm64 delocate-wheel -v dist/*cp310*.whl deactivate @@ -49,14 +49,14 @@ jobs: - name: Test wheels run: | rm -rf venv - arch -arm64 /opt/homebrew/opt/python@3.9/libexec/bin/python -m venv venv + arch -arm64 $(brew --prefix python@3.9)/libexec/bin/python -m venv venv . venv/bin/activate arch -arm64 pip install ./dist/*cp39*.whl arch -arm64 pip install pytest arch -arm64 ./venv/bin/pytest -v ./tests deactivate rm -rf venv - arch -arm64 /opt/homebrew/opt/python@3.10/libexec/bin/python -m venv venv + arch -arm64 $(brew --prefix python@3.10)/libexec/bin/python -m venv venv . venv/bin/activate arch -arm64 pip install ./dist/*cp310*.whl arch -arm64 pip install pytest From 5d52a673341e83b14fa64b086b653fbc72913520 Mon Sep 17 00:00:00 2001 From: Gene Hoffman Date: Sat, 8 Jan 2022 15:52:08 -0800 Subject: [PATCH 06/11] shorten path --- .github/workflows/build-m1-wheel.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-m1-wheel.yml b/.github/workflows/build-m1-wheel.yml index b8b881eb..6690ce5b 100644 --- a/.github/workflows/build-m1-wheel.yml +++ b/.github/workflows/build-m1-wheel.yml @@ -31,16 +31,16 @@ jobs: run: | export BUILD_VDF_CLIENT=N rm -rf venv - arch -arm64 $(brew --prefix python@3.9)/libexec/bin/python -m venv venv + arch -arm64 $(brew --prefix python@3.9)/python -m venv venv . venv/bin/activate - arch -arm64 $(brew --prefix python@3.9)/libexec/bin/pip wheel -w dist --no-deps . + arch -arm64 $(brew --prefix python@3.9)/pip wheel -w dist --no-deps . arch -arm64 pip install delocate-wheel arch -arm64 delocate-wheel -v dist/*cp39*.whl deactivate rm -rf venv - arch -arm64 $(brew --prefix python@3.10)/libexec/bin/python -m venv venv + arch -arm64 $(brew --prefix python@3.10)/python -m venv venv . venv/bin/activate - arch -arm64 $(brew --prefix python@3.10)/libexec/bin/pip wheel -w dist --no-deps . + arch -arm64 $(brew --prefix python@3.10)/pip wheel -w dist --no-deps . arch -arm64 pip install delocate-wheel arch -arm64 delocate-wheel -v dist/*cp310*.whl deactivate @@ -49,14 +49,14 @@ jobs: - name: Test wheels run: | rm -rf venv - arch -arm64 $(brew --prefix python@3.9)/libexec/bin/python -m venv venv + arch -arm64 $(brew --prefix python@3.9)/python -m venv venv . venv/bin/activate arch -arm64 pip install ./dist/*cp39*.whl arch -arm64 pip install pytest arch -arm64 ./venv/bin/pytest -v ./tests deactivate rm -rf venv - arch -arm64 $(brew --prefix python@3.10)/libexec/bin/python -m venv venv + arch -arm64 $(brew --prefix python@3.10)/python -m venv venv . venv/bin/activate arch -arm64 pip install ./dist/*cp310*.whl arch -arm64 pip install pytest From 10e3d106fe53fe02e0a70fef501e792a2a23278f Mon Sep 17 00:00:00 2001 From: Gene Hoffman Date: Sat, 8 Jan 2022 15:57:21 -0800 Subject: [PATCH 07/11] path to python already complete --- .github/workflows/build-m1-wheel.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-m1-wheel.yml b/.github/workflows/build-m1-wheel.yml index 6690ce5b..d9a5bd05 100644 --- a/.github/workflows/build-m1-wheel.yml +++ b/.github/workflows/build-m1-wheel.yml @@ -31,16 +31,16 @@ jobs: run: | export BUILD_VDF_CLIENT=N rm -rf venv - arch -arm64 $(brew --prefix python@3.9)/python -m venv venv + arch -arm64 $(brew --prefix python@3.9) -m venv venv . venv/bin/activate - arch -arm64 $(brew --prefix python@3.9)/pip wheel -w dist --no-deps . + arch -arm64 pip wheel -w dist --no-deps . arch -arm64 pip install delocate-wheel arch -arm64 delocate-wheel -v dist/*cp39*.whl deactivate rm -rf venv - arch -arm64 $(brew --prefix python@3.10)/python -m venv venv + arch -arm64 $(brew --prefix python@3.10) -m venv venv . venv/bin/activate - arch -arm64 $(brew --prefix python@3.10)/pip wheel -w dist --no-deps . + arch -arm64 pip wheel -w dist --no-deps . arch -arm64 pip install delocate-wheel arch -arm64 delocate-wheel -v dist/*cp310*.whl deactivate @@ -49,14 +49,14 @@ jobs: - name: Test wheels run: | rm -rf venv - arch -arm64 $(brew --prefix python@3.9)/python -m venv venv + arch -arm64 $(brew --prefix python@3.9) -m venv venv . venv/bin/activate arch -arm64 pip install ./dist/*cp39*.whl arch -arm64 pip install pytest arch -arm64 ./venv/bin/pytest -v ./tests deactivate rm -rf venv - arch -arm64 $(brew --prefix python@3.10)/python -m venv venv + arch -arm64 $(brew --prefix python@3.10) -m venv venv . venv/bin/activate arch -arm64 pip install ./dist/*cp310*.whl arch -arm64 pip install pytest From 6c3e1a6c2b8aa9826a89b4910824613f08d4a5c1 Mon Sep 17 00:00:00 2001 From: Gene Hoffman Date: Sat, 8 Jan 2022 16:01:52 -0800 Subject: [PATCH 08/11] someday the path will be correct... --- .github/workflows/build-m1-wheel.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-m1-wheel.yml b/.github/workflows/build-m1-wheel.yml index d9a5bd05..e6edbc60 100644 --- a/.github/workflows/build-m1-wheel.yml +++ b/.github/workflows/build-m1-wheel.yml @@ -31,14 +31,14 @@ jobs: run: | export BUILD_VDF_CLIENT=N rm -rf venv - arch -arm64 $(brew --prefix python@3.9) -m venv venv + arch -arm64 $(brew --prefix python@3.9)/libexec/bin/python -m venv venv . venv/bin/activate arch -arm64 pip wheel -w dist --no-deps . arch -arm64 pip install delocate-wheel arch -arm64 delocate-wheel -v dist/*cp39*.whl deactivate rm -rf venv - arch -arm64 $(brew --prefix python@3.10) -m venv venv + arch -arm64 $(brew --prefix python@3.10)/libexec/bin/python -m venv venv . venv/bin/activate arch -arm64 pip wheel -w dist --no-deps . arch -arm64 pip install delocate-wheel @@ -49,14 +49,14 @@ jobs: - name: Test wheels run: | rm -rf venv - arch -arm64 $(brew --prefix python@3.9) -m venv venv + arch -arm64 $(brew --prefix python@3.9)/libexec/bin/python -m venv venv . venv/bin/activate arch -arm64 pip install ./dist/*cp39*.whl arch -arm64 pip install pytest arch -arm64 ./venv/bin/pytest -v ./tests deactivate rm -rf venv - arch -arm64 $(brew --prefix python@3.10) -m venv venv + arch -arm64 $(brew --prefix python@3.10)/libexec/bin/python -m venv venv . venv/bin/activate arch -arm64 pip install ./dist/*cp310*.whl arch -arm64 pip install pytest From 17e00806f4568b9cb3c7aaf5a6e9380309e8c533 Mon Sep 17 00:00:00 2001 From: Gene Hoffman Date: Sat, 8 Jan 2022 16:04:42 -0800 Subject: [PATCH 09/11] correct delocate --- .github/workflows/build-m1-wheel.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-m1-wheel.yml b/.github/workflows/build-m1-wheel.yml index e6edbc60..8532343d 100644 --- a/.github/workflows/build-m1-wheel.yml +++ b/.github/workflows/build-m1-wheel.yml @@ -34,14 +34,14 @@ jobs: arch -arm64 $(brew --prefix python@3.9)/libexec/bin/python -m venv venv . venv/bin/activate arch -arm64 pip wheel -w dist --no-deps . - arch -arm64 pip install delocate-wheel + arch -arm64 pip install delocate arch -arm64 delocate-wheel -v dist/*cp39*.whl deactivate rm -rf venv arch -arm64 $(brew --prefix python@3.10)/libexec/bin/python -m venv venv . venv/bin/activate arch -arm64 pip wheel -w dist --no-deps . - arch -arm64 pip install delocate-wheel + arch -arm64 pip install delocate arch -arm64 delocate-wheel -v dist/*cp310*.whl deactivate rm -rf venv From 3ac2b3e3cbe20773cd43bda12ecb4bce4bc95b5a Mon Sep 17 00:00:00 2001 From: Gene Hoffman Date: Sat, 8 Jan 2022 16:15:08 -0800 Subject: [PATCH 10/11] missed a cibuildwheel update --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c7767ea8..439977aa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -46,7 +46,7 @@ jobs: python -m build --sdist --outdir dist . - name: Build ${{ matrix.os }} wheels and test - uses: joerick/cibuildwheel@v1.10.0 + uses: joerick/cibuildwheel@v2.3.1 with: output-dir: dist env: From f2bdc0c9ed3097ac121785d289030869e2cf51b1 Mon Sep 17 00:00:00 2001 From: Gene Hoffman Date: Sat, 8 Jan 2022 16:41:09 -0800 Subject: [PATCH 11/11] order shouldn't matter... --- .github/workflows/build.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 439977aa..5194ba8a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,11 +60,13 @@ jobs: CIBW_MANYLINUX_X86_64_IMAGE: manylinux2010 CIBW_ENVIRONMENT_LINUX: "PATH=/project/cmake-3.17.3-Linux-`uname -m`/bin:$PATH BUILD_VDF_CLIENT=N" CIBW_BEFORE_ALL_LINUX: > - curl -L https://github.com/Kitware/CMake/releases/download/v3.17.3/cmake-3.17.3-Linux-`uname -m`.sh > cmake.sh + yum -y install epel-release + && echo "epel-relesase installed" + && yum -y install boost-devel lzip + && echo "boost-devel and lzip installed" + && curl -L https://github.com/Kitware/CMake/releases/download/v3.17.3/cmake-3.17.3-Linux-`uname -m`.sh > cmake.sh && yes | sh cmake.sh | cat && rm -f /usr/bin/cmake - && yum -y install epel-release - && yum -y install boost-devel lzip && curl -L https://gmplib.org/download/gmp/gmp-6.2.1.tar.lz | tar x --lzip && cp src/lib/gmp-patch-6.2.1/longlong.h gmp-6.2.1/ && cp src/lib/gmp-patch-6.2.1/compat.c gmp-6.2.1/