Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 49 additions & 49 deletions .github/workflows/build_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,69 +2,69 @@ name: CMake on linux
on:
push:
branches:
- master
- release-*
- v*
- master
- release-*
- v*
pull_request:
branches:
- master
- master

jobs:
Ubuntu_Latest_Apt:
runs-on: ubuntu-latest
strategy:
matrix:
build_type:
- Debug
- Release
- RelNoOpenMP
- RelWithDebInfo
- Debug
- Release
- RelNoOpenMP
- RelWithDebInfo
steps:
- name: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: install dependencies
run: |-
sudo apt-get update
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 dependencies
run: |-
sudo apt-get update
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 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.2.2.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 --build build
sudo cmake --install build
- name: Install HighFive
run: |
cd /tmp
wget -O HighFive.tar.gz https://github.com/BlueBrain/HighFive/archive/v2.10.1.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 --build build
sudo cmake --install build

- name: Run CMake
run: |-
cmake -S . -B build.${{ matrix.build_type }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_PYTHON=OFF
- name: Run CMake
run: |-
cmake -S . -B build.${{ matrix.build_type }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_PYTHON=OFF

- name: Build
run: |-
cmake --build build.${{ matrix.build_type }}
- name: Build
run: |-
cmake --build build.${{ matrix.build_type }}

- name: Install
run: |-
sudo cmake --install build.${{ matrix.build_type }}
- name: Install
run: |-
sudo cmake --install build.${{ matrix.build_type }}

- name: Run tests
run: |-
smurff --bist
- name: Run tests
run: |-
smurff --bist
33 changes: 25 additions & 8 deletions .github/workflows/conda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,33 @@ on:

jobs:
conda-build:
name: Build Conda Package on ${{ matrix.os }} for Python ${{ matrix.python }}
name: Build Conda Package on ${{ matrix.os }} for Python ${{ matrix.pyver }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-13, macos-14]
python: [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
pyver: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
include:
- os: windows-latest
cibw_archs: "native"
- os: macos-13
cibw_archs: "native"
- os: macos-14
cibw_archs: "native"
- os: ubuntu-latest
cibw_archs: "native"
- os: ubuntu-latest
cibw_archs: "aarch64"

defaults:
run:
shell: bash -el {0}

steps:
- name: Set up QEMU
if: matrix.cibw_archs == 'aarch64'
uses: docker/setup-qemu-action@v2
with:
platforms: arm64
- uses: actions/checkout@v4
with:
fetch-depth: 0
Expand All @@ -31,16 +48,16 @@ jobs:
python-version: 3.11
environment-file: conda-recipes/devtools.yml
show-channel-urls: true
conda-remove-defaults: 'true'
conda-remove-defaults: "true"
- name: Build conda packages
run: |
conda build --python ${{ matrix.python }} --output-folder ../conda_packages smurff
conda build --python ${{ matrix.pyver }} --output-folder ../conda_packages smurff
working-directory: conda-recipes
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: conda-${{ matrix.os }}-${{ matrix.python }}
path: conda_packages/*
name: conda-${{ matrix.os }}-${{ matrix.pyver }}
path: conda_packages/*

merge:
name: Merge all Conda artifacts
Expand All @@ -50,4 +67,4 @@ jobs:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@v4
with:
name: all-conda-packages
name: all-conda-packages
15 changes: 7 additions & 8 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,38 +11,37 @@ on:

jobs:
build_wheels:
name: wheel ${{ matrix.pyver }}-${{ matrix.os }}
name: Build wheel ${{ matrix.pyver }}-${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-13, macos-14]
pyver: [cp39, cp310, cp311, cp312, cp313]
os: [ubuntu-latest, windows-latest, macos-14-large, macos-15-intel]
pyver: [cp39, cp310, cp311, cp312, cp313]

steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
submodules: "true"
fetch-depth: 0

# Used to host cibuildwheel
- uses: actions/setup-python@v5
with:
python-version: '3.x'
python-version: "3.x"

- name: Install cibuildwheel
run: python -m pip install cibuildwheel

- name: Build wheels
env:
CIBW_BUILD: ${{matrix.pyver}}-*
CIBW_BUILD: ${{ matrix.pyver }}-*
run: python -m cibuildwheel --output-dir wheelhouse

- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ matrix.pyver }}
path: ./wheelhouse/*.whl


merge:
name: merge all wheel artifacts
runs-on: ubuntu-latest
Expand All @@ -51,4 +50,4 @@ jobs:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@v4
with:
name: all-wheels
name: all-wheels
20 changes: 10 additions & 10 deletions ci/docker/Dockerfile.alpine
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@ FROM alpine:3.19
RUN apk add \
binutils gcc g++ gfortran \
cmake ninja make \
wget curl util-linux tar \
wget curl util-linux tar \
git \
eigen-dev openblas-dev hdf5-dev boost-dev catch2-3 \
py3-pybind11-dev python3-dev py3-pip py3-pytest py3-parameterized py3-pytest-xdist

#install HighFive
RUN wget -O HighFive.tar.gz https://github.com/BlueBrain/HighFive/archive/v2.2.2.tar.gz && \
tar xzf HighFive.tar.gz && \
rm HighFive.tar.gz && \
cd HighFive* && \
cmake -S . -B build -GNinja .. -DHIGHFIVE_USE_BOOST=OFF && \
cmake --build build && \
cmake --install build && \
cd ../.. && \
rm -r HighFive*
RUN wget -O HighFive.tar.gz https://github.com/BlueBrain/HighFive/archive/v2.10.1.tar.gz && \
tar xzf HighFive.tar.gz && \
rm HighFive.tar.gz && \
cd HighFive* && \
cmake -S . -B build -GNinja .. -DHIGHFIVE_USE_BOOST=OFF && \
cmake --build build && \
cmake --install build && \
cd ../.. && \
rm -r HighFive*
22 changes: 11 additions & 11 deletions ci/docker/Dockerfile.manylinux
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ 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.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*
RUN wget -O HighFive.tar.gz https://github.com/BlueBrain/HighFive/archive/v2.10.1.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*
2 changes: 1 addition & 1 deletion ci/docker/Dockerfile.musllinux
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ FROM quay.io/pypa/musllinux_1_2_x86_64
RUN apk add wget eigen-dev openblas-dev hdf5-dev

#install HighFive
RUN wget -O HighFive.tar.gz https://github.com/BlueBrain/HighFive/archive/v2.2.2.tar.gz && \
RUN wget -O HighFive.tar.gz https://github.com/BlueBrain/HighFive/archive/v2.10.1.tar.gz && \
tar xzf HighFive.tar.gz && \
rm HighFive.tar.gz && \
cd HighFive* && \
Expand Down
66 changes: 33 additions & 33 deletions ci/docker/Dockerfile.ubuntu
Original file line number Diff line number Diff line change
@@ -1,47 +1,47 @@
FROM ubuntu:22.04

RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \
cmake \
git g++ python3 \
libblas-dev \
liblapack-dev \
liblapacke-dev \
libopenmpi-dev \
openmpi-bin \
libeigen3-dev \
libboost-all-dev \
ca-certificates \
libhdf5-dev \
gdb vim wget\
libhdf5-dev \
python3-pip \
python3-numpy python3-pybind11 python3-setuptools \
python3-scipy python3-pandas \
python3-joblib python3-sklearn \
python3-h5py \
python3-pytest \
python3-parameterized \
python3-pytest-xdist \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \
cmake \
git g++ python3 \
libblas-dev \
liblapack-dev \
liblapacke-dev \
libopenmpi-dev \
openmpi-bin \
libeigen3-dev \
libboost-all-dev \
ca-certificates \
libhdf5-dev \
gdb vim wget\
libhdf5-dev \
python3-pip \
python3-numpy python3-pybind11 python3-setuptools \
python3-scipy python3-pandas \
python3-joblib python3-sklearn \
python3-h5py \
python3-pytest \
python3-parameterized \
python3-pytest-xdist \
&& rm -rf /var/lib/apt/lists/*


# 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 && \
cmake --install build && \
cd .. && \
rm -r Catch*
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 && \
cmake --install build && \
cd .. && \
rm -r Catch*

#install HighFive
RUN cd /tmp && \
wget -O HighFive.tar.gz https://github.com/BlueBrain/HighFive/archive/v2.2.2.tar.gz && \
wget -O HighFive.tar.gz https://github.com/BlueBrain/HighFive/archive/v2.10.1.tar.gz && \
tar xzf HighFive.tar.gz && \
rm HighFive.tar.gz && \
cd HighFive* && \
Expand Down
2 changes: 1 addition & 1 deletion ci/highfive.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
class Highfive < Formula
desc "HighFive - Header-only C++ HDF5 interface"
homepage "https://bluebrain.github.io/HighFive/"
url "https://github.com/BlueBrain/HighFive/archive/v2.2.2.tar.gz"
url "https://github.com/BlueBrain/HighFive/archive/v2.10.1.tar.gz"
sha256 "5bfb356705c6feb9d46a0507573028b289083ec4b4607a6f36187cb916f085a7"

depends_on "cmake" => :build
Expand Down
2 changes: 1 addition & 1 deletion cmake/DependenciesConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ endmacro(configure_highfive)
macro(configure_boost)
message ("Dependency check for boost...")
if(${ENABLE_BOOST})
FIND_PACKAGE(Boost COMPONENTS system program_options filesystem REQUIRED)
FIND_PACKAGE(Boost COMPONENTS program_options filesystem REQUIRED)

message("-- Found Boost_VERSION: ${Boost_VERSION}")
message("-- Found Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
Expand Down
Loading
Loading