From 7755e6d59ce4763ea70b300dc4a17a4910bc550a Mon Sep 17 00:00:00 2001 From: Vincent Rouvreau Date: Wed, 9 Oct 2024 22:15:07 +0200 Subject: [PATCH 1/6] Build with 2024.10.01 images and test 3.13 for pip linux --- .circleci/config.yml | 30 +++++++++++------------ .github/workflows/pip-build-linux.yml | 28 ++++++++++----------- .github/workflows/pip-packaging-linux.yml | 21 +++++++++++++++- 3 files changed, 49 insertions(+), 30 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1dbd459a57..9bd2f4fc72 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,7 +5,7 @@ jobs: examples: docker: # cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_circleci_image - - image: gudhi/ci_for_gudhi:2024.09.01 + - image: gudhi/ci_for_gudhi:2024.10.01 steps: - checkout - run: @@ -24,7 +24,7 @@ jobs: tests: docker: - - image: gudhi/ci_for_gudhi:2024.09.01 + - image: gudhi/ci_for_gudhi:2024.10.01 steps: - checkout - run: @@ -43,7 +43,7 @@ jobs: debug_tests: docker: - - image: gudhi/ci_for_gudhi:2024.09.01 + - image: gudhi/ci_for_gudhi:2024.10.01 steps: - checkout - run: @@ -62,7 +62,7 @@ jobs: utils: docker: - - image: gudhi/ci_for_gudhi:2024.09.01 + - image: gudhi/ci_for_gudhi:2024.10.01 steps: - checkout - run: @@ -81,7 +81,7 @@ jobs: python: docker: - - image: gudhi/ci_for_gudhi:2024.09.01 + - image: gudhi/ci_for_gudhi:2024.10.01 resource_class: large # Delaunay complex requires about 5 Gb of RAM to compile steps: - checkout @@ -117,7 +117,7 @@ jobs: doxygen: docker: - - image: gudhi/doxygen_for_gudhi:2024.06.01 + - image: gudhi/doxygen_for_gudhi:2024.10.01 steps: - checkout - run: @@ -147,7 +147,7 @@ jobs: bibliography: docker: - - image: gudhi/doxygen_for_gudhi:2024.06.01 + - image: gudhi/doxygen_for_gudhi:2024.10.01 steps: - checkout - run: @@ -170,7 +170,7 @@ jobs: examples_without_cgal_eigen: docker: # cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_circleci_image_without_cgal - - image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01 + - image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01 steps: - checkout - run: @@ -189,7 +189,7 @@ jobs: tests_without_cgal_eigen: docker: - - image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01 + - image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01 steps: - checkout - run: @@ -208,7 +208,7 @@ jobs: utils_without_cgal_eigen: docker: - - image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01 + - image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01 steps: - checkout - run: @@ -227,7 +227,7 @@ jobs: python_without_cgal_eigen: docker: - - image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01 + - image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01 steps: - checkout - run: @@ -249,7 +249,7 @@ jobs: examples_without_cgal: docker: - - image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01 + - image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01 steps: - checkout - run: @@ -268,7 +268,7 @@ jobs: tests_without_cgal: docker: - - image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01 + - image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01 steps: - checkout - run: @@ -287,7 +287,7 @@ jobs: utils_without_cgal: docker: - - image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01 + - image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01 steps: - checkout - run: @@ -306,7 +306,7 @@ jobs: python_without_cgal: docker: - - image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01 + - image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01 steps: - checkout - run: diff --git a/.github/workflows/pip-build-linux.yml b/.github/workflows/pip-build-linux.yml index 628dd4b6b1..742bd660f0 100644 --- a/.github/workflows/pip-build-linux.yml +++ b/.github/workflows/pip-build-linux.yml @@ -11,31 +11,31 @@ jobs: name: build pip wheel runs-on: ubuntu-latest # cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_pip - container: gudhi/pip_for_gudhi:2024.06.02 + container: gudhi/pip_for_gudhi:2024.10.01 steps: # Should use actions/checkout@v4, but requires node20, not available for quay.io/pypa/manylinux2014_x86_64 - uses: actions/checkout@v3 with: submodules: true - - name: Build wheel for Python 3.9 + - name: Build wheel for Python 3.13 run: | - mkdir build_39 - cd build_39 + mkdir build_313 + cd build_313 cmake -DCMAKE_BUILD_TYPE=Release -DPython_EXECUTABLE=$PYTHON39/bin/python .. cd src/python - $PYTHON39/bin/python -m build -n -w + $PYTHON313/bin/python -m build -n -w auditwheel repair dist/*.whl # NumPy 2.X is installed and guarantees ABI compatibility, test it with the minimal numpy version for python version - - name: Install and test wheel for Python 3.9 + - name: Install and test wheel for Python 3.13 run: | - $PYTHON39/bin/python -m pip install --user pytest build_39/src/python/dist/*.whl - $PYTHON39/bin/python -m pip install numpy~=1.19.3 - $PYTHON39/bin/python -c "import gudhi; print(gudhi.__version__)" - $PYTHON39/bin/python -m pytest -v src/python/test/test_alpha_complex.py - $PYTHON39/bin/python -m pytest -v src/python/test/test_delaunay_complex.py - $PYTHON39/bin/python -m pytest -v src/python/test/test_bottleneck_distance.py - $PYTHON39/bin/python -m pytest -v src/python/test/test_cubical_complex.py - $PYTHON39/bin/python -m pytest -v src/python/test/test_rips_complex.py + $PYTHON313/bin/python -m pip install --user pytest build_313/src/python/dist/*.whl + $PYTHON313/bin/python -m pip install numpy~=2.1.2 + $PYTHON313/bin/python -c "import gudhi; print(gudhi.__version__)" + $PYTHON313/bin/python -m pytest -v src/python/test/test_alpha_complex.py + $PYTHON313/bin/python -m pytest -v src/python/test/test_delaunay_complex.py + $PYTHON313/bin/python -m pytest -v src/python/test/test_bottleneck_distance.py + $PYTHON313/bin/python -m pytest -v src/python/test/test_cubical_complex.py + $PYTHON313/bin/python -m pytest -v src/python/test/test_rips_complex.py - name: Upload linux python wheel # Should use actions/upload-artifact@v4, but requires node20, not available for quay.io/pypa/manylinux2014_x86_64 uses: actions/upload-artifact@v3 diff --git a/.github/workflows/pip-packaging-linux.yml b/.github/workflows/pip-packaging-linux.yml index f93d4fbf85..51c20d31a0 100644 --- a/.github/workflows/pip-packaging-linux.yml +++ b/.github/workflows/pip-packaging-linux.yml @@ -9,7 +9,7 @@ jobs: name: build pip wheel runs-on: ubuntu-latest # cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_pip - container: gudhi/pip_for_gudhi:2024.06.02 + container: gudhi/pip_for_gudhi:2024.10.01 steps: # Should use actions/checkout@v4, but requires node20, not available for quay.io/pypa/manylinux2014_x86_64 - uses: actions/checkout@v3 @@ -111,6 +111,24 @@ jobs: $PYTHON312/bin/python -m pytest -v src/python/test/test_bottleneck_distance.py $PYTHON312/bin/python -m pytest -v src/python/test/test_cubical_complex.py $PYTHON312/bin/python -m pytest -v src/python/test/test_rips_complex.py + - name: Build wheel for Python 3.13 + run: | + mkdir build_313 + cd build_313 + cmake -DCMAKE_BUILD_TYPE=Release -DPython_EXECUTABLE=$PYTHON313/bin/python .. + cd src/python + $PYTHON313/bin/python -m build -n -w + auditwheel repair dist/*.whl + - name: Install and test wheel for Python 3.13 + run: | + $PYTHON313/bin/python -m pip install --user pytest build_313/src/python/dist/*.whl + $PYTHON313/bin/python -m pip install numpy~=1.26.0 + $PYTHON313/bin/python -c "import gudhi; print(gudhi.__version__)" + $PYTHON313/bin/python -m pytest -v src/python/test/test_alpha_complex.py + $PYTHON313/bin/python -m pytest -v src/python/test/test_delaunay_complex.py + $PYTHON313/bin/python -m pytest -v src/python/test/test_bottleneck_distance.py + $PYTHON313/bin/python -m pytest -v src/python/test/test_cubical_complex.py + $PYTHON313/bin/python -m pytest -v src/python/test/test_rips_complex.py - name: Publish on PyPi env: TWINE_USERNAME: __token__ @@ -121,3 +139,4 @@ jobs: $PYTHON38/bin/python -m twine upload build_310/src/python/wheelhouse/*.whl $PYTHON38/bin/python -m twine upload build_311/src/python/wheelhouse/*.whl $PYTHON38/bin/python -m twine upload build_312/src/python/wheelhouse/*.whl + $PYTHON38/bin/python -m twine upload build_313/src/python/wheelhouse/*.whl From d23a1052c7dd138b2efaf0946ab2f0132a067e31 Mon Sep 17 00:00:00 2001 From: Vincent Rouvreau Date: Thu, 10 Oct 2024 08:41:01 +0200 Subject: [PATCH 2/6] requires docker to be updated with python 3.13 and its requirements --- .github/workflows/pip-build-linux.yml | 6 +++--- .github/workflows/pip-packaging-linux.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pip-build-linux.yml b/.github/workflows/pip-build-linux.yml index 742bd660f0..7026bbdcb0 100644 --- a/.github/workflows/pip-build-linux.yml +++ b/.github/workflows/pip-build-linux.yml @@ -11,7 +11,7 @@ jobs: name: build pip wheel runs-on: ubuntu-latest # cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_pip - container: gudhi/pip_for_gudhi:2024.10.01 + container: gudhi/pip_for_gudhi:2024.10.02 steps: # Should use actions/checkout@v4, but requires node20, not available for quay.io/pypa/manylinux2014_x86_64 - uses: actions/checkout@v3 @@ -21,7 +21,7 @@ jobs: run: | mkdir build_313 cd build_313 - cmake -DCMAKE_BUILD_TYPE=Release -DPython_EXECUTABLE=$PYTHON39/bin/python .. + cmake -DCMAKE_BUILD_TYPE=Release -DPython_EXECUTABLE=$PYTHON313/bin/python .. cd src/python $PYTHON313/bin/python -m build -n -w auditwheel repair dist/*.whl @@ -41,4 +41,4 @@ jobs: uses: actions/upload-artifact@v3 with: name: linux python wheel - path: build_39/src/python/wheelhouse/*.whl + path: build_313/src/python/wheelhouse/*.whl diff --git a/.github/workflows/pip-packaging-linux.yml b/.github/workflows/pip-packaging-linux.yml index 51c20d31a0..a649baa038 100644 --- a/.github/workflows/pip-packaging-linux.yml +++ b/.github/workflows/pip-packaging-linux.yml @@ -9,7 +9,7 @@ jobs: name: build pip wheel runs-on: ubuntu-latest # cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_pip - container: gudhi/pip_for_gudhi:2024.10.01 + container: gudhi/pip_for_gudhi:2024.10.02 steps: # Should use actions/checkout@v4, but requires node20, not available for quay.io/pypa/manylinux2014_x86_64 - uses: actions/checkout@v3 From e78aecfad61cf8884accde09106fcfb3977b0fd1 Mon Sep 17 00:00:00 2001 From: Vincent Rouvreau Date: Tue, 19 Nov 2024 10:36:03 +0100 Subject: [PATCH 3/6] Rollback pip build linux with python 3.9 --- .github/workflows/pip-build-linux.yml | 30 +++++++++++++-------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/pip-build-linux.yml b/.github/workflows/pip-build-linux.yml index 7026bbdcb0..f7c88d34de 100644 --- a/.github/workflows/pip-build-linux.yml +++ b/.github/workflows/pip-build-linux.yml @@ -17,28 +17,28 @@ jobs: - uses: actions/checkout@v3 with: submodules: true - - name: Build wheel for Python 3.13 + - name: Build wheel for Python 3.9 run: | - mkdir build_313 - cd build_313 - cmake -DCMAKE_BUILD_TYPE=Release -DPython_EXECUTABLE=$PYTHON313/bin/python .. + mkdir build_39 + cd build_39 + cmake -DCMAKE_BUILD_TYPE=Release -DPython_EXECUTABLE=$PYTHON39/bin/python .. cd src/python - $PYTHON313/bin/python -m build -n -w + $PYTHON39/bin/python -m build -n -w auditwheel repair dist/*.whl # NumPy 2.X is installed and guarantees ABI compatibility, test it with the minimal numpy version for python version - - name: Install and test wheel for Python 3.13 + - name: Install and test wheel for Python 3.9 run: | - $PYTHON313/bin/python -m pip install --user pytest build_313/src/python/dist/*.whl - $PYTHON313/bin/python -m pip install numpy~=2.1.2 - $PYTHON313/bin/python -c "import gudhi; print(gudhi.__version__)" - $PYTHON313/bin/python -m pytest -v src/python/test/test_alpha_complex.py - $PYTHON313/bin/python -m pytest -v src/python/test/test_delaunay_complex.py - $PYTHON313/bin/python -m pytest -v src/python/test/test_bottleneck_distance.py - $PYTHON313/bin/python -m pytest -v src/python/test/test_cubical_complex.py - $PYTHON313/bin/python -m pytest -v src/python/test/test_rips_complex.py + $PYTHON39/bin/python -m pip install --user pytest build_39/src/python/dist/*.whl + $PYTHON39/bin/python -m pip install numpy~=1.19.3 + $PYTHON39/bin/python -c "import gudhi; print(gudhi.__version__)" + $PYTHON39/bin/python -m pytest -v src/python/test/test_alpha_complex.py + $PYTHON39/bin/python -m pytest -v src/python/test/test_delaunay_complex.py + $PYTHON39/bin/python -m pytest -v src/python/test/test_bottleneck_distance.py + $PYTHON39/bin/python -m pytest -v src/python/test/test_cubical_complex.py + $PYTHON39/bin/python -m pytest -v src/python/test/test_rips_complex.py - name: Upload linux python wheel # Should use actions/upload-artifact@v4, but requires node20, not available for quay.io/pypa/manylinux2014_x86_64 uses: actions/upload-artifact@v3 with: name: linux python wheel - path: build_313/src/python/wheelhouse/*.whl + path: build_39/src/python/wheelhouse/*.whl From 82017d15cc536dfbffa161d980ad99e8439af03c Mon Sep 17 00:00:00 2001 From: Vincent Rouvreau Date: Tue, 19 Nov 2024 14:20:29 +0100 Subject: [PATCH 4/6] Try to downgrade macos version to check if it is not clang that is looping endlesslyon compilation --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 4896615006..f98183d090 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -4,7 +4,7 @@ jobs: timeoutInMinutes: 0 cancelTimeoutInMinutes: 60 pool: - vmImage: macOS-latest + vmImage: macOS-13 variables: pythonVersion: "3.9" cmakeBuildType: Release From 2218978cfcfc70ea30c421143e4407557a5f6afc Mon Sep 17 00:00:00 2001 From: Vincent Rouvreau <10407034+VincentRouvreau@users.noreply.github.com> Date: Wed, 20 Nov 2024 09:56:21 +0100 Subject: [PATCH 5/6] [skip ci] play with badges --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 40b64ae0b6..00959fd626 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,12 @@ -[![OSx and Win on Azure](https://dev.azure.com/GUDHI/gudhi-devel/_apis/build/status/GUDHI.gudhi-devel?branchName=master)](https://dev.azure.com/GUDHI/gudhi-devel/_build/latest?definitionId=1&branchName=master) +CI: [![OSx and Win on Azure](https://dev.azure.com/GUDHI/gudhi-devel/_apis/build/status/GUDHI.gudhi-devel?branchName=master)](https://dev.azure.com/GUDHI/gudhi-devel/_build/latest?definitionId=1&branchName=master) [![Linux on CircleCI](https://circleci.com/gh/GUDHI/gudhi-devel/tree/master.svg?style=svg)](https://circleci.com/gh/GUDHI/gudhi-devel/tree/master) +| Conda: [![Anaconda Cloud](https://anaconda.org/conda-forge/gudhi/badges/version.svg)](https://anaconda.org/conda-forge/gudhi) -[![Anaconda downloads](https://anaconda.org/conda-forge/gudhi/badges/downloads.svg)](https://anaconda.org/conda-forge/gudhi) +![Conda Downloads](https://img.shields.io/conda/d/conda-forge/gudhi) +| PyPI: +![PyPI - Version](https://img.shields.io/pypi/v/gudhi) +![PyPI - Downloads](https://img.shields.io/pypi/dm/gudhi) ![GUDHI](src/common/doc/Gudhi_banner.png "Topological Data Analysis (TDA) and Higher Dimensional Geometry Understanding") From e8b1eff1b3de72b68180c6816e42ba702ca6cf25 Mon Sep 17 00:00:00 2001 From: Vincent Rouvreau <10407034+VincentRouvreau@users.noreply.github.com> Date: Wed, 20 Nov 2024 10:02:22 +0100 Subject: [PATCH 6/6] [skip ci] still badges --- README.md | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 00959fd626..62468d4294 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,5 @@ - -CI: [![OSx and Win on Azure](https://dev.azure.com/GUDHI/gudhi-devel/_apis/build/status/GUDHI.gudhi-devel?branchName=master)](https://dev.azure.com/GUDHI/gudhi-devel/_build/latest?definitionId=1&branchName=master) -[![Linux on CircleCI](https://circleci.com/gh/GUDHI/gudhi-devel/tree/master.svg?style=svg)](https://circleci.com/gh/GUDHI/gudhi-devel/tree/master) -| Conda: -[![Anaconda Cloud](https://anaconda.org/conda-forge/gudhi/badges/version.svg)](https://anaconda.org/conda-forge/gudhi) -![Conda Downloads](https://img.shields.io/conda/d/conda-forge/gudhi) -| PyPI: -![PyPI - Version](https://img.shields.io/pypi/v/gudhi) -![PyPI - Downloads](https://img.shields.io/pypi/dm/gudhi) - +| [![OSx and Win on Azure](https://dev.azure.com/GUDHI/gudhi-devel/_apis/build/status/GUDHI.gudhi-devel?branchName=master)](https://dev.azure.com/GUDHI/gudhi-devel/_build/latest?definitionId=1&branchName=master) [![Linux on CircleCI](https://circleci.com/gh/GUDHI/gudhi-devel/tree/master.svg?style=svg)](https://circleci.com/gh/GUDHI/gudhi-devel/tree/master) | [![Anaconda Cloud](https://anaconda.org/conda-forge/gudhi/badges/version.svg)](https://anaconda.org/conda-forge/gudhi) ![Conda Downloads](https://img.shields.io/conda/d/conda-forge/gudhi) | ![PyPI - Version](https://img.shields.io/pypi/v/gudhi) ![PyPI - Downloads](https://img.shields.io/pypi/dm/gudhi) | +| --- | --- | --- | ![GUDHI](src/common/doc/Gudhi_banner.png "Topological Data Analysis (TDA) and Higher Dimensional Geometry Understanding")