From 21efbe18498d55f148c14d930746f4e184d993b6 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Thu, 7 Mar 2024 16:14:03 +0100 Subject: [PATCH 1/6] add Apple M1 to the matrix --- .github/workflows/matrix.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/matrix.json b/.github/workflows/matrix.json index 03c0c0ad..32a1c65a 100644 --- a/.github/workflows/matrix.json +++ b/.github/workflows/matrix.json @@ -1,5 +1,5 @@ { "cgal_branch": ["v5.6.1", "5.6.x-branch", "master"], "python-version": ["3.8", "3.9", "3.10", "3.11", "3.12"], - "os": ["ubuntu-latest", "macos-latest", "windows-latest"] -} \ No newline at end of file + "os": ["ubuntu-latest", "macos-latest", "macos-14", "windows-latest"] +} From 9eb5d60263d6a97b3e4b5b823a2232f880f6b633 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Thu, 7 Mar 2024 17:02:05 +0100 Subject: [PATCH 2/6] fix Conda for macos-arm64 --- .github/workflows/tests.yml | 11 +++++++++++ .integration/conda-env-test-macos-arm64.yml | 19 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 .integration/conda-env-test-macos-arm64.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1ca39d84..83b20028 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -74,6 +74,17 @@ jobs: fetch-depth: 1 - uses: conda-incubator/setup-miniconda@v3 + name: Setup Conda + if: ${{ runner.os != 'macOS' || runner.arch != 'ARM64' }} + with: + auto-update-conda: true + python-version: ${{ matrix.python-version }} + environment-file: .integration/conda-env-test.yml + activate-environment: test + + - uses: conda-incubator/setup-miniconda@v3 + name: Setup Conda macos-arm64 + if: ${{ runner.os == 'macOS' && runner.arch == 'ARM64' }} with: auto-update-conda: true python-version: ${{ matrix.python-version }} diff --git a/.integration/conda-env-test-macos-arm64.yml b/.integration/conda-env-test-macos-arm64.yml new file mode 100644 index 00000000..ed875efe --- /dev/null +++ b/.integration/conda-env-test-macos-arm64.yml @@ -0,0 +1,19 @@ +name: test +channels: + - conda-forge + - defaults +dependencies: + - boost-cpp>=1.77.0 + - gmp + - zlib + - eigen + - mpfr + - numpy + - twine + - delocate + - pycodestyle + - swig + - tbb + - tbb-devel + - wheel + - bzip2 From 40b4c577d1dc74d042b764d1bcfdc1b970f8be10 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Thu, 7 Mar 2024 17:08:53 +0100 Subject: [PATCH 3/6] Revert "fix Conda for macos-arm64" This reverts commit 9eb5d60263d6a97b3e4b5b823a2232f880f6b633. --- .github/workflows/tests.yml | 11 ----------- .integration/conda-env-test-macos-arm64.yml | 19 ------------------- 2 files changed, 30 deletions(-) delete mode 100644 .integration/conda-env-test-macos-arm64.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 83b20028..1ca39d84 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -74,17 +74,6 @@ jobs: fetch-depth: 1 - uses: conda-incubator/setup-miniconda@v3 - name: Setup Conda - if: ${{ runner.os != 'macOS' || runner.arch != 'ARM64' }} - with: - auto-update-conda: true - python-version: ${{ matrix.python-version }} - environment-file: .integration/conda-env-test.yml - activate-environment: test - - - uses: conda-incubator/setup-miniconda@v3 - name: Setup Conda macos-arm64 - if: ${{ runner.os == 'macOS' && runner.arch == 'ARM64' }} with: auto-update-conda: true python-version: ${{ matrix.python-version }} diff --git a/.integration/conda-env-test-macos-arm64.yml b/.integration/conda-env-test-macos-arm64.yml deleted file mode 100644 index ed875efe..00000000 --- a/.integration/conda-env-test-macos-arm64.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: test -channels: - - conda-forge - - defaults -dependencies: - - boost-cpp>=1.77.0 - - gmp - - zlib - - eigen - - mpfr - - numpy - - twine - - delocate - - pycodestyle - - swig - - tbb - - tbb-devel - - wheel - - bzip2 From fc77fde66e21eae27adc11b742005210b2dba944 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Thu, 7 Mar 2024 17:09:22 +0100 Subject: [PATCH 4/6] remove mpir (mpfr is sufficient) --- .integration/conda-env-test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.integration/conda-env-test.yml b/.integration/conda-env-test.yml index 7464f43b..8ffa3c2f 100644 --- a/.integration/conda-env-test.yml +++ b/.integration/conda-env-test.yml @@ -4,7 +4,6 @@ channels: - defaults dependencies: - boost-cpp>=1.77.0 - - mpir - zlib - eigen - mpfr From 55df926f5a178d5dc8a854efe8f3cfed506af53e Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Fri, 8 Mar 2024 09:09:01 +0100 Subject: [PATCH 5/6] add a debug tool `delocate-listdeps --all` --- .github/workflows/tests.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1ca39d84..383f6d14 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -170,11 +170,15 @@ jobs: ;; macOS) LDFLAGS="-rpath ${CONDA_ENV_DIR}/lib -rpath $HOME/.local/lib" + DYLD_LIBRARY_PATH=${CONDA_ENV_DIR}/lib:/Users/runner/.local/lib export LDFLAGS + export DYLD_LIBRARY_PATH CXXFLAGS=-faligned-allocation export CXXFLAGS CGAL_DIR=$HOME/.local python -m pip wheel -v . + delocate-listdeps --all cgal-*.whl delocate-wheel -w fixed_wheel cgal-*.whl + delocate-listdeps --all fixed_wheel/*.whl rm cgal-*.whl cp fixed_wheel/*.whl . ;; From 5e822f8ba29bd496c1b03b32037993259557e771 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Fri, 8 Mar 2024 12:57:56 +0100 Subject: [PATCH 6/6] fix the matrix for macos-14 --- .github/workflows/matrix.json | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/.github/workflows/matrix.json b/.github/workflows/matrix.json index 32a1c65a..87f77a2e 100644 --- a/.github/workflows/matrix.json +++ b/.github/workflows/matrix.json @@ -1,5 +1,30 @@ { - "cgal_branch": ["v5.6.1", "5.6.x-branch", "master"], - "python-version": ["3.8", "3.9", "3.10", "3.11", "3.12"], - "os": ["ubuntu-latest", "macos-latest", "macos-14", "windows-latest"] + "cgal_branch": [ + "v5.6.1", + "5.6.x-branch", + "master" + ], + "python-version": [ + "3.8", + "3.9", + "3.10", + "3.11", + "3.12" + ], + "os": [ + "ubuntu-latest", + "macos-latest", + "macos-14", + "windows-latest" + ], + "exclude": [ + { + "os": "macos-14", + "python-version": "3.8" + }, + { + "os": "macos-14", + "python-version": "3.9" + } + ] }