From bd4dc60bd9b8308c2ce56f781b3f6e12b29747e7 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 3 Jun 2024 09:47:08 +0200 Subject: [PATCH 01/75] ci: GitHub actions workflow --- .github/workflows/wheels.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index a313f522..baa51990 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -1,10 +1,6 @@ -name: Build Wheels +name: Build -on: - pull_request: - push: - branches: - - master +on: [push, pull_request] jobs: build_wheels: @@ -12,8 +8,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, macos-13, macos-14] - # os: [ubuntu-latest, windows-latest, macos-13, macos-14] + os: [ubuntu-latest, windows-latest, macos-13, macos-14] steps: - uses: actions/checkout@v4 @@ -26,6 +21,9 @@ jobs: - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse + # to supply options, put them in 'env', like: + # env: + # CIBW_SOME_OPTION: value - uses: actions/upload-artifact@v4 with: From f3006b5bb84c7208829def679152bd44c279ca89 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 3 Jun 2024 11:28:11 +0200 Subject: [PATCH 02/75] CI: cibuildwheel env vars for linux --- .github/workflows/wheels.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index baa51990..97e8e444 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -21,9 +21,13 @@ jobs: - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse - # to supply options, put them in 'env', like: - # env: - # CIBW_SOME_OPTION: value + env: + CIBW_BUILD: 'cp36-manylinux_x86_64 cp37-manylinux_x86_64 cp38-manylinux_x86_64 cp39-manylinux_x86_64' + CIBW_ENVIRONMENT: 'CMAKE_ARGS="-DENABLE_BOOST=OFF -DENABLE_CMDLINE=OFF -DENABLE_TESTS=OFF" BUILD_ARGS=-j6' + CIBW_MANYLINUX_X86_64_IMAGE: vanderaa/manylinux2014_x86_64_smurff + CIBW_TEST_COMMAND: 'pytest {project}/python/test' + CIBW_TEST_REQUIRES: 'parameterized pytest' + CIBW_BUILD_VERBOSITY: 1 - uses: actions/upload-artifact@v4 with: From a14425959661577ba21537e47b2b7618c1dc2c67 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 3 Jun 2024 14:11:26 +0200 Subject: [PATCH 03/75] fixup! CI: cibuildwheel env vars for linux --- .actrc => ci/.actrc | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .actrc => ci/.actrc (100%) diff --git a/.actrc b/ci/.actrc similarity index 100% rename from .actrc rename to ci/.actrc From 2b7eb85296774057accfc1dbf826af9cbeaeb46b Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 3 Jun 2024 16:00:08 +0200 Subject: [PATCH 04/75] CI: build from source on Ubuntu --- .github/workflows/build_linux.yml | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build_linux.yml b/.github/workflows/build_linux.yml index a577278c..d0eee6bd 100644 --- a/.github/workflows/build_linux.yml +++ b/.github/workflows/build_linux.yml @@ -29,27 +29,15 @@ jobs: sudo apt-get install -y cmake wget ninja-build libblas-dev liblapack-dev liblapacke-dev libboost-all-dev libopenmpi-dev libeigen3-dev libhdf5-dev sudo apt-get clean all - - name: Install Catch v3 - run: | - cd /tmp - wget -O Catch2.tar.gz https://github.com/catchorg/Catch2/archive/refs/tags/v3.6.0.tar.gz - tar xzf Catch2.tar.gz - rm Catch2.tar.gz - cd Catch2* - cmake -S . -B build -DBUILD_TESTING=OFF - cmake --build build - sudo cmake --install build - - name: Install HighFive run: | - cd /tmp wget -O HighFive.tar.gz https://github.com/BlueBrain/HighFive/archive/v2.9.0.tar.gz tar xzf HighFive.tar.gz rm HighFive.tar.gz cd HighFive* - cmake -DHIGHFIVE_EXAMPLES=OFF -DHIGHFIVE_USE_BOOST=OFF -DHIGHFIVE_UNIT_TESTS=OFF -S . -B build + cmake -S . -B build cmake --build build - sudo cmake --install build + cmake --install build - name: Run CMake run: |- @@ -59,10 +47,6 @@ jobs: run: |- cmake --build build.${{ matrix.build.type }} - - name: Install - run: |- - sudo cmake --install build.${{ matrix.build.type }} - - name: Run tests run: |- - smurff --bist + ./build.${{ matrix.build.type }}/bin/tests From f6ca9e230f6069cae10dfeec042f8805721d29ad Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 3 Jun 2024 16:00:28 +0200 Subject: [PATCH 05/75] fixup! fixup! CI: cibuildwheel env vars for linux --- ci/.actrc => .actrc | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename ci/.actrc => .actrc (100%) diff --git a/ci/.actrc b/.actrc similarity index 100% rename from ci/.actrc rename to .actrc From b711f994ba86a4dbf34dcb4f7d6d9e00ab8de85e Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 3 Jun 2024 16:03:21 +0200 Subject: [PATCH 06/75] CI: make install needs sudo --- .github/workflows/build_linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_linux.yml b/.github/workflows/build_linux.yml index d0eee6bd..5ea4fc80 100644 --- a/.github/workflows/build_linux.yml +++ b/.github/workflows/build_linux.yml @@ -37,7 +37,7 @@ jobs: cd HighFive* cmake -S . -B build cmake --build build - cmake --install build + sudo cmake --install build - name: Run CMake run: |- From eb2ba220d4ad31eff47dc988e202c6e2ec6a237e Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 3 Jun 2024 16:42:22 +0200 Subject: [PATCH 07/75] CI: limit wheels to linux (for the moment) --- .github/workflows/wheels.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 97e8e444..947f4ade 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -8,7 +8,8 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-13, macos-14] + os: [ubuntu-latest] + # os: [ubuntu-latest, windows-latest, macos-13, macos-14] steps: - uses: actions/checkout@v4 @@ -22,7 +23,7 @@ jobs: - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse env: - CIBW_BUILD: 'cp36-manylinux_x86_64 cp37-manylinux_x86_64 cp38-manylinux_x86_64 cp39-manylinux_x86_64' + CIBW_SKIP: '*-win32 *-manylinux_i686' CIBW_ENVIRONMENT: 'CMAKE_ARGS="-DENABLE_BOOST=OFF -DENABLE_CMDLINE=OFF -DENABLE_TESTS=OFF" BUILD_ARGS=-j6' CIBW_MANYLINUX_X86_64_IMAGE: vanderaa/manylinux2014_x86_64_smurff CIBW_TEST_COMMAND: 'pytest {project}/python/test' From 4ea5804e60b310c77c2d27b6c3c2f09c3ce29752 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Tue, 4 Jun 2024 09:47:16 +0200 Subject: [PATCH 08/75] setup: scikit-build WIP --- pyproject.toml | 92 ++------------------------------------------------ 1 file changed, 2 insertions(+), 90 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 54256ea8..cd974fd5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,96 +3,8 @@ requires = [ "setuptools>=42", "setuptools_scm", "pybind11", - "scikit-build-core", + "scikit-build>=0.13", "cmake>=3.18", "ninja", ] -build-backend = "scikit_build_core.build" - -[tool.scikit-build] -metadata.version.provider = "scikit_build_core.metadata.setuptools_scm" -sdist.include = ["python/smurff/_version.py"] -cmake.verbose = true -logging.level = "INFO" - -[tool.scikit-build.cmake.define] -ENABLE_BOOST = "ON" -ENABLE_CMDLINE = "ON" -ENABLE_TESTS = "ON" -ENABLE_BLAS = "ON" - -[tool.setuptools_scm] # Section required -write_to = "python/smurff/_version.py" - -[tool.setuptools] -package-dir = {"" = "python"} - -[project] -name = "smurff" -dynamic = ["version"] -description = "Bayesian Factorization Methods" -keywords = ["bayesian factorization machine-learning high-dimensional side-information"] -readme = "README.rst" -authors = [ - {name = "Tom Vander Aa", email = "Tom.VanderAa@imec.be"}, -] -classifiers = [ - "Development Status :: 4 - Beta", - "Intended Audience :: Science/Research", - "License :: OSI Approved :: MIT License", - "Operating System :: MacOS", - "Operating System :: Microsoft :: Windows", - "Operating System :: POSIX", - "Operating System :: Unix", - "Programming Language :: C++", - "Programming Language :: Python", - "Programming Language :: Python :: 3", - "Topic :: Scientific/Engineering :: Artificial Intelligence", -] -dependencies = [ - "h5sparse-tensor", - "numpy", - "pandas", - "scikit-learn", - "scipy", -] -license = {text = "MIT"} - -[project.urls] -Homepage = "http://github.com/ExaScience/smurff" - -[project.scripts] -py_smurff = "smurff.cmdline:main" - -[tool.cibuildwheel] -manylinux-x86_64-image = "vanderaa/manylinux2014_x86_64_smurff" -musllinux-x86_64-image = "vanderaa/musllinux_1_2_x86_64_smurff" - -# We skip these: -# - PyPy: never tested, pandas does not seem to work -# - CPython 3.6: unsupported by scikit_build_core -# - CPython 3.7: unsupported by h5sparse -# - CPython 3.12: removed pkg_resources in h5sparse -# - i686 and win32: we do not care about 32bit -skip = "pp* cp36-* cp37-* cp312-* *-win32 *i686" -test-command = 'pytest {project}/python/test' -test-requires = 'parameterized pytest' -build-verbosity = 3 - -[tool.cibuildwheel.macos.config-settings] -"cmake.define.HDF5_ROOT" = "/usr/local/hdf5" -"cmake.define.ENABLE_BLAS" = "ON" -"cmake.define.ENABLE_BOOST" = "OFF" -"cmake.define.ENABLE_CMDLINE" = "OFF" -"cmake.define.ENABLE_TESTS" = "OFF" -"cmake.define.BLA_VENDOR" = "Apple" - -[tool.cibuildwheel.linux.config-settings] -"cmake.define.ENABLE_BLAS" = "ON" -"cmake.define.ENABLE_BOOST" = "OFF" -"cmake.define.ENABLE_CMDLINE" = "OFF" -"cmake.define.ENABLE_TESTS" = "OFF" -"cmake.define.BLA_VENDOR" = "OpenBLAS" - -[tool.cibuildwheel.macos] -before-all = "ci/buildwheel/install_deps.sh" \ No newline at end of file +build-backend = "setuptools.build_meta" \ No newline at end of file From 467ad9117251b5e37b61db3ecac192083504872b Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Tue, 4 Jun 2024 10:26:21 +0200 Subject: [PATCH 09/75] setup: switch to sckit-build-core --- cmake/DependenciesConfig.cmake | 24 +++++++++------ pyproject.toml | 53 ++++++++++++++++++++++++++++++++-- 2 files changed, 66 insertions(+), 11 deletions(-) diff --git a/cmake/DependenciesConfig.cmake b/cmake/DependenciesConfig.cmake index b465cb53..051d0dfb 100644 --- a/cmake/DependenciesConfig.cmake +++ b/cmake/DependenciesConfig.cmake @@ -56,6 +56,13 @@ macro(configure_blas) list(APPEND ALGEBRA_LIBS ${BLAS_LIBRARIES}) +macro(configure_openblas) + message ("Dependency check for openblas...") + + if(MSVC) + set(BLAS_LIBRARIES $ENV{BLAS_LIBRARIES}) + set(BLAS_INCLUDES $ENV{BLAS_INCLUDES}) + set(BLAS_FOUND ON) else() message(STATUS "BLAS NOT found" ) endif (BLAS_FOUND) @@ -66,12 +73,9 @@ macro(configure_blas) message(STATUS "LAPACK include: ${LAPACK_INCLUDE_DIR}" ) add_definitions(-DEIGEN_USE_LAPACK) - # needed because MSVC does not have support for c-type _Complex - add_definitions(-Dlapack_complex_float=std::complex -Dlapack_complex_double=std::complex) - list(APPEND ALGEBRA_LIBS ${LAPACK_LIBRARIES}) - else() - message(STATUS "LAPACK NOT found" ) - endif (LAPACK_FOUND) + message(STATUS BLAS: ${BLAS_LIBRARIES} ) + +endmacro(configure_openblas) find_package(LAPACKE) if (LAPACKE_FOUND) @@ -85,8 +89,11 @@ macro(configure_blas) message(STATUS "all algebra libraries: ${ALGEBRA_LIBS}" ) + add_definitions(-DEIGEN_USE_MKL_ALL) -endmacro(configure_blas) + message(STATUS "MKL libraries: ${MKL_LIBRARIES}" ) + message(STATUS "MKL include: ${MKL_INCLUDE_DIR}" ) +endmacro(configure_mkl) macro(configure_eigen) message ("Dependency check for eigen...") @@ -126,8 +133,7 @@ endmacro(configure_boost) macro(configure_python) if(ENABLE_PYTHON) - set(PYBIND11_FINDPYTHON ON) set(PYBIND11_NEWPYTHON ON) - find_package(pybind11 CONFIG REQUIRED) + find_package(pybind11 CONFIG REQUIRED) endif() endmacro(configure_python) diff --git a/pyproject.toml b/pyproject.toml index cd974fd5..0177af38 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,8 +3,57 @@ requires = [ "setuptools>=42", "setuptools_scm", "pybind11", - "scikit-build>=0.13", + "scikit-build-core", "cmake>=3.18", "ninja", ] -build-backend = "setuptools.build_meta" \ No newline at end of file +build-backend = "scikit_build_core.build" + +[tool.scikit-build] +metadata.version.provider = "scikit_build_core.metadata.setuptools_scm" +sdist.include = ["python/smurff/_version.py"] +cmake.verbose = true +logging.level = "INFO" + +[tool.setuptools_scm] # Section required +write_to = "python/smurff/_version.py" + +[tool.setuptools] +package-dir = {"" = "python"} + +[project] +name = "smurff" +dynamic = ["version"] +description = "Bayesian Factorization Methods" +keywords = ["bayesian factorization machine-learning high-dimensional side-information"] +readme = "README.rst" +authors = [ + {name = "Tom Vander Aa", email = "Tom.VanderAa@imec.be"}, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: MIT License", + "Operating System :: MacOS", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "Operating System :: Unix", + "Programming Language :: C++", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Topic :: Scientific/Engineering :: Artificial Intelligence", +] +dependencies = [ + "h5sparse-tensor", + "numpy", + "pandas", + "scikit-learn", + "scipy", +] +license = {text = "MIT"} + +[project.urls] +Homepage = "http://github.com/ExaScience/smurff" + +[project.scripts] +py_smurff = "smurff.cmdline:main" From 913731a3846198948433a29afe3db9dbfe399e3e Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 6 Jun 2024 09:50:51 +0200 Subject: [PATCH 10/75] cibw docker: rm cmake and pybind11, these are now installed via pip --- ci/buildwheel/Dockerfile | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/ci/buildwheel/Dockerfile b/ci/buildwheel/Dockerfile index 8b6e1c3b..1d684956 100644 --- a/ci/buildwheel/Dockerfile +++ b/ci/buildwheel/Dockerfile @@ -3,10 +3,6 @@ FROM quay.io/pypa/manylinux2014_x86_64 RUN yum -y install wget eigen3-devel openblas-devel hdf5-devel && \ yum clean all -RUN wget https://cmake.org/files/v3.12/cmake-3.12.0-Linux-x86_64.sh && \ - sh cmake-3.12.0-Linux-x86_64.sh --prefix=/usr/local --exclude-subdir && \ - rm -f cmake-3.12.0-Linux-x86_64.sh - #install HighFive RUN wget -O HighFive.tar.gz https://github.com/BlueBrain/HighFive/archive/v2.2.tar.gz && \ tar xzf HighFive.tar.gz && \ @@ -19,15 +15,3 @@ RUN wget -O HighFive.tar.gz https://github.com/BlueBrain/HighFive/archive/v2.2.t make install && \ cd ../.. && \ rm -r HighFive* - -#install pybind11 -RUN wget -O pybind11.tar.gz https://github.com/pybind/pybind11/archive/v2.5.0.tar.gz && \ - tar xzf pybind11.tar.gz && \ - rm pybind11.tar.gz && \ - cd pybind11* && \ - mkdir build && \ - cd build && \ - cmake .. -DPYBIND11_TEST=OFF && \ - make install && \ - cd ../.. && \ - rm -r pybind11* From 4b1865d6966d13afc9181672893959d0ffd7bf62 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 6 Jun 2024 09:53:48 +0200 Subject: [PATCH 11/75] cibuilwheel: from GitHub workflow env to pyproject.toml --- .github/workflows/wheels.yml | 3 --- pyproject.toml | 8 ++++++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 947f4ade..1ccd9253 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -23,9 +23,6 @@ jobs: - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse env: - CIBW_SKIP: '*-win32 *-manylinux_i686' - CIBW_ENVIRONMENT: 'CMAKE_ARGS="-DENABLE_BOOST=OFF -DENABLE_CMDLINE=OFF -DENABLE_TESTS=OFF" BUILD_ARGS=-j6' - CIBW_MANYLINUX_X86_64_IMAGE: vanderaa/manylinux2014_x86_64_smurff CIBW_TEST_COMMAND: 'pytest {project}/python/test' CIBW_TEST_REQUIRES: 'parameterized pytest' CIBW_BUILD_VERBOSITY: 1 diff --git a/pyproject.toml b/pyproject.toml index 0177af38..343d8865 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -57,3 +57,11 @@ Homepage = "http://github.com/ExaScience/smurff" [project.scripts] py_smurff = "smurff.cmdline:main" + +[tool.cibuildwheel] +manylinux-x86_64-image = "vanderaa/manylinux2014_x86_64_smurff" +skip = "cp36-* cp312-* *-win32 *-manylinux_i686" +test-command = 'pytest {project}/python/test' +test-requires = 'parameterized pytest' +build-verbosity = 1 + From 4ac669c51af583c44737abcbd538e381582317a0 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 6 Jun 2024 10:35:01 +0200 Subject: [PATCH 12/75] ci: moved to pyproject.toml --- .github/workflows/wheels.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 1ccd9253..06dbd39d 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -22,10 +22,6 @@ jobs: - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse - env: - CIBW_TEST_COMMAND: 'pytest {project}/python/test' - CIBW_TEST_REQUIRES: 'parameterized pytest' - CIBW_BUILD_VERBOSITY: 1 - uses: actions/upload-artifact@v4 with: From 5172fe29b0e01decaeebcdc1291523720e8c5c8f Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 6 Jun 2024 10:35:19 +0200 Subject: [PATCH 13/75] cibw: skip pypy --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 343d8865..f4e31b44 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -60,7 +60,7 @@ py_smurff = "smurff.cmdline:main" [tool.cibuildwheel] manylinux-x86_64-image = "vanderaa/manylinux2014_x86_64_smurff" -skip = "cp36-* cp312-* *-win32 *-manylinux_i686" +skip = "pp* cp36-* cp312-* *-win32 *-manylinux_i686" test-command = 'pytest {project}/python/test' test-requires = 'parameterized pytest' build-verbosity = 1 From f026d9ae4be708ce47e358275810e7ebc9e0a728 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 6 Jun 2024 15:16:41 +0200 Subject: [PATCH 14/75] cibw: add musl, skip i686 --- ci/buildwheel/Dockerfile | 17 ----------------- pyproject.toml | 3 ++- 2 files changed, 2 insertions(+), 18 deletions(-) delete mode 100644 ci/buildwheel/Dockerfile diff --git a/ci/buildwheel/Dockerfile b/ci/buildwheel/Dockerfile deleted file mode 100644 index 1d684956..00000000 --- a/ci/buildwheel/Dockerfile +++ /dev/null @@ -1,17 +0,0 @@ -FROM quay.io/pypa/manylinux2014_x86_64 - -RUN yum -y install wget eigen3-devel openblas-devel hdf5-devel && \ - yum clean all - -#install HighFive -RUN wget -O HighFive.tar.gz https://github.com/BlueBrain/HighFive/archive/v2.2.tar.gz && \ - tar xzf HighFive.tar.gz && \ - rm HighFive.tar.gz && \ - cd HighFive* && \ - mkdir build && \ - cd build && \ - cmake .. -DHIGHFIVE_USE_BOOST=OFF && \ - make -j2 && \ - make install && \ - cd ../.. && \ - rm -r HighFive* diff --git a/pyproject.toml b/pyproject.toml index f4e31b44..6ec891a2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -60,7 +60,8 @@ py_smurff = "smurff.cmdline:main" [tool.cibuildwheel] manylinux-x86_64-image = "vanderaa/manylinux2014_x86_64_smurff" -skip = "pp* cp36-* cp312-* *-win32 *-manylinux_i686" +musllinux-x86_64-image = "vanderaa/musllinux_1_2_x86_64_smurff" +skip = "pp* cp36-* cp312-* *-win32 *i686" test-command = 'pytest {project}/python/test' test-requires = 'parameterized pytest' build-verbosity = 1 From eeaea037b100a0bf6014f68339494961691cf56f Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 6 Jun 2024 16:06:56 +0200 Subject: [PATCH 15/75] ci: on push to master only --- .github/workflows/wheels.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 06dbd39d..63ecd2ff 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -1,6 +1,10 @@ name: Build -on: [push, pull_request] +on: + pull_request: + push: + branches: + - master jobs: build_wheels: From c92bdd36ab3fa314765e9f51de817258aec95b69 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 6 Jun 2024 16:07:10 +0200 Subject: [PATCH 16/75] ci: macos deployment version --- pyproject.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 6ec891a2..04163cda 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,3 +66,5 @@ test-command = 'pytest {project}/python/test' test-requires = 'parameterized pytest' build-verbosity = 1 +[tool.cibuildwheel.macos.environment] +MACOSX_DEPLOYMENT_TARGET = "14.0" From 3f0d64544a1cc28c74d62fcf23d8ed436f6723ec Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 6 Jun 2024 16:07:56 +0200 Subject: [PATCH 17/75] ci: enable macOS wheels --- .github/workflows/wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 63ecd2ff..aeb49dec 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -12,7 +12,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest] + os: [ubuntu-latest, macos-14] # os: [ubuntu-latest, windows-latest, macos-13, macos-14] steps: From 9536a369cabed96e6c363c215bfcb85fa99826b0 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Fri, 7 Jun 2024 09:21:26 +0200 Subject: [PATCH 18/75] ci: add auto-converted azure pipelines files --- ci/converted/audit/audit_summary.md | 120 ++++++++++++ ci/converted/audit/config.yml | 27 +++ .../audit/log/valet-20240603-122921.log | 46 +++++ .../audit/log/valet-20240603-123132.log | 77 ++++++++ .../.github/actions/ci_conda_steps/action.yml | 20 ++ .../.github/workflows/exascience.smurff.yml | 174 +++++++++++++++++ .../smurff/ExaScience.smurff/config.json | 159 ++++++++++++++++ .../smurff/ExaScience.smurff/source.yml | 175 ++++++++++++++++++ ci/converted/audit/workflow_usage.csv | 11 ++ 9 files changed, 809 insertions(+) create mode 100644 ci/converted/audit/audit_summary.md create mode 100644 ci/converted/audit/config.yml create mode 100644 ci/converted/audit/log/valet-20240603-122921.log create mode 100644 ci/converted/audit/log/valet-20240603-123132.log create mode 100644 ci/converted/audit/pipelines/smurff/ExaScience.smurff/.github/actions/ci_conda_steps/action.yml create mode 100644 ci/converted/audit/pipelines/smurff/ExaScience.smurff/.github/workflows/exascience.smurff.yml create mode 100644 ci/converted/audit/pipelines/smurff/ExaScience.smurff/config.json create mode 100644 ci/converted/audit/pipelines/smurff/ExaScience.smurff/source.yml create mode 100644 ci/converted/audit/workflow_usage.csv diff --git a/ci/converted/audit/audit_summary.md b/ci/converted/audit/audit_summary.md new file mode 100644 index 00000000..0d24d6ce --- /dev/null +++ b/ci/converted/audit/audit_summary.md @@ -0,0 +1,120 @@ +# Audit summary + +Summary for [Azure DevOps instance](https://dev.azure.com/ExaScience/smurff/_build) + +- GitHub Actions Importer version: **1.3.22039 (9432caa2d13df57db8619b9b253cdf994da6625c)** +- Performed at: **6/3/24 at 12:31** + +## Pipelines + +Total: **1** + +- Successful: **0 (0%)** +- Partially successful: **1 (100%)** +- Unsupported: **0 (0%)** +- Failed: **0 (0%)** + +### Job types + +Supported: **1 (100%)** + +- YAML: **1** + +### Build steps + +Total: **28** + +Known: **27 (96%)** + +- script: **10** +- bash: **9** +- PublishBuildArtifacts@1: **5** +- UsePythonVersion@0: **2** +- powershell: **1** + +Unknown: **1 (3%)** + +- CMake@1: **1** + +Actions: **35** + +- run: **20** +- actions/checkout@v4.1.0: **6** +- actions/upload-artifact@v4.1.0: **5** +- actions/setup-python@v5.0.0: **2** +- ./.github/actions/ci_conda_steps: **2** + +### Triggers + +Total: **2** + +Known: **2 (100%)** + +- pullRequest: **1** +- continuousIntegration: **1** + +Actions: **2** + +- pull_request: **1** +- push: **1** + +### Environment + +Total: **2** + +Known: **2 (100%)** + +- system_debug: **1** +- CPU_COUNT: **1** + +Actions: **2** + +- system_debug: **1** +- CPU_COUNT: **1** + +### Other + +Total: **20** + +Known: **20 (100%)** + +- matrix: **6** +- CIBW_TEST_REQUIRES: **2** +- CIBW_TEST_COMMAND: **2** +- CIBW_ENVIRONMENT: **2** +- CIBW_BUILD_VERBOSITY: **2** +- CIBW_BUILD: **2** +- CIBW_MANYLINUX_X86_64_IMAGE: **1** +- macOS_sdk_url: **1** +- macOS_sdk_filename: **1** +- maxParallel: **1** + +Actions: **20** + +- matrix: **6** +- CIBW_TEST_REQUIRES: **2** +- CIBW_TEST_COMMAND: **2** +- CIBW_ENVIRONMENT: **2** +- CIBW_BUILD_VERBOSITY: **2** +- CIBW_BUILD: **2** +- CIBW_MANYLINUX_X86_64_IMAGE: **1** +- macOS_sdk_url: **1** +- macOS_sdk_filename: **1** +- max_parallel: **1** + +### Manual tasks + +Total: **2** + +Self hosted runners: **2** + +- `macOS-latest`: **2** + +### Partially successful + +#### smurff/ExaScience.smurff + +- [pipelines/smurff/ExaScience.smurff/.github/workflows/exascience.smurff.yml](pipelines/smurff/ExaScience.smurff/.github/workflows/exascience.smurff.yml) +- [pipelines/smurff/ExaScience.smurff/.github/actions/ci_conda_steps/action.yml](pipelines/smurff/ExaScience.smurff/.github/actions/ci_conda_steps/action.yml) +- [pipelines/smurff/ExaScience.smurff/config.json](pipelines/smurff/ExaScience.smurff/config.json) +- [pipelines/smurff/ExaScience.smurff/source.yml](pipelines/smurff/ExaScience.smurff/source.yml) diff --git a/ci/converted/audit/config.yml b/ci/converted/audit/config.yml new file mode 100644 index 00000000..b5a10aa1 --- /dev/null +++ b/ci/converted/audit/config.yml @@ -0,0 +1,27 @@ +--- +composite_actions: +# Usage examples +# 1. Local composite action in actions folder (Default) +# Results in `uses: ./.github/actions/my_template` +# - name: my_template +# ref: main +# 2. Local composite action in another directory +# Results in `uses: ./path/to/action` +# - name: my_template +# ref: main +# path: path/to/action +# 3. Remote repository with composite action at the root of the repository +# Results in `uses: org/repo@ref` +# - name: my_template +# target_url: REDACTED +# ref: main +# 4. Remote repository with composite action in another directory +# Results in `uses: org/repo/path/to/action@ref` +# - name: my_template +# target_url: REDACTED +# ref: main +# path: path/to/action +- name: ci_conda_steps + ref: main +- name: ci_conda_steps + ref: main diff --git a/ci/converted/audit/log/valet-20240603-122921.log b/ci/converted/audit/log/valet-20240603-122921.log new file mode 100644 index 00000000..3268d3f2 --- /dev/null +++ b/ci/converted/audit/log/valet-20240603-122921.log @@ -0,0 +1,46 @@ +# Logfile created on 2024-06-03 12:29:21 +0000 by logger.rb/v1.6.0 +I, [2024-06-03T12:29:21.403827 #1] INFO -- : Using GitHub Features: Defaults +I, [2024-06-03T12:29:21.403934 #1] INFO -- : Auditing 'REDACTED_build' +I, [2024-06-03T12:29:21.407066 #1] INFO -- request: GET REDACTED_apis/distributedtask/tasks?api-version=5.0-preview +I, [2024-06-03T12:29:21.752834 #1] INFO -- response: Status 401 +I, [2024-06-03T12:29:21.786549 #1] INFO -- request: GET REDACTED +I, [2024-06-03T12:29:22.048730 #1] INFO -- response: Status 200 +I, [2024-06-03T12:29:22.066317 #1] INFO -- : Sending telemetry with transaction id '835c0ed2-d9c2-4c6b-ac88-8f93020fd4bb' +E, [2024-06-03T12:29:22.388744 #1] ERROR -- : There was an error extracting pipelines from Azure DevOps +Message: Unable to authenticate +Please verify your access token is valid and contains the following scopes: +Build (Read), Agent Pools (Read), Code (Read), Release (Read), Service Connections (Read), Task Groups (Read), Variable Groups (Read) +(GET 401) Unauthorized: REDACTED_apis/distributedtask/tasks?api-version=5.0-preview +/usr/local/bundle/gems/actions_importer-1.3.22039/lib/valet/services/azure_devops/parse_response.rb:14:in `parse!' +/usr/local/bundle/gems/actions_importer-1.3.22039/lib/valet/adapters/azure_devops/client.rb:139:in `block in fetch_all' +:187:in `loop' +/usr/local/bundle/gems/actions_importer-1.3.22039/lib/valet/adapters/azure_devops/client.rb:132:in `fetch_all' +/usr/local/bundle/gems/actions_importer-1.3.22039/lib/valet/adapters/azure_devops/client.rb:80:in `fetch_known_tasks' +/usr/local/bundle/gems/actions_importer-1.3.22039/lib/valet/transformers/azure_devops/utilities/task.rb:18:in `known_tasks' +/usr/local/bundle/gems/sorbet-runtime-0.5.11108/lib/types/private/methods/call_validation.rb:256:in `bind_call' +/usr/local/bundle/gems/sorbet-runtime-0.5.11108/lib/types/private/methods/call_validation.rb:256:in `validate_call' +/usr/local/bundle/gems/sorbet-runtime-0.5.11108/lib/types/private/methods/_methods.rb:275:in `block in _on_method_added' +/usr/local/bundle/gems/actions_importer-1.3.22039/lib/valet/services/azure_devops/extract_all_pipelines.rb:28:in `block in call' +/usr/local/bundle/gems/actions_importer-1.3.22039/lib/valet/services/azure_devops/extract_all_pipelines.rb:25:in `each' +/usr/local/bundle/gems/actions_importer-1.3.22039/lib/valet/services/azure_devops/extract_all_pipelines.rb:25:in `flat_map' +/usr/local/bundle/gems/actions_importer-1.3.22039/lib/valet/services/azure_devops/extract_all_pipelines.rb:25:in `call' +/usr/local/bundle/gems/sorbet-runtime-0.5.11108/lib/types/private/methods/call_validation.rb:256:in `bind_call' +/usr/local/bundle/gems/sorbet-runtime-0.5.11108/lib/types/private/methods/call_validation.rb:256:in `validate_call' +/usr/local/bundle/gems/sorbet-runtime-0.5.11108/lib/types/private/methods/_methods.rb:275:in `block in _on_method_added' +/usr/local/bundle/gems/actions_importer-1.3.22039/lib/valet/adapters/provider_resolver.rb:66:in `call' +/usr/local/bundle/gems/actions_importer-1.3.22039/lib/valet/commands/audit.rb:16:in `block in call' +/usr/local/bundle/gems/actions_importer-1.3.22039/lib/valet/logger.rb:96:in `with_progress_bar' +/usr/local/bundle/gems/actions_importer-1.3.22039/lib/valet/commands/audit.rb:15:in `call' +/usr/local/bundle/gems/actions_importer-1.3.22039/lib/valet/subcommands/audit.rb:50:in `azure_devops' +/usr/local/bundle/gems/thor-1.2.2/lib/thor/command.rb:27:in `run' +/usr/local/bundle/gems/thor-1.2.2/lib/thor/invocation.rb:127:in `invoke_command' +/usr/local/bundle/gems/thor-1.2.2/lib/thor.rb:392:in `dispatch' +/usr/local/bundle/gems/thor-1.2.2/lib/thor/invocation.rb:116:in `invoke' +/usr/local/bundle/gems/thor-1.2.2/lib/thor.rb:243:in `block in subcommand' +/usr/local/bundle/gems/thor-1.2.2/lib/thor/command.rb:27:in `run' +/usr/local/bundle/gems/thor-1.2.2/lib/thor/invocation.rb:127:in `invoke_command' +/usr/local/bundle/gems/thor-1.2.2/lib/thor.rb:392:in `dispatch' +/usr/local/bundle/gems/thor-1.2.2/lib/thor/base.rb:485:in `start' +/usr/local/bundle/gems/actions_importer-1.3.22039/exe/actions-importer:19:in `' +/usr/local/bundle/bin/actions-importer:25:in `load' +/usr/local/bundle/bin/actions-importer:25:in `
' diff --git a/ci/converted/audit/log/valet-20240603-123132.log b/ci/converted/audit/log/valet-20240603-123132.log new file mode 100644 index 00000000..e284c265 --- /dev/null +++ b/ci/converted/audit/log/valet-20240603-123132.log @@ -0,0 +1,77 @@ +# Logfile created on 2024-06-03 12:31:32 +0000 by logger.rb/v1.6.0 +I, [2024-06-03T12:31:32.902351 #1] INFO -- : Using GitHub Features: Defaults +I, [2024-06-03T12:31:32.902472 #1] INFO -- : Auditing 'REDACTEDsmurff/_build' +I, [2024-06-03T12:31:32.905619 #1] INFO -- request: GET REDACTED_apis/distributedtask/tasks?api-version=5.0-preview +I, [2024-06-03T12:31:33.593570 #1] INFO -- response: Status 200 +I, [2024-06-03T12:31:33.608549 #1] INFO -- request: GET REDACTEDsmurff/_apis/build/definitions?api-version=5.0&includeAllProperties=true&queryOrder=lastModifiedDescending +I, [2024-06-03T12:31:33.930808 #1] INFO -- response: Status 200 +I, [2024-06-03T12:31:33.934034 #1] INFO -- : Thread collection size: 10 +I, [2024-06-03T12:31:33.964503 #1] INFO -- request: GET REDACTED-pipelines.yml?ref=master +I, [2024-06-03T12:31:34.253944 #1] INFO -- response: Status 200 +I, [2024-06-03T12:31:34.261199 #1] INFO -- request: GET REDACTEDsmurff/_apis/serviceendpoint/endpoints?api-version=5.0-preview +I, [2024-06-03T12:31:34.594033 #1] INFO -- response: Status 200 +I, [2024-06-03T12:31:34.598199 #1] INFO -- request: GET REDACTEDsmurff/_apis/distributedtask/variablegroups?api-version=5.0-preview&queryOrder=idDescending +I, [2024-06-03T12:31:34.915088 #1] INFO -- response: Status 200 +I, [2024-06-03T12:31:34.918525 #1] INFO -- request: GET REDACTEDsmurff/_apis/distributedtask/taskgroups?api-version=5.0-preview +I, [2024-06-03T12:31:34.982720 #1] INFO -- response: Status 200 +I, [2024-06-03T12:31:34.987524 #1] INFO -- request: GET REDACTED-steps.yml?ref=master +I, [2024-06-03T12:31:35.268511 #1] INFO -- response: Status 200 +I, [2024-06-03T12:31:35.276565 #1] INFO -- request: GET REDACTED_apis/release/definitions?api-version=5.0&queryOrder=idDescending +I, [2024-06-03T12:31:36.156937 #1] INFO -- response: Status 200 +D, [2024-06-03T12:31:36.185399 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'script' +D, [2024-06-03T12:31:36.189066 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'script' +D, [2024-06-03T12:31:36.191976 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'script' +D, [2024-06-03T12:31:36.192411 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Failed to locate transformer for 'CMake@1' +D, [2024-06-03T12:31:36.192664 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'script' +D, [2024-06-03T12:31:36.192953 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'script' +D, [2024-06-03T12:31:36.193778 #1] DEBUG -- : [Transformers::AzureDevops::Strategy]: Located transformer for 'maxParallel' +D, [2024-06-03T12:31:36.193917 #1] DEBUG -- : [Transformers::AzureDevops::Strategy]: Located transformer for 'matrix' +D, [2024-06-03T12:31:36.194302 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'composite_action' +D, [2024-06-03T12:31:36.194766 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'bash' +D, [2024-06-03T12:31:36.195012 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'bash' +D, [2024-06-03T12:31:36.195396 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'bash' +D, [2024-06-03T12:31:36.195621 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'script' +D, [2024-06-03T12:31:36.195821 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'PublishBuildArtifacts@1' +D, [2024-06-03T12:31:36.196632 #1] DEBUG -- : [Transformers::AzureDevops::Strategy]: Located transformer for 'matrix' +D, [2024-06-03T12:31:36.197470 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'script' +D, [2024-06-03T12:31:36.197805 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'composite_action' +D, [2024-06-03T12:31:36.198048 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'bash' +D, [2024-06-03T12:31:36.198256 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'bash' +D, [2024-06-03T12:31:36.198460 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'bash' +D, [2024-06-03T12:31:36.198684 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'script' +D, [2024-06-03T12:31:36.198869 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'PublishBuildArtifacts@1' +D, [2024-06-03T12:31:36.199246 #1] DEBUG -- : [Transformers::AzureDevops::Strategy]: Located transformer for 'matrix' +D, [2024-06-03T12:31:36.199675 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'powershell' +D, [2024-06-03T12:31:36.199968 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'script' +D, [2024-06-03T12:31:36.200220 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'script' +D, [2024-06-03T12:31:36.200457 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'PublishBuildArtifacts@1' +D, [2024-06-03T12:31:36.200768 #1] DEBUG -- : [Transformers::AzureDevops::Strategy]: Located transformer for 'matrix' +D, [2024-06-03T12:31:36.201164 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'UsePythonVersion@0' +D, [2024-06-03T12:31:36.201653 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'bash' +D, [2024-06-03T12:31:36.201936 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'PublishBuildArtifacts@1' +D, [2024-06-03T12:31:36.202244 #1] DEBUG -- : [Transformers::AzureDevops::Strategy]: Located transformer for 'matrix' +D, [2024-06-03T12:31:36.202733 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'bash' +D, [2024-06-03T12:31:36.202994 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'UsePythonVersion@0' +D, [2024-06-03T12:31:36.203224 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'bash' +D, [2024-06-03T12:31:36.203497 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::Steps]: Located transformer for 'PublishBuildArtifacts@1' +D, [2024-06-03T12:31:36.203804 #1] DEBUG -- : [Transformers::AzureDevops::Strategy]: Located transformer for 'matrix' +D, [2024-06-03T12:31:36.204062 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::On]: Located transformer for 'continuousIntegration' +D, [2024-06-03T12:31:36.204194 #1] DEBUG -- : [Transformers::AzureDevops::Pipeline::On]: Located transformer for 'pullRequest' +I, [2024-06-03T12:31:36.337350 #1] INFO -- : Output file(s): +I, [2024-06-03T12:31:36.345179 #1] INFO -- : tmp/audit/pipelines/smurff/ExaScience.smurff/.github/workflows/exascience.smurff.yml +I, [2024-06-03T12:31:36.346320 #1] INFO -- : tmp/audit/pipelines/smurff/ExaScience.smurff/.github/actions/ci_conda_steps/action.yml +I, [2024-06-03T12:31:36.346977 #1] INFO -- : tmp/audit/pipelines/smurff/ExaScience.smurff/config.json +I, [2024-06-03T12:31:36.347586 #1] INFO -- : tmp/audit/pipelines/smurff/ExaScience.smurff/source.yml +I, [2024-06-03T12:31:36.348640 #1] INFO -- : tmp/audit/config.yml +I, [2024-06-03T12:31:36.380060 #1] INFO -- : tmp/audit/workflow_usage.csv +I, [2024-06-03T12:31:36.387054 #1] INFO -- : tmp/audit/audit_summary.md +W, [2024-06-03T12:31:40.447131 #1] WARN -- : Secrets redacted in file(s): +W, [2024-06-03T12:31:40.447441 #1] WARN -- : tmp/audit/config.yml +W, [2024-06-03T12:31:40.447657 #1] WARN -- : tmp/audit/pipelines/smurff/ExaScience.smurff/source.yml +W, [2024-06-03T12:31:40.447912 #1] WARN -- : tmp/audit/pipelines/smurff/ExaScience.smurff/.github/workflows/exascience.smurff.yml +W, [2024-06-03T12:31:40.448421 #1] WARN -- : tmp/audit/log/valet-20240603-122921.log +W, [2024-06-03T12:31:40.448608 #1] WARN -- : tmp/audit/pipelines/smurff/ExaScience.smurff/config.json +W, [2024-06-03T12:31:40.448922 #1] WARN -- : tmp/audit/log/valet-20240603-123132.log +I, [2024-06-03T12:31:40.450847 #1] INFO -- request: GET https://api.github.com/user +I, [2024-06-03T12:31:40.672901 #1] INFO -- response: Status 200 +I, [2024-06-03T12:31:40.676522 #1] INFO -- : Sending telemetry with transaction id '63383a46-77ec-4e6d-9d99-8743b4237853' diff --git a/ci/converted/audit/pipelines/smurff/ExaScience.smurff/.github/actions/ci_conda_steps/action.yml b/ci/converted/audit/pipelines/smurff/ExaScience.smurff/.github/actions/ci_conda_steps/action.yml new file mode 100644 index 00000000..d3256b9d --- /dev/null +++ b/ci/converted/audit/pipelines/smurff/ExaScience.smurff/.github/actions/ci_conda_steps/action.yml @@ -0,0 +1,20 @@ +name: ci_conda_steps +runs: + using: composite + steps: + - name: Add conda to PATH + run: echo "##vso[task.prependpath]$CONDA/bin" + shell: bash + - name: Take ownership of conda installation + run: sudo chown -R $USER $CONDA + shell: bash + - name: Create Build environment + run: conda create --yes --quiet --name buildEnv conda-build + shell: bash + - name: Build using 'conda build' + run: |- + cd conda-recipes + source activate buildEnv + conda build --python ${{ matrix.PYTHON_VERSION }} -c vanderaa --output-folder ../conda_packages smurff + shell: bash + - uses: actions/upload-artifact@v4.1.0 \ No newline at end of file diff --git a/ci/converted/audit/pipelines/smurff/ExaScience.smurff/.github/workflows/exascience.smurff.yml b/ci/converted/audit/pipelines/smurff/ExaScience.smurff/.github/workflows/exascience.smurff.yml new file mode 100644 index 00000000..3955f8f0 --- /dev/null +++ b/ci/converted/audit/pipelines/smurff/ExaScience.smurff/.github/workflows/exascience.smurff.yml @@ -0,0 +1,174 @@ +name: smurff/ExaScience.smurff +on: + push: + branches: + - master + - release-* + - v* + pull_request: + branches: + - master +env: + CPU_COUNT: 2 + system_debug: 'false' +jobs: + Ubuntu_1604_Apt: + runs-on: ubuntu-latest + strategy: + max-parallel: 2 + matrix: + build.type: + - Debug + - Release + - RelNoOpenMP + - RelWithDebInfo + steps: + - name: checkout + uses: actions/checkout@v4.1.0 + - name: Apt install dependencies + run: |- + sudo add-apt-repository ppa:lkoppel/robotics + sudo apt-get update + sudo apt-get install -y wget ninja-build libblas-dev liblapack-dev liblapacke-dev libboost-all-dev libopenmpi-dev libeigen3-dev libhdf5-dev + sudo apt-get clean all + - name: Install HighFive + run: "wget -O HighFive.tar.gz REDACTED2.2.tar.gz \ntar xzf HighFive.tar.gz \nrm HighFive.tar.gz\ncd HighFive*\nmkdir build\ncd build \ncmake ..\nmake -j2\nsudo make install \ncd ../..\nrm -r HighFive*" + - name: Make Build Directory + run: mkdir build.${{ matrix.build.type }} +# # This item has no matching transformer +# - task: CMake@1 +# inputs: +# workingDirectory: build.${{ matrix.build.type }} +# cmakeArgs: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build.type }} .. -DENABLE_PYTHON=OFF -DBOOST_ROOT=/usr" + - name: Run ninja + run: |- + cd build.${{ matrix.build.type }} + ninja + - name: Run tests + run: |- + cd build.${{ matrix.build.type }}/bin + ./tests + Conda_Linux: + runs-on: ubuntu-latest + strategy: + matrix: + PYTHON_VERSION: + - '3.7' + - '3.8' + - '3.9' + steps: + - name: checkout + uses: actions/checkout@v4.1.0 + - uses: "./.github/actions/ci_conda_steps" + Conda_macOS: + runs-on: + - self-hosted + - macOS-latest + env: + macOS_sdk_filename: "${{ runner.temp }}/MacOSX10.9.sdk.tar.gz" + macOS_sdk_url: REDACTED_SDKs/releases/download/v10.11.0.1/MacOSX10.9.sdk.tar.gz + strategy: + matrix: + PYTHON_VERSION: + - '3.7' + - '3.8' + - '3.9' + steps: + - name: checkout + uses: actions/checkout@v4.1.0 + - name: Install MacOSX10.9.sdk + run: |- + curl -L -o ${{ env.macOS_sdk_filename }} ${{ env.macOS_sdk_url }} + sudo mkdir -p /opt + sudo tar -xzvf ${{ env.macOS_sdk_filename }} -C /opt + - uses: "./.github/actions/ci_conda_steps" + Conda_Windows: + runs-on: windows-2019 + strategy: + matrix: + PYTHON_VERSION: + - '3.7' + - '3.8' + - '3.9' + steps: + - name: checkout + uses: actions/checkout@v4.1.0 + - name: Add conda to PATH + run: Write-Host "##vso[task.prependpath]$env:CONDA\Scripts" + shell: powershell + - name: Create Anaconda environment and install conda-build + run: conda create --yes --quiet --name buildEnv conda-build + - name: Build using "conda build" + run: |- + call activate buildEnv + cd conda-recipes + conda build --python ${{ matrix.PYTHON_VERSION }} -c vanderaa --output-folder ../conda_packages smurff + - uses: actions/upload-artifact@v4.1.0 + with: + path: conda_packages + linux_wheel: + runs-on: ubuntu-latest + env: + CIBW_BUILD: cp${{ matrix.PYTHON_VERSION }}-manylinux_x86_64 + CIBW_BUILD_VERBOSITY: 1 + CIBW_ENVIRONMENT: CMAKE_ARGS='-DENABLE_BOOST=OFF -DENABLE_CMDLINE=OFF -DENABLE_TESTS=OFF' CPU_COUNT=${{ env.CPU_COUNT }} + CIBW_MANYLINUX_X86_64_IMAGE: vanderaa/manylinux2014_x86_64_smurff + CIBW_TEST_COMMAND: pytest {project}/python/test + CIBW_TEST_REQUIRES: pytest parameterized + strategy: + matrix: + PYTHON_VERSION: + - '36' + - '37' + - '38' + - '39' + steps: + - name: checkout + uses: actions/checkout@v4.1.0 + - uses: actions/setup-python@v5.0.0 + - name: Run cibuildwheel + run: |- + python3 -m pip install --upgrade pip + pip3 install cibuildwheel==1.10.0 + cibuildwheel --output-dir wheelhouse . + shell: bash + - uses: actions/upload-artifact@v4.1.0 + with: + path: wheelhouse + macos_wheel: + runs-on: + - self-hosted + - macOS-latest + env: + CIBW_BUILD: cp${{ matrix.PYTHON_VERSION }}-macosx_x86_64 + CIBW_BUILD_VERBOSITY: 1 + CIBW_ENVIRONMENT: CMAKE_ARGS='-DENABLE_BOOST=OFF -DENABLE_CMDLINE=OFF -DENABLE_TESTS=OFF -DCMAKE_PREFIX_PATH=/usr/local/opt/lapack' CPU_COUNT=${{ env.CPU_COUNT }} + CIBW_TEST_COMMAND: pytest {project}/python/test + CIBW_TEST_REQUIRES: pytest parameterized + strategy: + matrix: + PYTHON_VERSION: + - '36' + - '37' + - '38' + - '39' + steps: + - name: checkout + uses: actions/checkout@v4.1.0 + - name: Install dependencies using HomeBrew + run: |- + brew install eigen + brew install lapack + brew install pybind11 + brew install ci/highfive.rb + shell: bash + - uses: actions/setup-python@v5.0.0 + - name: Run cibuildwheel + run: |- + python3 -m pip install --upgrade pip + pip3 install cibuildwheel==1.10.0 + cibuildwheel --output-dir wheelhouse . + shell: bash + - uses: actions/upload-artifact@v4.1.0 + with: + path: wheelhouse diff --git a/ci/converted/audit/pipelines/smurff/ExaScience.smurff/config.json b/ci/converted/audit/pipelines/smurff/ExaScience.smurff/config.json new file mode 100644 index 00000000..3014a24c --- /dev/null +++ b/ci/converted/audit/pipelines/smurff/ExaScience.smurff/config.json @@ -0,0 +1,159 @@ +{ + "triggers": [ + { + "branchFilters": [ + "+master", + "+release-*", + "+v*" + ], + "pathFilters": [ + + ], + "settingsSourceType": 2, + "batchChanges": false, + "maxConcurrentBuildsPerBranch": 1, + "triggerType": "continuousIntegration" + }, + { + "branchFilters": [ + "+master" + ], + "forks": { + "enabled": true, + "allowSecrets": false, + "allowFullAccessToken": false + }, + "pathFilters": [ + + ], + "requireCommentsForNonTeamMembersOnly": false, + "requireCommentsForNonTeamMemberAndNonContributors": false, + "isCommentRequiredForPullRequest": false, + "pipelineTriggerSettings": { + "forkProtectionEnabled": false, + "buildsEnabledForForks": false, + "enforceJobAuthScopeForForks": false, + "enforceNoAccessToSecretsFromForks": false, + "isCommentRequiredForPullRequest": false, + "requireCommentsForNonTeamMembersOnly": false, + "requireCommentsForNonTeamMemberAndNonContributors": false + }, + "triggerType": "pullRequest" + } + ], + "variables": { + "system.debug": { + "value": "false", + "allowOverride": true + } + }, + "properties": { + }, + "tags": [ + + ], + "_links": { + "self": { + "href": "REDACTED67baa741-8ede-429d-a31b-08e8fea0c141/_apis/build/Definitions/1?revision=3" + }, + "web": { + "href": "REDACTED67baa741-8ede-429d-a31b-08e8fea0c141/_build/definition?definitionId=1" + }, + "editor": { + "href": "REDACTED67baa741-8ede-429d-a31b-08e8fea0c141/_build/designer?id=1&_a=edit-build-definition" + }, + "badge": { + "href": "REDACTED67baa741-8ede-429d-a31b-08e8fea0c141/_apis/build/status/1" + } + }, + "comment": "Change YAML file to ./ci/azure-pipelines.yml", + "jobAuthorizationScope": "projectCollection", + "jobTimeoutInMinutes": 60, + "jobCancelTimeoutInMinutes": 5, + "badgeEnabled": true, + "process": { + "yamlFilename": "./ci/azure-pipelines.yml", + "type": 2 + }, + "repository": { + "properties": { + "apiUrl": "REDACTED", + "branchesUrl": "REDACTED", + "cloneUrl": "REDACTED", + "fullName": "ExaScience/smurff", + "manageUrl": "REDACTED", + "refsUrl": "REDACTED", + "defaultBranch": "master", + "connectedServiceId": "0ebc2ba1-f090-4633-a54c-06f6baa0a152", + "isPrivate": "False", + "isFork": "True", + "ownerAvatarUrl": "REDACTED2.githubusercontent.com/u/5629178?v=4", + "lastUpdated": "12/03/2018 14:23:13", + "nodeId": "MDEwOlJlcG9zaXRvcnk3MDkwNjM0MA==", + "hasAdminPermissions": "True", + "safeOwnerId": "5629178", + "safeOwnerName": "ExaScience", + "safeRepository": "ExaScience/smurff", + "ownerIsAUser": "False", + "reportBuildStatus": "true" + }, + "id": "ExaScience/smurff", + "type": "GitHub", + "name": "ExaScience/smurff", + "url": "REDACTED", + "defaultBranch": "master", + "clean": null, + "checkoutSubmodules": false + }, + "quality": "definition", + "authoredBy": { + "displayName": "Tom Vander Aa (imec)", + "url": "REDACTED4.vssps.visualstudio.com/Ade9a5bea-f45a-4318-bf18-f4fb48cd0dc6/_apis/Identities/2e41751e-6ea3-635b-b614-7e79eba505d0", + "_links": { + "avatar": { + "href": "REDACTED_apis/GraphProfile/MemberAvatars/aad.MmU0MTc1MWUtNmVhMy03MzViLWI2MTQtN2U3OWViYTUwNWQw" + } + }, + "id": "2e41751e-6ea3-635b-b614-7e79eba505d0", + "uniqueName": "vanderaa@imec.be", + "imageUrl": "REDACTED_apis/GraphProfile/MemberAvatars/aad.MmU0MTc1MWUtNmVhMy03MzViLWI2MTQtN2U3OWViYTUwNWQw", + "descriptor": "aad.MmU0MTc1MWUtNmVhMy03MzViLWI2MTQtN2U3OWViYTUwNWQw" + }, + "drafts": [ + + ], + "queue": { + "_links": { + "self": { + "href": "REDACTED_apis/build/Queues/6" + } + }, + "id": 6, + "name": "Hosted Ubuntu 1604", + "url": "REDACTED_apis/build/Queues/6", + "pool": { + "id": 6, + "name": "Hosted Ubuntu 1604", + "isHosted": true + } + }, + "id": 1, + "name": "ExaScience.smurff", + "url": "REDACTED67baa741-8ede-429d-a31b-08e8fea0c141/_apis/build/Definitions/1?revision=3", + "uri": "vstfsREDACTED1", + "path": "\\", + "type": "build", + "queueStatus": "enabled", + "revision": 3, + "createdDate": "2020-01-25T08:40:07.98Z", + "project": { + "id": "67baa741-8ede-429d-a31b-08e8fea0c141", + "name": "smurff", + "description": "Automatic testing and packaging of REDACTED", + "url": "REDACTED_apis/projects/67baa741-8ede-429d-a31b-08e8fea0c141", + "state": "wellFormed", + "revision": 12, + "visibility": "public", + "lastUpdateTime": "2021-01-05T08:33:31.35Z" + } +} \ No newline at end of file diff --git a/ci/converted/audit/pipelines/smurff/ExaScience.smurff/source.yml b/ci/converted/audit/pipelines/smurff/ExaScience.smurff/source.yml new file mode 100644 index 00000000..74f3ca11 --- /dev/null +++ b/ci/converted/audit/pipelines/smurff/ExaScience.smurff/source.yml @@ -0,0 +1,175 @@ +--- +trigger: +- master +- release-* +- v* +variables: + CPU_COUNT: 2 +jobs: +- job: Ubuntu_1604_Apt + pool: + vmImage: ubuntu-latest + strategy: + maxParallel: 2 + matrix: + Debug: + build.type: Debug + Release: + build.type: Release + RelNoOpenMP: + build.type: RelNoOpenMP + RelWithDebInfo: + build.type: RelWithDebInfo + steps: + - script: | + sudo add-apt-repository ppa:lkoppel/robotics + sudo apt-get update + sudo apt-get install -y wget ninja-build libblas-dev liblapack-dev liblapacke-dev libboost-all-dev libopenmpi-dev libeigen3-dev libhdf5-dev + sudo apt-get clean all + displayName: Apt install dependencies + - script: "wget -O HighFive.tar.gz REDACTED2.2.tar.gz + \ntar xzf HighFive.tar.gz \nrm HighFive.tar.gz\ncd HighFive*\nmkdir build\ncd + build \ncmake ..\nmake -j2\nsudo make install \ncd ../..\nrm -r HighFive*\n" + displayName: Install HighFive + - script: 'mkdir build.$(build.type) + + ' + displayName: Make Build Directory + - task: CMake@1 + inputs: + workingDirectory: build.$(build.type) + cmakeArgs: "-G Ninja -DCMAKE_BUILD_TYPE=$(build.type) .. -DENABLE_PYTHON=OFF + -DBOOST_ROOT=/usr" + - script: | + cd build.$(build.type) + ninja + displayName: Run ninja + - script: | + cd build.$(build.type)/bin + ./tests + displayName: Run tests +- job: Conda_Linux + strategy: + matrix: + Python37: + PYTHON_VERSION: '3.7' + Python38: + PYTHON_VERSION: '3.8' + Python39: + PYTHON_VERSION: '3.9' + pool: + vmImage: ubuntu-latest + steps: + - template: conda-steps.yml +- job: Conda_macOS + strategy: + matrix: + Python37: + PYTHON_VERSION: '3.7' + Python38: + PYTHON_VERSION: '3.8' + Python39: + PYTHON_VERSION: '3.9' + pool: + vmImage: macOS-latest + variables: + macOS_sdk_url: REDACTED_SDKs/releases/download/v10.11.0.1/MacOSX10.9.sdk.tar.gz + macOS_sdk_filename: "$(Agent.TempDirectory)/MacOSX10.9.sdk.tar.gz" + steps: + - script: | + curl -L -o $(macOS_sdk_filename) $(macOS_sdk_url) + sudo mkdir -p /opt + sudo tar -xzvf $(macOS_sdk_filename) -C /opt + displayName: Install MacOSX10.9.sdk + - template: conda-steps.yml +- job: Conda_Windows + strategy: + matrix: + Python37: + PYTHON_VERSION: '3.7' + Python38: + PYTHON_VERSION: '3.8' + Python39: + PYTHON_VERSION: '3.9' + pool: + vmImage: windows-2019 + steps: + - powershell: Write-Host "##vso[task.prependpath]$env:CONDA\Scripts" + displayName: Add conda to PATH + - script: conda create --yes --quiet --name buildEnv conda-build + displayName: Create Anaconda environment and install conda-build + - script: | + call activate buildEnv + cd conda-recipes + conda build --python $(PYTHON_VERSION) -c vanderaa --output-folder ../conda_packages smurff + displayName: Build using "conda build" + - task: PublishBuildArtifacts@1 + inputs: + pathtoPublish: conda_packages +- job: linux_wheel + strategy: + matrix: + Python36: + PYTHON_VERSION: '36' + Python37: + PYTHON_VERSION: '37' + Python38: + PYTHON_VERSION: '38' + Python39: + PYTHON_VERSION: '39' + variables: + CIBW_BUILD: cp$(PYTHON_VERSION)-manylinux_x86_64 + CIBW_MANYLINUX_X86_64_IMAGE: vanderaa/manylinux2014_x86_64_smurff + CIBW_ENVIRONMENT: CMAKE_ARGS='-DENABLE_BOOST=OFF -DENABLE_CMDLINE=OFF -DENABLE_TESTS=OFF' + CPU_COUNT=$(CPU_COUNT) + CIBW_TEST_REQUIRES: pytest parameterized + CIBW_TEST_COMMAND: pytest {project}/python/test + CIBW_BUILD_VERBOSITY: 1 + pool: + vmImage: ubuntu-latest + steps: + - task: UsePythonVersion@0 + - bash: | + python3 -m pip install --upgrade pip + pip3 install cibuildwheel==1.10.0 + cibuildwheel --output-dir wheelhouse . + displayName: Run cibuildwheel + - task: PublishBuildArtifacts@1 + inputs: + pathtoPublish: wheelhouse +- job: macos_wheel + strategy: + matrix: + Python36: + PYTHON_VERSION: '36' + Python37: + PYTHON_VERSION: '37' + Python38: + PYTHON_VERSION: '38' + Python39: + PYTHON_VERSION: '39' + variables: + CIBW_BUILD: cp$(PYTHON_VERSION)-macosx_x86_64 + CIBW_ENVIRONMENT: CMAKE_ARGS='-DENABLE_BOOST=OFF -DENABLE_CMDLINE=OFF -DENABLE_TESTS=OFF + -DCMAKE_PREFIX_PATH=/usr/local/opt/lapack' CPU_COUNT=$(CPU_COUNT) + CIBW_TEST_REQUIRES: pytest parameterized + CIBW_TEST_COMMAND: pytest {project}/python/test + CIBW_BUILD_VERBOSITY: 1 + pool: + vmImage: macOS-latest + steps: + - bash: | + brew install eigen + brew install lapack + brew install pybind11 + brew install ci/highfive.rb + displayName: Install dependencies using HomeBrew + - task: UsePythonVersion@0 + - bash: | + python3 -m pip install --upgrade pip + pip3 install cibuildwheel==1.10.0 + cibuildwheel --output-dir wheelhouse . + displayName: Run cibuildwheel + - task: PublishBuildArtifacts@1 + inputs: + pathtoPublish: wheelhouse diff --git a/ci/converted/audit/workflow_usage.csv b/ci/converted/audit/workflow_usage.csv new file mode 100644 index 00000000..a68ed069 --- /dev/null +++ b/ci/converted/audit/workflow_usage.csv @@ -0,0 +1,11 @@ +Pipeline,Action,File path +smurff/ExaScience.smurff,actions/checkout@v4.1.0,tmp/audit/pipelines/smurff/ExaScience.smurff/.github/workflows/exascience.smurff.yml +smurff/ExaScience.smurff,./.github/actions/ci_conda_steps,tmp/audit/pipelines/smurff/ExaScience.smurff/.github/workflows/exascience.smurff.yml +smurff/ExaScience.smurff,actions/upload-artifact@v4.1.0,tmp/audit/pipelines/smurff/ExaScience.smurff/.github/workflows/exascience.smurff.yml +smurff/ExaScience.smurff,actions/setup-python@v5.0.0,tmp/audit/pipelines/smurff/ExaScience.smurff/.github/workflows/exascience.smurff.yml + +Pipeline,Secret,File path + + +Pipeline,Runner,File path +smurff/ExaScience.smurff,macOS-latest,tmp/audit/pipelines/smurff/ExaScience.smurff/.github/workflows/exascience.smurff.yml \ No newline at end of file From 18af73ccea20ec8605c41377decf3a0e5a638ebc Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Fri, 7 Jun 2024 09:44:58 +0200 Subject: [PATCH 19/75] cibw: add before-all on macOS --- pyproject.toml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 04163cda..7a2bc676 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,5 +66,8 @@ test-command = 'pytest {project}/python/test' test-requires = 'parameterized pytest' build-verbosity = 1 -[tool.cibuildwheel.macos.environment] -MACOSX_DEPLOYMENT_TARGET = "14.0" +[tool.cibuildwheel.macos] +environment = { MACOSX_DEPLOYMENT_TARGET = "14.0" } +before-all = [ + "brew install eigen lapack ci/highfive.rb" + ] \ No newline at end of file From 87a1f85e8fd54b82f8282a9af3be03fcfd92236e Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Fri, 7 Jun 2024 09:50:43 +0200 Subject: [PATCH 20/75] ci: document why skip certain builds --- pyproject.toml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 7a2bc676..21dced12 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -61,6 +61,12 @@ py_smurff = "smurff.cmdline:main" [tool.cibuildwheel] manylinux-x86_64-image = "vanderaa/manylinux2014_x86_64_smurff" musllinux-x86_64-image = "vanderaa/musllinux_1_2_x86_64_smurff" + +# We skip these: +# - PyPy: never tested, pandas does not seem to work +# - CPython 3.6: unsupported by scikit_build_core +# - CPython 3.12: removed pkg_resources in h5sparse +# - i686 and win32: we do not care about 32bit skip = "pp* cp36-* cp312-* *-win32 *i686" test-command = 'pytest {project}/python/test' test-requires = 'parameterized pytest' From 199e9761a69cae6d5519dbb55948494545f5efba Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Fri, 7 Jun 2024 10:01:46 +0200 Subject: [PATCH 21/75] ci: use openblas --- pyproject.toml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 21dced12..d8ce410f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,12 @@ sdist.include = ["python/smurff/_version.py"] cmake.verbose = true logging.level = "INFO" +[tool.scikit-build.cmake.define] +ENABLE_BOOST = "OFF" +ENABLE_CMDLINE = "OFF" +ENABLE_TESTS = "OFF" +ENABLE_OPENBLAS = "ON" + [tool.setuptools_scm] # Section required write_to = "python/smurff/_version.py" @@ -73,7 +79,8 @@ test-requires = 'parameterized pytest' build-verbosity = 1 [tool.cibuildwheel.macos] -environment = { MACOSX_DEPLOYMENT_TARGET = "14.0" } +environment = { CMAKE_PREFIX_PATH = "/opt/homebrew/opt/openblas", MACOSX_DEPLOYMENT_TARGET = "14.0" } + before-all = [ - "brew install eigen lapack ci/highfive.rb" + "brew install eigen openblas ci/highfive.rb" ] \ No newline at end of file From 34214975bffb5e2e23240d2172fbc602c2345609 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Fri, 7 Jun 2024 10:22:36 +0200 Subject: [PATCH 22/75] ci: cleanup pyproject, add --formulae to brew install --- pyproject.toml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d8ce410f..f0a057a5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -78,9 +78,11 @@ test-command = 'pytest {project}/python/test' test-requires = 'parameterized pytest' build-verbosity = 1 -[tool.cibuildwheel.macos] -environment = { CMAKE_PREFIX_PATH = "/opt/homebrew/opt/openblas", MACOSX_DEPLOYMENT_TARGET = "14.0" } +[tool.cibuildwheel.macos.environment] +CMAKE_PREFIX_PATH = "/opt/homebrew/opt/openblas" +MACOSX_DEPLOYMENT_TARGET = "14.0" +[tool.cibuildwheel.macos] before-all = [ - "brew install eigen openblas ci/highfive.rb" + "brew install --formulae eigen openblas ci/highfive.rb" ] \ No newline at end of file From c9084fc7746a21f710349f8e047579e432c501e6 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Fri, 7 Jun 2024 10:54:59 +0200 Subject: [PATCH 23/75] cibw: add macos-13 --- .github/workflows/wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index aeb49dec..81b64b72 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -12,7 +12,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, macos-14] + os: [ubuntu-latest, macos-13, macos-14] # os: [ubuntu-latest, windows-latest, macos-13, macos-14] steps: From 977a95c55560a097d65ebcc60c60fe273e0e9df1 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Fri, 7 Jun 2024 11:12:21 +0200 Subject: [PATCH 24/75] ci: use openblas -- fixup --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index f0a057a5..e7988ab2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -79,7 +79,7 @@ test-requires = 'parameterized pytest' build-verbosity = 1 [tool.cibuildwheel.macos.environment] -CMAKE_PREFIX_PATH = "/opt/homebrew/opt/openblas" +CMAKE_PREFIX_PATH = "$(brew --prefix)/opt/openblas" MACOSX_DEPLOYMENT_TARGET = "14.0" [tool.cibuildwheel.macos] From 44527a4633d9b7975d60d991f1edfd935de7cc9a Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 10 Jun 2024 09:48:30 +0200 Subject: [PATCH 25/75] CI: test move MACOS_DEPLOYMENT_VERSION to wheels.yml --- .github/workflows/wheels.yml | 2 ++ pyproject.toml | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 81b64b72..f1bcb2a8 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -26,6 +26,8 @@ jobs: - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse + env: + CIBW_ENVIRONMENT: MACOSX_DEPLOYMENT_TARGET=${{ (matrix.os == 'macos-14') && '14.0' || '13.0' }} - uses: actions/upload-artifact@v4 with: diff --git a/pyproject.toml b/pyproject.toml index e7988ab2..bc96cbac 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -80,7 +80,6 @@ build-verbosity = 1 [tool.cibuildwheel.macos.environment] CMAKE_PREFIX_PATH = "$(brew --prefix)/opt/openblas" -MACOSX_DEPLOYMENT_TARGET = "14.0" [tool.cibuildwheel.macos] before-all = [ From 37514201d88e81c6db3572ecf44cc2dcb6662c53 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 10 Jun 2024 10:56:31 +0200 Subject: [PATCH 26/75] CI: brew force link openblas --- pyproject.toml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index bc96cbac..8041b7b9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -76,12 +76,10 @@ musllinux-x86_64-image = "vanderaa/musllinux_1_2_x86_64_smurff" skip = "pp* cp36-* cp312-* *-win32 *i686" test-command = 'pytest {project}/python/test' test-requires = 'parameterized pytest' -build-verbosity = 1 - -[tool.cibuildwheel.macos.environment] -CMAKE_PREFIX_PATH = "$(brew --prefix)/opt/openblas" +build-verbosity = 3 [tool.cibuildwheel.macos] before-all = [ - "brew install --formulae eigen openblas ci/highfive.rb" - ] \ No newline at end of file + "brew install --formulae eigen openblas ci/highfive.rb", + "brew link --force openblas" +] \ No newline at end of file From 644e9beececc366fce69dcb6c633e58a3dcb27a1 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 10 Jun 2024 10:56:57 +0200 Subject: [PATCH 27/75] ci: put macos-target in matrix --- .github/workflows/wheels.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index f1bcb2a8..bcff99c3 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -12,8 +12,13 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, macos-13, macos-14] - # os: [ubuntu-latest, windows-latest, macos-13, macos-14] + include: + - os: ubuntu-latest + macos-target: unused + - os: macos-13 + macos-target: 13.0 + - os: macos-14 + macos-target: 14.0 steps: - uses: actions/checkout@v4 @@ -27,7 +32,7 @@ jobs: - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse env: - CIBW_ENVIRONMENT: MACOSX_DEPLOYMENT_TARGET=${{ (matrix.os == 'macos-14') && '14.0' || '13.0' }} + CIBW_ENVIRONMENT: MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos-target }} - uses: actions/upload-artifact@v4 with: From 4c79601ac6368075ec301ad958388c57cefff1f2 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 10 Jun 2024 13:26:51 +0200 Subject: [PATCH 28/75] ci: put openblas-path in matrix --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 8041b7b9..aae80185 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ logging.level = "INFO" [tool.scikit-build.cmake.define] ENABLE_BOOST = "OFF" ENABLE_CMDLINE = "OFF" -ENABLE_TESTS = "OFF" +ENABLE_TESTS = "ON" ENABLE_OPENBLAS = "ON" [tool.setuptools_scm] # Section required From c1236fd19ca95e10906e499440341463306d613c Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 10 Jun 2024 13:28:29 +0200 Subject: [PATCH 29/75] ci: put openblas-path in matrix --- .github/workflows/wheels.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index bcff99c3..abec8d28 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -15,10 +15,13 @@ jobs: include: - os: ubuntu-latest macos-target: unused + openblas-path: unused - os: macos-13 macos-target: 13.0 + openblas-path: /usr/local/opt/openblas - os: macos-14 macos-target: 14.0 + openblas-path: /opt/homebrew/opt/openblas steps: - uses: actions/checkout@v4 @@ -32,7 +35,9 @@ jobs: - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse env: - CIBW_ENVIRONMENT: MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos-target }} + CIBW_ENVIRONMENT: | + MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos-target }} + CMAKE_PREFIX_PATH=${{ matrix.openblas-path }} - uses: actions/upload-artifact@v4 with: From 0530446438c71f50a81471d85cf8e323550c586b Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 10 Jun 2024 13:30:07 +0200 Subject: [PATCH 30/75] fixup! ci: put openblas-path in matrix --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index aae80185..8041b7b9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ logging.level = "INFO" [tool.scikit-build.cmake.define] ENABLE_BOOST = "OFF" ENABLE_CMDLINE = "OFF" -ENABLE_TESTS = "ON" +ENABLE_TESTS = "OFF" ENABLE_OPENBLAS = "ON" [tool.setuptools_scm] # Section required From a76fbe46d637ac09c9f12555d4fbba5413fe63ea Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 10 Jun 2024 14:41:00 +0200 Subject: [PATCH 31/75] ci: put openblas-path in matrix --- .github/workflows/wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index abec8d28..b47ae9c0 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -35,7 +35,7 @@ jobs: - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse env: - CIBW_ENVIRONMENT: | + CIBW_ENVIRONMENT: >- MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos-target }} CMAKE_PREFIX_PATH=${{ matrix.openblas-path }} From 01b72c615bac23a02d9425aeb18db95535443e03 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 10 Jun 2024 14:44:42 +0200 Subject: [PATCH 32/75] ci: put openblas-path in matrix --- .github/workflows/wheels.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index b47ae9c0..015ef689 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -17,11 +17,11 @@ jobs: macos-target: unused openblas-path: unused - os: macos-13 - macos-target: 13.0 - openblas-path: /usr/local/opt/openblas + macos-target: "13.0" + openblas-path: "/usr/local/opt/openblas" - os: macos-14 - macos-target: 14.0 - openblas-path: /opt/homebrew/opt/openblas + macos-target: "14.0" + openblas-path: "/opt/homebrew/opt/openblas" steps: - uses: actions/checkout@v4 From 3284a78cd4e4e6f4bad218188cca7a12d1fd94ee Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 10 Jun 2024 15:07:49 +0200 Subject: [PATCH 33/75] wip --- .github/workflows/wheels.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 015ef689..e8f1123b 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -13,15 +13,9 @@ jobs: strategy: matrix: include: - - os: ubuntu-latest - macos-target: unused - openblas-path: unused - os: macos-13 macos-target: "13.0" openblas-path: "/usr/local/opt/openblas" - - os: macos-14 - macos-target: "14.0" - openblas-path: "/opt/homebrew/opt/openblas" steps: - uses: actions/checkout@v4 @@ -36,7 +30,6 @@ jobs: run: python -m cibuildwheel --output-dir wheelhouse env: CIBW_ENVIRONMENT: >- - MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos-target }} CMAKE_PREFIX_PATH=${{ matrix.openblas-path }} - uses: actions/upload-artifact@v4 From be301d69809a97410ea7f879a0204b7fa069beea Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 10 Jun 2024 15:23:53 +0200 Subject: [PATCH 34/75] wip --- .github/workflows/wheels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index e8f1123b..182f5fc8 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -30,6 +30,7 @@ jobs: run: python -m cibuildwheel --output-dir wheelhouse env: CIBW_ENVIRONMENT: >- + MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos-target }} CMAKE_PREFIX_PATH=${{ matrix.openblas-path }} - uses: actions/upload-artifact@v4 From e9d027edf9512768a0a505373426f56172db74e5 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Tue, 11 Jun 2024 14:47:12 +0200 Subject: [PATCH 35/75] conda: updated recipe --- conda-recipes/conda_build_config.yaml | 6 +++--- conda-recipes/smurff/build.sh | 11 ++--------- conda-recipes/smurff/meta.yaml | 9 +++------ conda-recipes/smurff/run_test.bat | 3 --- conda-recipes/smurff/run_test.sh | 1 - 5 files changed, 8 insertions(+), 22 deletions(-) diff --git a/conda-recipes/conda_build_config.yaml b/conda-recipes/conda_build_config.yaml index e4ba4767..858e2e23 100644 --- a/conda-recipes/conda_build_config.yaml +++ b/conda-recipes/conda_build_config.yaml @@ -4,9 +4,9 @@ python: - 3.10 - 3.11 -blas_impl: # [linux64 or win64] - - openblas # [linux64 or win64] - - mkl # [linux64 or win64] +blas_impl: + - openblas + - mkl hdf5: - 1.10.4 diff --git a/conda-recipes/smurff/build.sh b/conda-recipes/smurff/build.sh index b63222cc..33d6593f 100644 --- a/conda-recipes/smurff/build.sh +++ b/conda-recipes/smurff/build.sh @@ -1,14 +1,7 @@ #!/bin/bash -if [ "$blas_impl" == "mkl" ] -then - SKBUILD_CMAKE_ARGS="-DENABLE_MKL=ON -DENABLE_OPENBLAS=OFF" -else - SKBUILD_CMAKE_ARGS="-DENABLE_OPENBLAS=ON -DENABLE_MKL=OFF" -fi +export CMAKE_ARGS="-DCMAKE_INSTALL_PREFIX=$PREFIX -DENABLE_MPI=OFF" echo "extra CMAKE_ARGS: $SKBUILD_CMAKE_ARGS" -export SKBUILD_CMAKE_ARGS - -$PYTHON -m pip install . --no-deps -vv +$PYTHON -m pip install . --no-deps -vv \ No newline at end of file diff --git a/conda-recipes/smurff/meta.yaml b/conda-recipes/smurff/meta.yaml index 19a95785..d551a851 100644 --- a/conda-recipes/smurff/meta.yaml +++ b/conda-recipes/smurff/meta.yaml @@ -18,11 +18,9 @@ requirements: - llvm-openmp # [osx] host: - llvm-openmp # [osx] - - mkl-devel # [blas_impl == 'mkl'] - - openblas # [blas_impl != 'mkl'] + - mkl-devel # [(linux64 or win64) and blas_impl == 'mkl'] - eigen - - catch2 - - libboost-devel + - libboost - pybind11 - highfive >=2.2 - h5py @@ -31,8 +29,7 @@ requirements: - setuptools_scm run: - python {{ python }} - - mkl # [blas_impl == 'mkl'] - - openblas # [blas_impl != 'mkl'] + - mkl # [(linux64 or win64) and blas_impl == 'mkl'] - libboost # [not win] - numpy - scipy diff --git a/conda-recipes/smurff/run_test.bat b/conda-recipes/smurff/run_test.bat index 67130bce..f782845a 100644 --- a/conda-recipes/smurff/run_test.bat +++ b/conda-recipes/smurff/run_test.bat @@ -1,4 +1 @@ -%CONDA_PREFIX%\Scripts\smurff --bist ~[random] -if errorlevel 1 exit 1 %PYTHON% -m pytest -if errorlevel 1 exit 1 \ No newline at end of file diff --git a/conda-recipes/smurff/run_test.sh b/conda-recipes/smurff/run_test.sh index 4dcf42ab..8a7d9bcd 100644 --- a/conda-recipes/smurff/run_test.sh +++ b/conda-recipes/smurff/run_test.sh @@ -1,2 +1 @@ -$PREFIX/bin/smurff --bist $PYTHON -m pytest -v python/test \ No newline at end of file From 271f0f31d70609067bdf3399f289dac726ea03f9 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 13 Jun 2024 15:29:06 +0200 Subject: [PATCH 36/75] conda: cmake args from variant --- conda-recipes/smurff/build.sh | 14 +++++++++++--- pyproject.toml | 1 - 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/conda-recipes/smurff/build.sh b/conda-recipes/smurff/build.sh index 33d6593f..28741daf 100644 --- a/conda-recipes/smurff/build.sh +++ b/conda-recipes/smurff/build.sh @@ -1,7 +1,15 @@ #!/bin/bash -export CMAKE_ARGS="-DCMAKE_INSTALL_PREFIX=$PREFIX -DENABLE_MPI=OFF" +if [ $blas_impl == "mkl" ] +then + SKBUILD_CMAKE_ARGS="-DENABLE_MKL=ON" +elif [ $blas_impl == "openblas" ] +then + SKBUILD_CMAKE_ARGS="-DENABLE_OPENBLAS=ON" +fi -echo "extra CMAKE_ARGS: $SKBUILD_CMAKE_ARGS" +export SKBUILD_CMAKE_ARGS -$PYTHON -m pip install . --no-deps -vv \ No newline at end of file +$PYTHON -m pip install . \ + $EXTRA_CMAKE_ARGS \ + --no-deps -vv diff --git a/pyproject.toml b/pyproject.toml index 8041b7b9..f866b113 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,7 +19,6 @@ logging.level = "INFO" ENABLE_BOOST = "OFF" ENABLE_CMDLINE = "OFF" ENABLE_TESTS = "OFF" -ENABLE_OPENBLAS = "ON" [tool.setuptools_scm] # Section required write_to = "python/smurff/_version.py" From cc94e85c673701482b49f0f71e4f465646574711 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Fri, 14 Jun 2024 10:01:07 +0200 Subject: [PATCH 37/75] conda: blas_impl --- conda-recipes/conda_build_config.yaml | 6 +++--- conda-recipes/smurff/build.sh | 9 ++++++--- conda-recipes/smurff/meta.yaml | 6 ++++-- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/conda-recipes/conda_build_config.yaml b/conda-recipes/conda_build_config.yaml index 858e2e23..e4ba4767 100644 --- a/conda-recipes/conda_build_config.yaml +++ b/conda-recipes/conda_build_config.yaml @@ -4,9 +4,9 @@ python: - 3.10 - 3.11 -blas_impl: - - openblas - - mkl +blas_impl: # [linux64 or win64] + - openblas # [linux64 or win64] + - mkl # [linux64 or win64] hdf5: - 1.10.4 diff --git a/conda-recipes/smurff/build.sh b/conda-recipes/smurff/build.sh index 28741daf..5322ffe1 100644 --- a/conda-recipes/smurff/build.sh +++ b/conda-recipes/smurff/build.sh @@ -6,10 +6,13 @@ then elif [ $blas_impl == "openblas" ] then SKBUILD_CMAKE_ARGS="-DENABLE_OPENBLAS=ON" +else + echo "Unknown BLAS impl: \"$blas_impl\"" + exit -1 fi +echo "extra CMAKE_ARGS: $SKBUILD_CMAKE_ARGS" + export SKBUILD_CMAKE_ARGS -$PYTHON -m pip install . \ - $EXTRA_CMAKE_ARGS \ - --no-deps -vv +$PYTHON -m pip install . --no-deps -vv diff --git a/conda-recipes/smurff/meta.yaml b/conda-recipes/smurff/meta.yaml index d551a851..defa5e8e 100644 --- a/conda-recipes/smurff/meta.yaml +++ b/conda-recipes/smurff/meta.yaml @@ -18,7 +18,8 @@ requirements: - llvm-openmp # [osx] host: - llvm-openmp # [osx] - - mkl-devel # [(linux64 or win64) and blas_impl == 'mkl'] + - mkl-devel # [blas_impl == 'mkl'] + - openblas # [blas_impl != 'mkl'] - eigen - libboost - pybind11 @@ -29,7 +30,8 @@ requirements: - setuptools_scm run: - python {{ python }} - - mkl # [(linux64 or win64) and blas_impl == 'mkl'] + - mkl # [blas_impl == 'mkl'] + - openblas # [blas_impl != 'mkl'] - libboost # [not win] - numpy - scipy From b598d006c8622be8fa70d481d8479bbf7f949a14 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Fri, 14 Jun 2024 10:09:59 +0200 Subject: [PATCH 38/75] conda: blas_impl --- conda-recipes/smurff/build.sh | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/conda-recipes/smurff/build.sh b/conda-recipes/smurff/build.sh index 5322ffe1..58761329 100644 --- a/conda-recipes/smurff/build.sh +++ b/conda-recipes/smurff/build.sh @@ -1,14 +1,10 @@ #!/bin/bash -if [ $blas_impl == "mkl" ] +if [ "$blas_impl" == "mkl" ] then SKBUILD_CMAKE_ARGS="-DENABLE_MKL=ON" -elif [ $blas_impl == "openblas" ] -then - SKBUILD_CMAKE_ARGS="-DENABLE_OPENBLAS=ON" else - echo "Unknown BLAS impl: \"$blas_impl\"" - exit -1 + SKBUILD_CMAKE_ARGS="-DENABLE_OPENBLAS=ON" fi echo "extra CMAKE_ARGS: $SKBUILD_CMAKE_ARGS" From e92680eb534d077a31a9f98b9e8134d64c5e13c1 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Fri, 14 Jun 2024 12:48:54 +0200 Subject: [PATCH 39/75] cibw: wip --- ci/buildwheel/build_hdf5.sh | 53 +++++++++++++++++++++++++++++++++++++ pyproject.toml | 4 +-- 2 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 ci/buildwheel/build_hdf5.sh diff --git a/ci/buildwheel/build_hdf5.sh b/ci/buildwheel/build_hdf5.sh new file mode 100644 index 00000000..c1313ec1 --- /dev/null +++ b/ci/buildwheel/build_hdf5.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +# Check if the version parameter is provided +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi + +# Set the HDF5 version +HDF5_VERSION=$1 + +if [ $HDF5_VERSION == "detect" ]; then + HDF5_VERSION=$(python -c "import h5py; print('.'.join(map(str, h5py.h5.get_libversion())))") + echo "Detected version: $HDF5_VERSION" +fi + +# Download URL +HDF5_URL="https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${HDF5_VERSION:0:1}/hdf5-$HDF5_VERSION/src/hdf5-$HDF5_VERSION.tar.gz" + +# Create a directory for the download +mkdir -p hdf5_build +cd hdf5_build + +# Download the specified version of HDF5 +echo "Downloading HDF5 version $HDF5_VERSION..." +wget $HDF5_URL -O hdf5-$HDF5_VERSION.tar.gz + +if [ $? -ne 0 ]; then + echo "Failed to download HDF5 version $HDF5_VERSION" + exit 1 +fi + +# Extract the tarball +echo "Extracting HDF5 version $HDF5_VERSION..." +tar -xzvf hdf5-$HDF5_VERSION.tar.gz + +cd hdf5-$HDF5_VERSION + +# Configure, make, and install +echo "Configuring HDF5 version $HDF5_VERSION..." +./configure --prefix=/usr/local/hdf5-$HDF5_VERSION + +echo "Building HDF5 version $HDF5_VERSION..." +make + +echo "Installing HDF5 version $HDF5_VERSION..." +sudo make install + +# Cleanup +cd ../.. +rm -rf hdf5_build + +echo "HDF5 version $HDF5_VERSION installed successfully!" diff --git a/pyproject.toml b/pyproject.toml index f866b113..c597a15e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -79,6 +79,6 @@ build-verbosity = 3 [tool.cibuildwheel.macos] before-all = [ - "brew install --formulae eigen openblas ci/highfive.rb", - "brew link --force openblas" + "brew install --formulae eigen ci/highfive.rb", + "pip install ] \ No newline at end of file From 3d13d5d8a3552e81bf91e2dc53e4f82cbe78b4ea Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Fri, 14 Jun 2024 15:26:59 +0200 Subject: [PATCH 40/75] cibw: wip macos --- pyproject.toml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index c597a15e..1599f873 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -79,6 +79,7 @@ build-verbosity = 3 [tool.cibuildwheel.macos] before-all = [ - "brew install --formulae eigen ci/highfive.rb", - "pip install -] \ No newline at end of file + "brew install --formulae eigen ci/highfive.rb", + ] + +repair-wheel-command = "delocate-wheel --exclude hdf5 --exclude openblas --require-archs {delocate_archs} -w {dest_dir} -v {wheel}" \ No newline at end of file From a6e6d263d98f0725d32f434878450ed79dc8f905 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Fri, 14 Jun 2024 15:35:07 +0200 Subject: [PATCH 41/75] cibw: wip macos --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1599f873..a0367426 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -80,6 +80,6 @@ build-verbosity = 3 [tool.cibuildwheel.macos] before-all = [ "brew install --formulae eigen ci/highfive.rb", + "brew link --force openblas" ] - repair-wheel-command = "delocate-wheel --exclude hdf5 --exclude openblas --require-archs {delocate_archs} -w {dest_dir} -v {wheel}" \ No newline at end of file From a819da1ea4a518fdc5cd9f7134608129a586e3d3 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Fri, 14 Jun 2024 15:40:06 +0200 Subject: [PATCH 42/75] cibw: wip macos --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index a0367426..1754a594 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -79,7 +79,7 @@ build-verbosity = 3 [tool.cibuildwheel.macos] before-all = [ - "brew install --formulae eigen ci/highfive.rb", + "brew install --formulae openblas eigen ci/highfive.rb", "brew link --force openblas" ] repair-wheel-command = "delocate-wheel --exclude hdf5 --exclude openblas --require-archs {delocate_archs} -w {dest_dir} -v {wheel}" \ No newline at end of file From 3b9b0337044587ce35836a57ad1f52096e7cda63 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 09:08:39 +0200 Subject: [PATCH 43/75] cibw: do not set MACOSX_DEPLOYMENT_TARGET --- .github/workflows/wheels.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 182f5fc8..e8f1123b 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -30,7 +30,6 @@ jobs: run: python -m cibuildwheel --output-dir wheelhouse env: CIBW_ENVIRONMENT: >- - MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos-target }} CMAKE_PREFIX_PATH=${{ matrix.openblas-path }} - uses: actions/upload-artifact@v4 From dca7c233e59693033f6ad3f3247084a98f087508 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 09:28:44 +0200 Subject: [PATCH 44/75] cibw: disable Python 3.7 --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1754a594..d2326b35 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -70,9 +70,10 @@ musllinux-x86_64-image = "vanderaa/musllinux_1_2_x86_64_smurff" # We skip these: # - PyPy: never tested, pandas does not seem to work # - CPython 3.6: unsupported by scikit_build_core +# - CPython 3.7: unsupported by h5sparse # - CPython 3.12: removed pkg_resources in h5sparse # - i686 and win32: we do not care about 32bit -skip = "pp* cp36-* cp312-* *-win32 *i686" +skip = "pp* cp36-* cp37-* cp312-* *-win32 *i686" test-command = 'pytest {project}/python/test' test-requires = 'parameterized pytest' build-verbosity = 3 From e2decd3583f2445962d50b38d445e31c0683d3db Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 09:49:05 +0200 Subject: [PATCH 45/75] cibw: re-enable linux and macos-14 --- .github/workflows/wheels.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index e8f1123b..a6d3ef66 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -12,10 +12,8 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - include: - - os: macos-13 - macos-target: "13.0" - openblas-path: "/usr/local/opt/openblas" + os: [ubuntu-latest, macos-13, macos-14] + # os: [ubuntu-latest, windows-latest, macos-13, macos-14] steps: - uses: actions/checkout@v4 @@ -30,7 +28,7 @@ jobs: run: python -m cibuildwheel --output-dir wheelhouse env: CIBW_ENVIRONMENT: >- - CMAKE_PREFIX_PATH=${{ matrix.openblas-path }} + CMAKE_PREFIX_PATH=/usr/local/homebrew/opt/openblas;/opt/homebrew/opt/openblas - uses: actions/upload-artifact@v4 with: From 08562440b9c58d2d275ee107511bffb84f8af310 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 09:51:20 +0200 Subject: [PATCH 46/75] cibw: re-enable linux and macos-14 --- .github/workflows/wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index a6d3ef66..672f37cc 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -28,7 +28,7 @@ jobs: run: python -m cibuildwheel --output-dir wheelhouse env: CIBW_ENVIRONMENT: >- - CMAKE_PREFIX_PATH=/usr/local/homebrew/opt/openblas;/opt/homebrew/opt/openblas + CMAKE_PREFIX_PATH="/usr/local/homebrew/opt/openblas;/opt/homebrew/opt/openblas" - uses: actions/upload-artifact@v4 with: From c64fe62ebd6faa8e5d80760e3e0c72cf8c0520a6 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 10:06:57 +0200 Subject: [PATCH 47/75] pyproject: enable openblas by default --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index d2326b35..55cbc6ab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,6 +19,7 @@ logging.level = "INFO" ENABLE_BOOST = "OFF" ENABLE_CMDLINE = "OFF" ENABLE_TESTS = "OFF" +ENABLE_OPENBLAS = "ON" [tool.setuptools_scm] # Section required write_to = "python/smurff/_version.py" From 3e0f862d9919702e4e1ad5f0c7b2880edb8de6d0 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 10:40:53 +0200 Subject: [PATCH 48/75] cibw: wip --- .github/workflows/wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 672f37cc..9f487595 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -28,7 +28,7 @@ jobs: run: python -m cibuildwheel --output-dir wheelhouse env: CIBW_ENVIRONMENT: >- - CMAKE_PREFIX_PATH="/usr/local/homebrew/opt/openblas;/opt/homebrew/opt/openblas" + CMAKE_PREFIX_PATH="/usr/local/homebrew/opt/openblas:/opt/homebrew/opt/openblas" - uses: actions/upload-artifact@v4 with: From 373a5efcdaaac9837683d4db9f86124e83570726 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 10:52:33 +0200 Subject: [PATCH 49/75] cibw: wip --- .github/workflows/wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 9f487595..e8aab2ea 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -28,7 +28,7 @@ jobs: run: python -m cibuildwheel --output-dir wheelhouse env: CIBW_ENVIRONMENT: >- - CMAKE_PREFIX_PATH="/usr/local/homebrew/opt/openblas:/opt/homebrew/opt/openblas" + CMAKE_PREFIX_PATH="/usr/local/opt/openblas:/opt/homebrew/opt/openblas" - uses: actions/upload-artifact@v4 with: From 88309a3554bbf85238491eb00a2dc8134273abf3 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 11:06:59 +0200 Subject: [PATCH 50/75] ci: split conda and cibw cmake defines --- conda-recipes/smurff/build.sh | 4 ++-- pyproject.toml | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/conda-recipes/smurff/build.sh b/conda-recipes/smurff/build.sh index 58761329..b63222cc 100644 --- a/conda-recipes/smurff/build.sh +++ b/conda-recipes/smurff/build.sh @@ -2,9 +2,9 @@ if [ "$blas_impl" == "mkl" ] then - SKBUILD_CMAKE_ARGS="-DENABLE_MKL=ON" + SKBUILD_CMAKE_ARGS="-DENABLE_MKL=ON -DENABLE_OPENBLAS=OFF" else - SKBUILD_CMAKE_ARGS="-DENABLE_OPENBLAS=ON" + SKBUILD_CMAKE_ARGS="-DENABLE_OPENBLAS=ON -DENABLE_MKL=OFF" fi echo "extra CMAKE_ARGS: $SKBUILD_CMAKE_ARGS" diff --git a/pyproject.toml b/pyproject.toml index 55cbc6ab..01dd3f1d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,12 +15,6 @@ sdist.include = ["python/smurff/_version.py"] cmake.verbose = true logging.level = "INFO" -[tool.scikit-build.cmake.define] -ENABLE_BOOST = "OFF" -ENABLE_CMDLINE = "OFF" -ENABLE_TESTS = "OFF" -ENABLE_OPENBLAS = "ON" - [tool.setuptools_scm] # Section required write_to = "python/smurff/_version.py" @@ -79,6 +73,12 @@ test-command = 'pytest {project}/python/test' test-requires = 'parameterized pytest' build-verbosity = 3 +[tool.cibuildwheel.config-settings] +"cmake.define.ENABLE_OPENBLAS" = "ON" +"cmake.define.ENABLE_BOOST" = "OFF" +"cmake.define.ENABLE_CMDLINE" = "OFF" +"cmake.define.ENABLE_TEST" = "OFF" + [tool.cibuildwheel.macos] before-all = [ "brew install --formulae openblas eigen ci/highfive.rb", From 4c76308b588fbc88a3be07a3c60f222b522f31e6 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 11:17:05 +0200 Subject: [PATCH 51/75] ci: split conda and cibw cmake defines --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 01dd3f1d..987234fa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -77,7 +77,7 @@ build-verbosity = 3 "cmake.define.ENABLE_OPENBLAS" = "ON" "cmake.define.ENABLE_BOOST" = "OFF" "cmake.define.ENABLE_CMDLINE" = "OFF" -"cmake.define.ENABLE_TEST" = "OFF" +"cmake.define.ENABLE_TESTS" = "OFF" [tool.cibuildwheel.macos] before-all = [ From f8c56c33507722e0d6c088b3db9c6de4bf43ed34 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 13:45:38 +0200 Subject: [PATCH 52/75] ci: wip conda --- .github/workflows/conda.yml | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml index 4b327d0b..40887f5e 100644 --- a/.github/workflows/conda.yml +++ b/.github/workflows/conda.yml @@ -8,32 +8,16 @@ on: jobs: conda-build: - name: Build Conda Package on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest, windows-latest, macos-13, macos-14] - defaults: - run: - shell: bash -el {0} + name: Build Conda Package + runs-on: "ubuntu-latest" steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: conda-incubator/setup-miniconda@v3 with: python-version: 3.8 - channels: conda-forge - activate-environment: devtools - environment-file: conda-recipes/devtools.yml - - run: conda info - - run: conda list - - run: conda config --show - - name: Conda Info - run: | + channels: conda-forge,spyder-ide + - run: | conda info - - run: git describe --tags - - name: Run 'conda build' - run: | - conda build -c vanderaa smurff - working-directory: conda-recipes \ No newline at end of file + conda list + conda config --show-sources + conda config --show \ No newline at end of file From 2717f2ec75f26c27c7b542f0cdcf8f4013359115 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 13:53:03 +0200 Subject: [PATCH 53/75] ci: wip conda --- .github/workflows/conda.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml index 40887f5e..ca708eb4 100644 --- a/.github/workflows/conda.yml +++ b/.github/workflows/conda.yml @@ -16,8 +16,7 @@ jobs: with: python-version: 3.8 channels: conda-forge,spyder-ide - - run: | - conda info - conda list - conda config --show-sources - conda config --show \ No newline at end of file + - name: Run 'conda build' + run: | + conda build -c vanderaa smurff + working-directory: conda-recipes \ No newline at end of file From 0ca4b6e6ccfe1c37a08f3fcf7588339e2bf3f986 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 14:04:07 +0200 Subject: [PATCH 54/75] conda: devtools build env --- .github/workflows/conda.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml index ca708eb4..2f9b7ae9 100644 --- a/.github/workflows/conda.yml +++ b/.github/workflows/conda.yml @@ -16,6 +16,8 @@ jobs: with: python-version: 3.8 channels: conda-forge,spyder-ide + activate-environment: devtools + environment-file: conda-recipes/devtools.yml - name: Run 'conda build' run: | conda build -c vanderaa smurff From 2c9aa0c2e1c29f7850d624cfbfc87460c8e11b5f Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 14:08:06 +0200 Subject: [PATCH 55/75] conda: run conda info --- .github/workflows/conda.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml index 2f9b7ae9..800d7108 100644 --- a/.github/workflows/conda.yml +++ b/.github/workflows/conda.yml @@ -18,6 +18,9 @@ jobs: channels: conda-forge,spyder-ide activate-environment: devtools environment-file: conda-recipes/devtools.yml + - name: Conda Info + run: | + conda info - name: Run 'conda build' run: | conda build -c vanderaa smurff From 3501cb29816769e2ec3d170beeebf4ee5a69f58d Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 14:13:53 +0200 Subject: [PATCH 56/75] conda: run conda info --- .github/workflows/conda.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml index 800d7108..e2785a27 100644 --- a/.github/workflows/conda.yml +++ b/.github/workflows/conda.yml @@ -18,6 +18,9 @@ jobs: channels: conda-forge,spyder-ide activate-environment: devtools environment-file: conda-recipes/devtools.yml + - run: conda info + - run: conda list + - run: conda config --show - name: Conda Info run: | conda info From 06545b182c1809a607dc72e4e95b178f5d56d2fe Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 14:18:41 +0200 Subject: [PATCH 57/75] conda: run conda info --- .github/workflows/conda.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml index e2785a27..419c67a0 100644 --- a/.github/workflows/conda.yml +++ b/.github/workflows/conda.yml @@ -10,6 +10,9 @@ jobs: conda-build: name: Build Conda Package runs-on: "ubuntu-latest" + defaults: + run: + shell: bash -el {0} steps: - uses: actions/checkout@v4 - uses: conda-incubator/setup-miniconda@v3 From a5ad9e46392fccd2de4a686a117dcdf30680d131 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 14:28:28 +0200 Subject: [PATCH 58/75] conda: run conda info --- .github/workflows/conda.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml index 419c67a0..49e265b4 100644 --- a/.github/workflows/conda.yml +++ b/.github/workflows/conda.yml @@ -18,7 +18,7 @@ jobs: - uses: conda-incubator/setup-miniconda@v3 with: python-version: 3.8 - channels: conda-forge,spyder-ide + channels: conda-forge activate-environment: devtools environment-file: conda-recipes/devtools.yml - run: conda info @@ -27,6 +27,7 @@ jobs: - name: Conda Info run: | conda info + - run: git describe --tags - name: Run 'conda build' run: | conda build -c vanderaa smurff From c54601629e22c936a26b712cbbcaf745311e54c3 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 14:34:00 +0200 Subject: [PATCH 59/75] conda: run conda info --- .github/workflows/conda.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml index 49e265b4..c1bb9994 100644 --- a/.github/workflows/conda.yml +++ b/.github/workflows/conda.yml @@ -15,6 +15,8 @@ jobs: shell: bash -el {0} steps: - uses: actions/checkout@v4 + with: + fetch-tags: true - uses: conda-incubator/setup-miniconda@v3 with: python-version: 3.8 From 45918c34a141ff2eca9564a231e06de8eb9d139e Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 14:38:03 +0200 Subject: [PATCH 60/75] conda: run conda info --- .github/workflows/conda.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml index c1bb9994..1ef78992 100644 --- a/.github/workflows/conda.yml +++ b/.github/workflows/conda.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@v4 with: - fetch-tags: true + fetch-depth: 0 - uses: conda-incubator/setup-miniconda@v3 with: python-version: 3.8 From a153537d2b819eb3f7aed26fa3bf90b5bc157c63 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 14:45:40 +0200 Subject: [PATCH 61/75] conda: needs libboost-devel --- conda-recipes/smurff/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda-recipes/smurff/meta.yaml b/conda-recipes/smurff/meta.yaml index defa5e8e..9f18b2f1 100644 --- a/conda-recipes/smurff/meta.yaml +++ b/conda-recipes/smurff/meta.yaml @@ -21,7 +21,7 @@ requirements: - mkl-devel # [blas_impl == 'mkl'] - openblas # [blas_impl != 'mkl'] - eigen - - libboost + - libboost-devel - pybind11 - highfive >=2.2 - h5py From 86ab7d2efb6171b11aba1a02120ae96c1b8ab91e Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 14:58:35 +0200 Subject: [PATCH 62/75] conda: needs libboost-devel --- .github/workflows/conda.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml index 1ef78992..5aca2353 100644 --- a/.github/workflows/conda.yml +++ b/.github/workflows/conda.yml @@ -8,8 +8,12 @@ on: jobs: conda-build: - name: Build Conda Package - runs-on: "ubuntu-latest" + name: Build Conda Package on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-13, macos-14] + # os: [ubuntu-latest, windows-latest, macos-13, macos-14] defaults: run: shell: bash -el {0} From ec2fa5a4af61f4bed70e482d9c71553180bd3be7 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Mon, 17 Jun 2024 16:03:50 +0200 Subject: [PATCH 63/75] cibw: build HDF5 --- ci/buildwheel/build_hdf5.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) mode change 100644 => 100755 ci/buildwheel/build_hdf5.sh diff --git a/ci/buildwheel/build_hdf5.sh b/ci/buildwheel/build_hdf5.sh old mode 100644 new mode 100755 index c1313ec1..369b70e5 --- a/ci/buildwheel/build_hdf5.sh +++ b/ci/buildwheel/build_hdf5.sh @@ -14,8 +14,13 @@ if [ $HDF5_VERSION == "detect" ]; then echo "Detected version: $HDF5_VERSION" fi +HDF5_VERSION_ARRAY=( ${HDF5_VERSION//./ } ) # replace points, split into array +HDF5_MAJOR=( ${HDF5_VERSION_ARRAY[0]} ) +HDF5_MINOR=( ${HDF5_VERSION_ARRAY[1]} ) +HDF5_RELEASE=( ${HDF5_VERSION_ARRAY[2]} ) + # Download URL -HDF5_URL="https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${HDF5_VERSION:0:1}/hdf5-$HDF5_VERSION/src/hdf5-$HDF5_VERSION.tar.gz" +HDF5_URL="https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${HDF5_MAJOR}.${HDF5_MINOR}/hdf5-$HDF5_VERSION/src/hdf5-$HDF5_VERSION.tar.gz" # Create a directory for the download mkdir -p hdf5_build @@ -41,7 +46,7 @@ echo "Configuring HDF5 version $HDF5_VERSION..." ./configure --prefix=/usr/local/hdf5-$HDF5_VERSION echo "Building HDF5 version $HDF5_VERSION..." -make +make -j echo "Installing HDF5 version $HDF5_VERSION..." sudo make install From b73b496aa21c5f2f900b98464acd4945a0b27012 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Tue, 18 Jun 2024 15:55:36 +0200 Subject: [PATCH 64/75] cibw: install_deps.sh --- ci/buildwheel/.gitignore | 2 ++ ci/buildwheel/build_hdf5.sh | 58 ----------------------------------- ci/buildwheel/install_deps.sh | 6 ++-- ci/buildwheel/install_hdf5.sh | 44 ++++++++++++++++++++++---- pyproject.toml | 6 +--- 5 files changed, 43 insertions(+), 73 deletions(-) create mode 100644 ci/buildwheel/.gitignore delete mode 100755 ci/buildwheel/build_hdf5.sh diff --git a/ci/buildwheel/.gitignore b/ci/buildwheel/.gitignore new file mode 100644 index 00000000..3c6cbb41 --- /dev/null +++ b/ci/buildwheel/.gitignore @@ -0,0 +1,2 @@ +hdf5*/ +openblas*/ diff --git a/ci/buildwheel/build_hdf5.sh b/ci/buildwheel/build_hdf5.sh deleted file mode 100755 index 369b70e5..00000000 --- a/ci/buildwheel/build_hdf5.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash - -# Check if the version parameter is provided -if [ -z "$1" ]; then - echo "Usage: $0 " - exit 1 -fi - -# Set the HDF5 version -HDF5_VERSION=$1 - -if [ $HDF5_VERSION == "detect" ]; then - HDF5_VERSION=$(python -c "import h5py; print('.'.join(map(str, h5py.h5.get_libversion())))") - echo "Detected version: $HDF5_VERSION" -fi - -HDF5_VERSION_ARRAY=( ${HDF5_VERSION//./ } ) # replace points, split into array -HDF5_MAJOR=( ${HDF5_VERSION_ARRAY[0]} ) -HDF5_MINOR=( ${HDF5_VERSION_ARRAY[1]} ) -HDF5_RELEASE=( ${HDF5_VERSION_ARRAY[2]} ) - -# Download URL -HDF5_URL="https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${HDF5_MAJOR}.${HDF5_MINOR}/hdf5-$HDF5_VERSION/src/hdf5-$HDF5_VERSION.tar.gz" - -# Create a directory for the download -mkdir -p hdf5_build -cd hdf5_build - -# Download the specified version of HDF5 -echo "Downloading HDF5 version $HDF5_VERSION..." -wget $HDF5_URL -O hdf5-$HDF5_VERSION.tar.gz - -if [ $? -ne 0 ]; then - echo "Failed to download HDF5 version $HDF5_VERSION" - exit 1 -fi - -# Extract the tarball -echo "Extracting HDF5 version $HDF5_VERSION..." -tar -xzvf hdf5-$HDF5_VERSION.tar.gz - -cd hdf5-$HDF5_VERSION - -# Configure, make, and install -echo "Configuring HDF5 version $HDF5_VERSION..." -./configure --prefix=/usr/local/hdf5-$HDF5_VERSION - -echo "Building HDF5 version $HDF5_VERSION..." -make -j - -echo "Installing HDF5 version $HDF5_VERSION..." -sudo make install - -# Cleanup -cd ../.. -rm -rf hdf5_build - -echo "HDF5 version $HDF5_VERSION installed successfully!" diff --git a/ci/buildwheel/install_deps.sh b/ci/buildwheel/install_deps.sh index 9f238656..dd854030 100755 --- a/ci/buildwheel/install_deps.sh +++ b/ci/buildwheel/install_deps.sh @@ -8,7 +8,5 @@ cd "$SCRIPT_DIR" echo "MACOSX_DEPLOYMENT_TARGET: [$MACOSX_DEPLOYMENT_TARGET]" echo "PWD: [$PWD]" -brew install --formulae eigen ../highfive.rb catch2 -brew uninstall --ignore-dependencies hdf5 - -./install_hdf5.sh \ No newline at end of file +# ./install_hdf5.sh +./install_openblas.sh \ No newline at end of file diff --git a/ci/buildwheel/install_hdf5.sh b/ci/buildwheel/install_hdf5.sh index 4fcf0b95..d777a2f9 100755 --- a/ci/buildwheel/install_hdf5.sh +++ b/ci/buildwheel/install_hdf5.sh @@ -2,20 +2,52 @@ set -ex -BASEDIR=$PWD +# Check if the version parameter is provided +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi # Set the HDF5 version +BASEDIR=$PWD + HDF5_MAJOR=1 HDF5_MINOR=12 HDF5_RELEASE=2 HDF5_VERSION=${HDF5_MAJOR}.${HDF5_MINOR}.${HDF5_RELEASE} -HDF5_URL="https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${HDF5_MAJOR}.${HDF5_MINOR}/hdf5-$HDF5_VERSION/src/hdf5-$HDF5_VERSION.tar.gz" +# Create a directory for the download mkdir -p hdf5_build cd hdf5_build -wget -q $HDF5_URL -O - | tar -xvzf - --strip-components 2 +# Download the specified version of HDF5 +echo "Downloading HDF5 version $HDF5_VERSION..." +HDF5_URL="https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${HDF5_MAJOR}.${HDF5_MINOR}/hdf5-$HDF5_VERSION/src/hdf5-$HDF5_VERSION.tar.gz" +wget $HDF5_URL -O hdf5-$HDF5_VERSION.tar.gz + +if [ $? -ne 0 ]; then + echo "Failed to download HDF5 version $HDF5_VERSION" + exit 1 +fi + +# Extract the tarball +echo "Extracting HDF5 version $HDF5_VERSION..." +tar -xzvf hdf5-$HDF5_VERSION.tar.gz + +cd hdf5-$HDF5_VERSION + +# Configure, make, and install +echo "Configuring HDF5 version $HDF5_VERSION..." +./configure --prefix=$BASEDIR/hdf5 + +echo "Building HDF5 version $HDF5_VERSION..." +make -j + +echo "Installing HDF5 version $HDF5_VERSION..." +make install + +# Cleanup +cd ../.. +rm -rf hdf5_build -./configure --prefix=/usr/local/hdf5 -make -j4 -sudo make install \ No newline at end of file +echo "HDF5 version $HDF5_VERSION installed in $BASEDIR/hdf5!" diff --git a/pyproject.toml b/pyproject.toml index 987234fa..aba3658e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -80,8 +80,4 @@ build-verbosity = 3 "cmake.define.ENABLE_TESTS" = "OFF" [tool.cibuildwheel.macos] -before-all = [ - "brew install --formulae openblas eigen ci/highfive.rb", - "brew link --force openblas" - ] -repair-wheel-command = "delocate-wheel --exclude hdf5 --exclude openblas --require-archs {delocate_archs} -w {dest_dir} -v {wheel}" \ No newline at end of file +before-all = "ci/buildwheel/install_deps.sh" \ No newline at end of file From e8ab32a5f96a897e353cd92d5bba68a8baab6913 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Wed, 19 Jun 2024 22:16:32 +0200 Subject: [PATCH 65/75] cmake: unified configure_blas() --- cmake/DependenciesConfig.cmake | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/cmake/DependenciesConfig.cmake b/cmake/DependenciesConfig.cmake index 051d0dfb..56ea764e 100644 --- a/cmake/DependenciesConfig.cmake +++ b/cmake/DependenciesConfig.cmake @@ -56,13 +56,6 @@ macro(configure_blas) list(APPEND ALGEBRA_LIBS ${BLAS_LIBRARIES}) -macro(configure_openblas) - message ("Dependency check for openblas...") - - if(MSVC) - set(BLAS_LIBRARIES $ENV{BLAS_LIBRARIES}) - set(BLAS_INCLUDES $ENV{BLAS_INCLUDES}) - set(BLAS_FOUND ON) else() message(STATUS "BLAS NOT found" ) endif (BLAS_FOUND) @@ -73,9 +66,12 @@ macro(configure_openblas) message(STATUS "LAPACK include: ${LAPACK_INCLUDE_DIR}" ) add_definitions(-DEIGEN_USE_LAPACK) - message(STATUS BLAS: ${BLAS_LIBRARIES} ) - -endmacro(configure_openblas) + # needed because MSVC does not have support for c-type _Complex + add_definitions(-Dlapack_complex_float=std::complex -Dlapack_complex_double=std::complex) + list(APPEND ALGEBRA_LIBS ${LAPACK_LIBRARIES}) + else() + message(STATUS "LAPACK NOT found" ) + endif (LAPACK_FOUND) find_package(LAPACKE) if (LAPACKE_FOUND) @@ -89,11 +85,8 @@ endmacro(configure_openblas) message(STATUS "all algebra libraries: ${ALGEBRA_LIBS}" ) - add_definitions(-DEIGEN_USE_MKL_ALL) - message(STATUS "MKL libraries: ${MKL_LIBRARIES}" ) - message(STATUS "MKL include: ${MKL_INCLUDE_DIR}" ) -endmacro(configure_mkl) +endmacro(configure_blas) macro(configure_eigen) message ("Dependency check for eigen...") @@ -134,6 +127,6 @@ endmacro(configure_boost) macro(configure_python) if(ENABLE_PYTHON) set(PYBIND11_NEWPYTHON ON) - find_package(pybind11 CONFIG REQUIRED) + find_package(pybind11 CONFIG REQUIRED) endif() endmacro(configure_python) From 5606220b0fa446664ee1a0e821a1351de86ac832 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Wed, 19 Jun 2024 22:17:24 +0200 Subject: [PATCH 66/75] cibw: WIP install deps --- ci/buildwheel/install_deps.sh | 6 ++-- ci/buildwheel/install_hdf5.py | 57 +++++++++++++++++++++++++++++++++++ pyproject.toml | 17 +++++++++-- 3 files changed, 75 insertions(+), 5 deletions(-) create mode 100755 ci/buildwheel/install_hdf5.py diff --git a/ci/buildwheel/install_deps.sh b/ci/buildwheel/install_deps.sh index dd854030..cd8aa189 100755 --- a/ci/buildwheel/install_deps.sh +++ b/ci/buildwheel/install_deps.sh @@ -8,5 +8,7 @@ cd "$SCRIPT_DIR" echo "MACOSX_DEPLOYMENT_TARGET: [$MACOSX_DEPLOYMENT_TARGET]" echo "PWD: [$PWD]" -# ./install_hdf5.sh -./install_openblas.sh \ No newline at end of file +brew install --formulae eigen ../highfive.rb + +./install_hdf5.sh +# ./install_openblas.sh \ No newline at end of file diff --git a/ci/buildwheel/install_hdf5.py b/ci/buildwheel/install_hdf5.py new file mode 100755 index 00000000..22aa59a5 --- /dev/null +++ b/ci/buildwheel/install_hdf5.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python3 + +import logging +from subprocess import check_call +import os +import shutil +from pathlib import Path +import h5py + +logging.basicConfig(level=logging.INFO) + +hdf5_basedir = Path(__file__).parent.absolute() +# hdf5_install_dir = hdf5_basedir / "hdf5" +hdf5_install_dir = Path("/usr/local/hdf5") + +if hdf5_install_dir.exists(): + logging.warn(f"install dir already exists: {hdf5_install_dir} -- skipping") + exit(0) + +major, minor, release = h5py.h5.get_libversion() +full = f"{major}.{minor}.{release}" +logging.info(f"found h5py version: {full}") + +h5py_package_dir = Path(h5py.__file__).parent +h5py_lib_dir = h5py_package_dir / '.dylibs' +logging.info(f"found h5py lib_dir: {h5py_lib_dir}") + +hdf5_src_dir = hdf5_basedir / f"hdf5-{full}" + +logging.info(f"building in : {hdf5_src_dir}") +logging.info(f"installing in : {hdf5_install_dir}") + +url = f"https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-{major}.{minor}/hdf5-{full}/src/hdf5-{full}.tar.gz" +logging.info(f"download: {url}") +check_call(f"wget -q {url} -O - | tar -xzf -", shell=True, cwd=hdf5_basedir) + +logging.info(f"build and install") +check_call(f""" + ./configure --prefix={hdf5_install_dir} && + make -j && + sudo mkdir -m 777 {hdf5_install_dir} && + make install""", + shell=True, + cwd=hdf5_src_dir) + +hdf5_lib_dir = hdf5_install_dir / "lib" +hdf5_lib_dir_backup = hdf5_install_dir / "lib.orig" + +logging.info(f"replace dylibs in {hdf5_lib_dir} from {h5py_lib_dir}") +for f in h5py_lib_dir.glob('*.dylib'): + logging.info(f" {f} -> {h5py_lib_dir}/") + shutil.copy(f, hdf5_lib_dir) + + + + + diff --git a/pyproject.toml b/pyproject.toml index aba3658e..ce53af0b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,6 +44,7 @@ classifiers = [ "Topic :: Scientific/Engineering :: Artificial Intelligence", ] dependencies = [ + "h5py", "h5sparse-tensor", "numpy", "pandas", @@ -73,11 +74,21 @@ test-command = 'pytest {project}/python/test' test-requires = 'parameterized pytest' build-verbosity = 3 -[tool.cibuildwheel.config-settings] -"cmake.define.ENABLE_OPENBLAS" = "ON" +[tool.cibuildwheel.macos.config-settings] +"cmake.define.HDF5_ROOT" = "/usr/local/hdf5" +"cmake.define.ENABLE_BLAS" = "ON" "cmake.define.ENABLE_BOOST" = "OFF" "cmake.define.ENABLE_CMDLINE" = "OFF" "cmake.define.ENABLE_TESTS" = "OFF" +"cmake.define.BLA_VENDOR" = "Apple" + +[tool.cibuildwheel.linux.config-settings] +"cmake.define.HDF5_ROOT" = "/usr/local/hdf5" +"cmake.define.ENABLE_BLAS" = "ON" +"cmake.define.ENABLE_BOOST" = "OFF" +"cmake.define.ENABLE_CMDLINE" = "OFF" +"cmake.define.ENABLE_TESTS" = "OFF" +"cmake.define.BLA_VENDOR" = "OpenBLAS" [tool.cibuildwheel.macos] -before-all = "ci/buildwheel/install_deps.sh" \ No newline at end of file +before-all = "python ci/buildwheel/install_hdf5.py" \ No newline at end of file From 3b473ac67f27574afe0a0478c8fd453b66c6e632 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 20 Jun 2024 08:53:49 +0200 Subject: [PATCH 67/75] ci: conda on windows --- .github/workflows/conda.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml index 5aca2353..4b327d0b 100644 --- a/.github/workflows/conda.yml +++ b/.github/workflows/conda.yml @@ -12,8 +12,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, macos-13, macos-14] - # os: [ubuntu-latest, windows-latest, macos-13, macos-14] + os: [ubuntu-latest, windows-latest, macos-13, macos-14] defaults: run: shell: bash -el {0} From 2aad9901e439bc412a86b3aebfea5e8cfdc867a4 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 20 Jun 2024 09:49:18 +0200 Subject: [PATCH 68/75] cibw: remove unneeded CMAKE_PREFIX_PATH --- .github/workflows/wheels.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index e8aab2ea..95e9ef9f 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -26,9 +26,6 @@ jobs: - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse - env: - CIBW_ENVIRONMENT: >- - CMAKE_PREFIX_PATH="/usr/local/opt/openblas:/opt/homebrew/opt/openblas" - uses: actions/upload-artifact@v4 with: From 2e02a89fa07ca74a87511fd63c50a1908bace825 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 20 Jun 2024 09:50:16 +0200 Subject: [PATCH 69/75] cinw: clean install_hdf5.sh --- ci/buildwheel/install_hdf5.sh | 42 +++++------------------------------ 1 file changed, 5 insertions(+), 37 deletions(-) diff --git a/ci/buildwheel/install_hdf5.sh b/ci/buildwheel/install_hdf5.sh index d777a2f9..6e40baf4 100755 --- a/ci/buildwheel/install_hdf5.sh +++ b/ci/buildwheel/install_hdf5.sh @@ -2,52 +2,20 @@ set -ex -# Check if the version parameter is provided -if [ -z "$1" ]; then - echo "Usage: $0 " - exit 1 -fi - -# Set the HDF5 version BASEDIR=$PWD +# Set the HDF5 version HDF5_MAJOR=1 HDF5_MINOR=12 HDF5_RELEASE=2 HDF5_VERSION=${HDF5_MAJOR}.${HDF5_MINOR}.${HDF5_RELEASE} +HDF5_URL="https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${HDF5_MAJOR}.${HDF5_MINOR}/hdf5-$HDF5_VERSION/src/hdf5-$HDF5_VERSION.tar.gz" -# Create a directory for the download mkdir -p hdf5_build cd hdf5_build -# Download the specified version of HDF5 -echo "Downloading HDF5 version $HDF5_VERSION..." -HDF5_URL="https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${HDF5_MAJOR}.${HDF5_MINOR}/hdf5-$HDF5_VERSION/src/hdf5-$HDF5_VERSION.tar.gz" -wget $HDF5_URL -O hdf5-$HDF5_VERSION.tar.gz - -if [ $? -ne 0 ]; then - echo "Failed to download HDF5 version $HDF5_VERSION" - exit 1 -fi +wget -q $HDF5_URL -O - | tar -xvzf - --strip-components 2 -# Extract the tarball -echo "Extracting HDF5 version $HDF5_VERSION..." -tar -xzvf hdf5-$HDF5_VERSION.tar.gz - -cd hdf5-$HDF5_VERSION - -# Configure, make, and install -echo "Configuring HDF5 version $HDF5_VERSION..." -./configure --prefix=$BASEDIR/hdf5 - -echo "Building HDF5 version $HDF5_VERSION..." +./configure --prefix=/usr/local/hdf5 make -j - -echo "Installing HDF5 version $HDF5_VERSION..." -make install - -# Cleanup -cd ../.. -rm -rf hdf5_build - -echo "HDF5 version $HDF5_VERSION installed in $BASEDIR/hdf5!" +sudo make install \ No newline at end of file From 558a8627056c722dbe05ab24eac14cdfeca03192 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 20 Jun 2024 09:50:36 +0200 Subject: [PATCH 70/75] cinw: clean install_hdf5.sh --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index ce53af0b..d3995d74 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -91,4 +91,4 @@ build-verbosity = 3 "cmake.define.BLA_VENDOR" = "OpenBLAS" [tool.cibuildwheel.macos] -before-all = "python ci/buildwheel/install_hdf5.py" \ No newline at end of file +before-all = "ci/buildwheel/install_hdf5.sh" \ No newline at end of file From cac736fc93cc94c4577b86d301fcc734c972cce2 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 20 Jun 2024 10:20:12 +0200 Subject: [PATCH 71/75] cibw: macos --- ci/buildwheel/install_deps.sh | 4 ++-- pyproject.toml | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ci/buildwheel/install_deps.sh b/ci/buildwheel/install_deps.sh index cd8aa189..64f99c25 100755 --- a/ci/buildwheel/install_deps.sh +++ b/ci/buildwheel/install_deps.sh @@ -9,6 +9,6 @@ echo "MACOSX_DEPLOYMENT_TARGET: [$MACOSX_DEPLOYMENT_TARGET]" echo "PWD: [$PWD]" brew install --formulae eigen ../highfive.rb +brew uninstall --ignore-dependencies hdf5 -./install_hdf5.sh -# ./install_openblas.sh \ No newline at end of file +./install_hdf5.sh \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index d3995d74..e2a340a2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,13 @@ sdist.include = ["python/smurff/_version.py"] cmake.verbose = true logging.level = "INFO" +[tool.scikit-build.cmake.define] +HDF5_ROOT = "/usr/local/hdf5" +ENABLE_BOOST = "ON" +ENABLE_CMDLINE = "ON" +ENABLE_TESTS = "ON" +ENABLE_BLAS = "ON" + [tool.setuptools_scm] # Section required write_to = "python/smurff/_version.py" @@ -83,7 +90,6 @@ build-verbosity = 3 "cmake.define.BLA_VENDOR" = "Apple" [tool.cibuildwheel.linux.config-settings] -"cmake.define.HDF5_ROOT" = "/usr/local/hdf5" "cmake.define.ENABLE_BLAS" = "ON" "cmake.define.ENABLE_BOOST" = "OFF" "cmake.define.ENABLE_CMDLINE" = "OFF" @@ -91,4 +97,4 @@ build-verbosity = 3 "cmake.define.BLA_VENDOR" = "OpenBLAS" [tool.cibuildwheel.macos] -before-all = "ci/buildwheel/install_hdf5.sh" \ No newline at end of file +before-all = "ci/buildwheel/install_deps.sh" \ No newline at end of file From 9c5e74bab32fb7e792920a6aaa7d9f18e01b27e4 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 20 Jun 2024 10:26:09 +0200 Subject: [PATCH 72/75] cibw: linux --- pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index e2a340a2..29587b5a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,6 @@ cmake.verbose = true logging.level = "INFO" [tool.scikit-build.cmake.define] -HDF5_ROOT = "/usr/local/hdf5" ENABLE_BOOST = "ON" ENABLE_CMDLINE = "ON" ENABLE_TESTS = "ON" From fba06546e2816056ffc50ce33e383a2e90bfeef5 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 20 Jun 2024 10:34:26 +0200 Subject: [PATCH 73/75] cibw: macos --- ci/buildwheel/install_hdf5.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/buildwheel/install_hdf5.sh b/ci/buildwheel/install_hdf5.sh index 6e40baf4..4fcf0b95 100755 --- a/ci/buildwheel/install_hdf5.sh +++ b/ci/buildwheel/install_hdf5.sh @@ -17,5 +17,5 @@ cd hdf5_build wget -q $HDF5_URL -O - | tar -xvzf - --strip-components 2 ./configure --prefix=/usr/local/hdf5 -make -j +make -j4 sudo make install \ No newline at end of file From a11431716c4ec79f66b98846e7e38fd033cad7d5 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 20 Jun 2024 11:00:15 +0200 Subject: [PATCH 74/75] conda: windows --- conda-recipes/smurff/bld.bat | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/conda-recipes/smurff/bld.bat b/conda-recipes/smurff/bld.bat index 45979a3b..19e8b825 100644 --- a/conda-recipes/smurff/bld.bat +++ b/conda-recipes/smurff/bld.bat @@ -1,3 +1,5 @@ +setlocal + if "%blas_impl%"=="mkl" ( set "SKBUILD_CMAKE_ARGS=-DENABLE_MKL=ON -DENABLE_OPENBLAS=OFF" ) else ( @@ -7,4 +9,5 @@ if "%blas_impl%"=="mkl" ( echo extra CMAKE_ARGS: %SKBUILD_CMAKE_ARGS% %PYTHON% -m pip install . --no-deps -vv -if errorlevel 1 exit 1 \ No newline at end of file + +endlocal \ No newline at end of file From 4d446360851304dc5a214f1b6c0b69400e3442f2 Mon Sep 17 00:00:00 2001 From: Tom Vander Aa Date: Thu, 20 Jun 2024 12:10:14 +0200 Subject: [PATCH 75/75] conda on windows --- conda-recipes/smurff/bld.bat | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/conda-recipes/smurff/bld.bat b/conda-recipes/smurff/bld.bat index 19e8b825..45979a3b 100644 --- a/conda-recipes/smurff/bld.bat +++ b/conda-recipes/smurff/bld.bat @@ -1,5 +1,3 @@ -setlocal - if "%blas_impl%"=="mkl" ( set "SKBUILD_CMAKE_ARGS=-DENABLE_MKL=ON -DENABLE_OPENBLAS=OFF" ) else ( @@ -9,5 +7,4 @@ if "%blas_impl%"=="mkl" ( echo extra CMAKE_ARGS: %SKBUILD_CMAKE_ARGS% %PYTHON% -m pip install . --no-deps -vv - -endlocal \ No newline at end of file +if errorlevel 1 exit 1 \ No newline at end of file