diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 7369fb0f..695e55a7 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -12,242 +12,302 @@ jobs: CONFIG: osx_64_hdf51.14.6mpimpichpython3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf51.14.6mpimpichpython3.11.____cpython: CONFIG: osx_64_hdf51.14.6mpimpichpython3.11.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf51.14.6mpimpichpython3.12.____cpython: CONFIG: osx_64_hdf51.14.6mpimpichpython3.12.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf51.14.6mpimpichpython3.13.____cp313: CONFIG: osx_64_hdf51.14.6mpimpichpython3.13.____cp313 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf51.14.6mpimpichpython3.14.____cp314: CONFIG: osx_64_hdf51.14.6mpimpichpython3.14.____cp314 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf51.14.6mpinompipython3.10.____cpython: CONFIG: osx_64_hdf51.14.6mpinompipython3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf51.14.6mpinompipython3.11.____cpython: CONFIG: osx_64_hdf51.14.6mpinompipython3.11.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf51.14.6mpinompipython3.12.____cpython: CONFIG: osx_64_hdf51.14.6mpinompipython3.12.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf51.14.6mpinompipython3.13.____cp313: CONFIG: osx_64_hdf51.14.6mpinompipython3.13.____cp313 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf51.14.6mpinompipython3.14.____cp314: CONFIG: osx_64_hdf51.14.6mpinompipython3.14.____cp314 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf51.14.6mpiopenmpipython3.10.____cpython: CONFIG: osx_64_hdf51.14.6mpiopenmpipython3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf51.14.6mpiopenmpipython3.11.____cpython: CONFIG: osx_64_hdf51.14.6mpiopenmpipython3.11.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf51.14.6mpiopenmpipython3.12.____cpython: CONFIG: osx_64_hdf51.14.6mpiopenmpipython3.12.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf51.14.6mpiopenmpipython3.13.____cp313: CONFIG: osx_64_hdf51.14.6mpiopenmpipython3.13.____cp313 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf51.14.6mpiopenmpipython3.14.____cp314: CONFIG: osx_64_hdf51.14.6mpiopenmpipython3.14.____cp314 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf52mpimpichpython3.10.____cpython: CONFIG: osx_64_hdf52mpimpichpython3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf52mpimpichpython3.11.____cpython: CONFIG: osx_64_hdf52mpimpichpython3.11.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf52mpimpichpython3.12.____cpython: CONFIG: osx_64_hdf52mpimpichpython3.12.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf52mpimpichpython3.13.____cp313: CONFIG: osx_64_hdf52mpimpichpython3.13.____cp313 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf52mpimpichpython3.14.____cp314: CONFIG: osx_64_hdf52mpimpichpython3.14.____cp314 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf52mpinompipython3.10.____cpython: CONFIG: osx_64_hdf52mpinompipython3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf52mpinompipython3.11.____cpython: CONFIG: osx_64_hdf52mpinompipython3.11.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf52mpinompipython3.12.____cpython: CONFIG: osx_64_hdf52mpinompipython3.12.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf52mpinompipython3.13.____cp313: CONFIG: osx_64_hdf52mpinompipython3.13.____cp313 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf52mpinompipython3.14.____cp314: CONFIG: osx_64_hdf52mpinompipython3.14.____cp314 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf52mpiopenmpipython3.10.____cpython: CONFIG: osx_64_hdf52mpiopenmpipython3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf52mpiopenmpipython3.11.____cpython: CONFIG: osx_64_hdf52mpiopenmpipython3.11.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf52mpiopenmpipython3.12.____cpython: CONFIG: osx_64_hdf52mpiopenmpipython3.12.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf52mpiopenmpipython3.13.____cp313: CONFIG: osx_64_hdf52mpiopenmpipython3.13.____cp313 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_hdf52mpiopenmpipython3.14.____cp314: CONFIG: osx_64_hdf52mpiopenmpipython3.14.____cp314 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf51.14.6mpimpichpython3.10.____cpython: CONFIG: osx_arm64_hdf51.14.6mpimpichpython3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf51.14.6mpimpichpython3.11.____cpython: CONFIG: osx_arm64_hdf51.14.6mpimpichpython3.11.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf51.14.6mpimpichpython3.12.____cpython: CONFIG: osx_arm64_hdf51.14.6mpimpichpython3.12.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf51.14.6mpimpichpython3.13.____cp313: CONFIG: osx_arm64_hdf51.14.6mpimpichpython3.13.____cp313 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf51.14.6mpimpichpython3.14.____cp314: CONFIG: osx_arm64_hdf51.14.6mpimpichpython3.14.____cp314 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf51.14.6mpinompipython3.10.____cpython: CONFIG: osx_arm64_hdf51.14.6mpinompipython3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf51.14.6mpinompipython3.11.____cpython: CONFIG: osx_arm64_hdf51.14.6mpinompipython3.11.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf51.14.6mpinompipython3.12.____cpython: CONFIG: osx_arm64_hdf51.14.6mpinompipython3.12.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf51.14.6mpinompipython3.13.____cp313: CONFIG: osx_arm64_hdf51.14.6mpinompipython3.13.____cp313 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf51.14.6mpinompipython3.14.____cp314: CONFIG: osx_arm64_hdf51.14.6mpinompipython3.14.____cp314 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf51.14.6mpiopenmpipython3.10.____cpython: CONFIG: osx_arm64_hdf51.14.6mpiopenmpipython3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf51.14.6mpiopenmpipython3.11.____cpython: CONFIG: osx_arm64_hdf51.14.6mpiopenmpipython3.11.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf51.14.6mpiopenmpipython3.12.____cpython: CONFIG: osx_arm64_hdf51.14.6mpiopenmpipython3.12.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf51.14.6mpiopenmpipython3.13.____cp313: CONFIG: osx_arm64_hdf51.14.6mpiopenmpipython3.13.____cp313 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf51.14.6mpiopenmpipython3.14.____cp314: CONFIG: osx_arm64_hdf51.14.6mpiopenmpipython3.14.____cp314 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf52mpimpichpython3.10.____cpython: CONFIG: osx_arm64_hdf52mpimpichpython3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf52mpimpichpython3.11.____cpython: CONFIG: osx_arm64_hdf52mpimpichpython3.11.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf52mpimpichpython3.12.____cpython: CONFIG: osx_arm64_hdf52mpimpichpython3.12.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf52mpimpichpython3.13.____cp313: CONFIG: osx_arm64_hdf52mpimpichpython3.13.____cp313 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf52mpimpichpython3.14.____cp314: CONFIG: osx_arm64_hdf52mpimpichpython3.14.____cp314 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf52mpinompipython3.10.____cpython: CONFIG: osx_arm64_hdf52mpinompipython3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf52mpinompipython3.11.____cpython: CONFIG: osx_arm64_hdf52mpinompipython3.11.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf52mpinompipython3.12.____cpython: CONFIG: osx_arm64_hdf52mpinompipython3.12.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf52mpinompipython3.13.____cp313: CONFIG: osx_arm64_hdf52mpinompipython3.13.____cp313 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf52mpinompipython3.14.____cp314: CONFIG: osx_arm64_hdf52mpinompipython3.14.____cp314 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf52mpiopenmpipython3.10.____cpython: CONFIG: osx_arm64_hdf52mpiopenmpipython3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf52mpiopenmpipython3.11.____cpython: CONFIG: osx_arm64_hdf52mpiopenmpipython3.11.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf52mpiopenmpipython3.12.____cpython: CONFIG: osx_arm64_hdf52mpiopenmpipython3.12.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf52mpiopenmpipython3.13.____cp313: CONFIG: osx_arm64_hdf52mpiopenmpipython3.13.____cp313 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_arm64_hdf52mpiopenmpipython3.14.____cp314: CONFIG: osx_arm64_hdf52mpiopenmpipython3.14.____cp314 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false maxParallel: 43 timeoutInMinutes: 360 variables: {} diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 9cd1dd14..edebe814 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,36 +8,46 @@ jobs: vmImage: windows-2022 strategy: matrix: - win_64_hdf51.14.6python3.10.____cpython: - CONFIG: win_64_hdf51.14.6python3.10.____cpython + win_64_hdf51.14.6mpinompipython3.10.____cpython: + CONFIG: win_64_hdf51.14.6mpinompipython3.10.____cpython UPLOAD_PACKAGES: 'True' - win_64_hdf51.14.6python3.11.____cpython: - CONFIG: win_64_hdf51.14.6python3.11.____cpython + store_build_artifacts: false + win_64_hdf51.14.6mpinompipython3.11.____cpython: + CONFIG: win_64_hdf51.14.6mpinompipython3.11.____cpython UPLOAD_PACKAGES: 'True' - win_64_hdf51.14.6python3.12.____cpython: - CONFIG: win_64_hdf51.14.6python3.12.____cpython + store_build_artifacts: false + win_64_hdf51.14.6mpinompipython3.12.____cpython: + CONFIG: win_64_hdf51.14.6mpinompipython3.12.____cpython UPLOAD_PACKAGES: 'True' - win_64_hdf51.14.6python3.13.____cp313: - CONFIG: win_64_hdf51.14.6python3.13.____cp313 + store_build_artifacts: false + win_64_hdf51.14.6mpinompipython3.13.____cp313: + CONFIG: win_64_hdf51.14.6mpinompipython3.13.____cp313 UPLOAD_PACKAGES: 'True' - win_64_hdf51.14.6python3.14.____cp314: - CONFIG: win_64_hdf51.14.6python3.14.____cp314 + store_build_artifacts: false + win_64_hdf51.14.6mpinompipython3.14.____cp314: + CONFIG: win_64_hdf51.14.6mpinompipython3.14.____cp314 UPLOAD_PACKAGES: 'True' - win_64_hdf52python3.10.____cpython: - CONFIG: win_64_hdf52python3.10.____cpython + store_build_artifacts: false + win_64_hdf52mpinompipython3.10.____cpython: + CONFIG: win_64_hdf52mpinompipython3.10.____cpython UPLOAD_PACKAGES: 'True' - win_64_hdf52python3.11.____cpython: - CONFIG: win_64_hdf52python3.11.____cpython + store_build_artifacts: false + win_64_hdf52mpinompipython3.11.____cpython: + CONFIG: win_64_hdf52mpinompipython3.11.____cpython UPLOAD_PACKAGES: 'True' - win_64_hdf52python3.12.____cpython: - CONFIG: win_64_hdf52python3.12.____cpython + store_build_artifacts: false + win_64_hdf52mpinompipython3.12.____cpython: + CONFIG: win_64_hdf52mpinompipython3.12.____cpython UPLOAD_PACKAGES: 'True' - win_64_hdf52python3.13.____cp313: - CONFIG: win_64_hdf52python3.13.____cp313 + store_build_artifacts: false + win_64_hdf52mpinompipython3.13.____cp313: + CONFIG: win_64_hdf52mpinompipython3.13.____cp313 UPLOAD_PACKAGES: 'True' - win_64_hdf52python3.14.____cp314: - CONFIG: win_64_hdf52python3.14.____cp314 + store_build_artifacts: false + win_64_hdf52mpinompipython3.14.____cp314: + CONFIG: win_64_hdf52mpinompipython3.14.____cp314 UPLOAD_PACKAGES: 'True' + store_build_artifacts: false maxParallel: 7 timeoutInMinutes: 360 variables: diff --git a/.ci_support/win_64_hdf51.14.6python3.10.____cpython.yaml b/.ci_support/win_64_hdf51.14.6mpinompipython3.10.____cpython.yaml similarity index 100% rename from .ci_support/win_64_hdf51.14.6python3.10.____cpython.yaml rename to .ci_support/win_64_hdf51.14.6mpinompipython3.10.____cpython.yaml diff --git a/.ci_support/win_64_hdf51.14.6python3.11.____cpython.yaml b/.ci_support/win_64_hdf51.14.6mpinompipython3.11.____cpython.yaml similarity index 100% rename from .ci_support/win_64_hdf51.14.6python3.11.____cpython.yaml rename to .ci_support/win_64_hdf51.14.6mpinompipython3.11.____cpython.yaml diff --git a/.ci_support/win_64_hdf51.14.6python3.12.____cpython.yaml b/.ci_support/win_64_hdf51.14.6mpinompipython3.12.____cpython.yaml similarity index 100% rename from .ci_support/win_64_hdf51.14.6python3.12.____cpython.yaml rename to .ci_support/win_64_hdf51.14.6mpinompipython3.12.____cpython.yaml diff --git a/.ci_support/win_64_hdf51.14.6python3.13.____cp313.yaml b/.ci_support/win_64_hdf51.14.6mpinompipython3.13.____cp313.yaml similarity index 100% rename from .ci_support/win_64_hdf51.14.6python3.13.____cp313.yaml rename to .ci_support/win_64_hdf51.14.6mpinompipython3.13.____cp313.yaml diff --git a/.ci_support/win_64_hdf51.14.6python3.14.____cp314.yaml b/.ci_support/win_64_hdf51.14.6mpinompipython3.14.____cp314.yaml similarity index 100% rename from .ci_support/win_64_hdf51.14.6python3.14.____cp314.yaml rename to .ci_support/win_64_hdf51.14.6mpinompipython3.14.____cp314.yaml diff --git a/.ci_support/win_64_hdf52python3.10.____cpython.yaml b/.ci_support/win_64_hdf52mpinompipython3.10.____cpython.yaml similarity index 100% rename from .ci_support/win_64_hdf52python3.10.____cpython.yaml rename to .ci_support/win_64_hdf52mpinompipython3.10.____cpython.yaml diff --git a/.ci_support/win_64_hdf52python3.11.____cpython.yaml b/.ci_support/win_64_hdf52mpinompipython3.11.____cpython.yaml similarity index 100% rename from .ci_support/win_64_hdf52python3.11.____cpython.yaml rename to .ci_support/win_64_hdf52mpinompipython3.11.____cpython.yaml diff --git a/.ci_support/win_64_hdf52python3.12.____cpython.yaml b/.ci_support/win_64_hdf52mpinompipython3.12.____cpython.yaml similarity index 100% rename from .ci_support/win_64_hdf52python3.12.____cpython.yaml rename to .ci_support/win_64_hdf52mpinompipython3.12.____cpython.yaml diff --git a/.ci_support/win_64_hdf52python3.13.____cp313.yaml b/.ci_support/win_64_hdf52mpinompipython3.13.____cp313.yaml similarity index 100% rename from .ci_support/win_64_hdf52python3.13.____cp313.yaml rename to .ci_support/win_64_hdf52mpinompipython3.13.____cp313.yaml diff --git a/.ci_support/win_64_hdf52python3.14.____cp314.yaml b/.ci_support/win_64_hdf52mpinompipython3.14.____cp314.yaml similarity index 100% rename from .ci_support/win_64_hdf52python3.14.____cp314.yaml rename to .ci_support/win_64_hdf52mpinompipython3.14.____cp314.yaml diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index c5368f4b..5bd4f188 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -23,451 +23,541 @@ jobs: matrix: include: - CONFIG: linux_64_hdf51.14.6mpimpichpython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf51.14.6mpimpichpython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf51.14.6mpimpichpython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf51.14.6mpimpichpython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf51.14.6mpimpichpython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf51.14.6mpinompipython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf51.14.6mpinompipython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf51.14.6mpinompipython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf51.14.6mpinompipython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf51.14.6mpinompipython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf51.14.6mpiopenmpipython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf51.14.6mpiopenmpipython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf51.14.6mpiopenmpipython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf51.14.6mpiopenmpipython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf51.14.6mpiopenmpipython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf52mpimpichpython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf52mpimpichpython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf52mpimpichpython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf52mpimpichpython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf52mpimpichpython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf52mpinompipython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf52mpinompipython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf52mpinompipython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf52mpinompipython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf52mpinompipython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf52mpiopenmpipython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf52mpiopenmpipython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf52mpiopenmpipython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf52mpiopenmpipython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_hdf52mpiopenmpipython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf51.14.6mpimpichpython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf51.14.6mpimpichpython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf51.14.6mpimpichpython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf51.14.6mpimpichpython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf51.14.6mpimpichpython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf51.14.6mpinompipython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf51.14.6mpinompipython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf51.14.6mpinompipython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf51.14.6mpinompipython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf51.14.6mpinompipython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf51.14.6mpiopenmpipython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf51.14.6mpiopenmpipython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf51.14.6mpiopenmpipython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf51.14.6mpiopenmpipython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf51.14.6mpiopenmpipython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf52mpimpichpython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf52mpimpichpython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf52mpimpichpython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf52mpimpichpython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf52mpimpichpython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf52mpinompipython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf52mpinompipython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf52mpinompipython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf52mpinompipython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf52mpinompipython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf52mpiopenmpipython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf52mpiopenmpipython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf52mpiopenmpipython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf52mpiopenmpipython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_hdf52mpiopenmpipython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf51.14.6mpimpichpython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf51.14.6mpimpichpython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf51.14.6mpimpichpython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf51.14.6mpimpichpython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf51.14.6mpimpichpython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf51.14.6mpinompipython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf51.14.6mpinompipython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf51.14.6mpinompipython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf51.14.6mpinompipython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf51.14.6mpinompipython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf51.14.6mpiopenmpipython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf51.14.6mpiopenmpipython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf51.14.6mpiopenmpipython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf51.14.6mpiopenmpipython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf51.14.6mpiopenmpipython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf52mpimpichpython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf52mpimpichpython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf52mpimpichpython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf52mpimpichpython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf52mpimpichpython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf52mpinompipython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf52mpinompipython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf52mpinompipython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf52mpinompipython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf52mpinompipython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf52mpiopenmpipython3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf52mpiopenmpipython3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf52mpiopenmpipython3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf52mpiopenmpipython3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_ppc64le_hdf52mpiopenmpipython3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] @@ -544,7 +634,7 @@ jobs: env: # default value; make it explicit, as it needs to match with artefact # generation below. Not configurable for now, can be revisited later - CONDA_BLD_DIR: C:\bld + CONDA_BLD_PATH: C:\bld MINIFORGE_HOME: ${{ contains(runner.arch, 'ARM') && 'C' || 'D' }}:\Miniforge PYTHONUNBUFFERED: 1 CONFIG: ${{ matrix.CONFIG }} diff --git a/.gitignore b/.gitignore index 47b5408a..86a9c55b 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ # Ignore all files and folders in root * !/conda-forge.yml +!.recipe_maintainers.json # Don't ignore any files/folders if the parent folder is 'un-ignored' # This also avoids warnings when adding an already-checked file with an ignored parent. diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index be060cb0..b5ef46f8 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -36,7 +36,7 @@ mv /opt/conda/conda-meta/history /opt/conda/conda-meta/history.$(date +%Y-%m-%d- echo > /opt/conda/conda-meta/history micromamba install --root-prefix ~/.conda --prefix /opt/conda \ --yes --override-channels --channel conda-forge --strict-channel-priority \ - pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" + pip rattler-build conda-forge-ci-setup=4 "conda-build>=24.1" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 # set up the condarc @@ -50,7 +50,7 @@ source run_conda_forge_build_setup make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]] && [[ "${HOST_PLATFORM}" != linux-* ]] && [[ "${BUILD_WITH_CONDA_DEBUG:-0}" != 1 ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --test skip" fi @@ -61,20 +61,16 @@ if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then fi if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then - if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" - fi - conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" - - # Drop into an interactive shell - /bin/bash + echo "rattler-build currently doesn't support debug mode" else - conda-build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ - --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" + + rattler-build build --recipe "${RECIPE_ROOT}" \ + -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + ${EXTRA_CB_OPTIONS:-} \ + --target-platform "${HOST_PLATFORM}" \ + --extra-meta flow_run_id="${flow_run_id:-}" \ + --extra-meta remote_url="${remote_url:-}" \ + --extra-meta sha="${sha:-}" ( startgroup "Inspecting artifacts" ) 2> /dev/null # inspect_artifacts was only added in conda-forge-ci-setup 4.9.4 diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index bac7141a..6a9653cf 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -26,7 +26,7 @@ chmod +x "${micromamba_exe}" echo "Creating environment" "${micromamba_exe}" create --yes --root-prefix "${MAMBA_ROOT_PREFIX}" --prefix "${MINIFORGE_HOME}" \ --channel conda-forge \ - pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" + pip rattler-build conda-forge-ci-setup=4 "conda-build>=24.1" echo "Moving pkgs cache from ${MAMBA_ROOT_PREFIX} to ${MINIFORGE_HOME}" mv "${MAMBA_ROOT_PREFIX}/pkgs" "${MINIFORGE_HOME}" echo "Cleaning up micromamba" @@ -89,33 +89,25 @@ source run_conda_forge_build_setup ( endgroup "Configuring conda" ) 2> /dev/null -echo -e "\n\nMaking the build clobber file" -make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml - if [[ -f LICENSE.txt ]]; then cp LICENSE.txt "recipe/recipe-scripts-license.txt" fi if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then - if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" - fi - conda debug ./recipe -m ./.ci_support/${CONFIG}.yaml \ - ${EXTRA_CB_OPTIONS:-} \ - --clobber-file ./.ci_support/clobber_${CONFIG}.yaml - - # Drop into an interactive shell - /bin/bash + echo "rattler-build does not currently support debug mode" else if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --test skip" fi - conda-build ./recipe -m ./.ci_support/${CONFIG}.yaml \ - --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ - --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" + rattler-build build --recipe ./recipe \ + -m ./.ci_support/${CONFIG}.yaml \ + ${EXTRA_CB_OPTIONS:-} \ + --target-platform "${HOST_PLATFORM}" \ + --extra-meta flow_run_id="$flow_run_id" \ + --extra-meta remote_url="$remote_url" \ + --extra-meta sha="$sha" ( startgroup "Inspecting artifacts" ) 2> /dev/null diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 27c552b1..45938bb1 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -31,7 +31,7 @@ if !errorlevel! neq 0 exit /b !errorlevel! echo Creating environment call "%MICROMAMBA_EXE%" create --yes --root-prefix "%MAMBA_ROOT_PREFIX%" --prefix "%MINIFORGE_HOME%" ^ --channel conda-forge ^ - pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" + pip rattler-build conda-forge-ci-setup=4 "conda-build>=24.1" if !errorlevel! neq 0 exit /b !errorlevel! echo Removing %MAMBA_ROOT_PREFIX% del /S /Q "%MAMBA_ROOT_PREFIX%" >nul @@ -64,19 +64,19 @@ if EXIST LICENSE.txt ( ) if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( if [%CROSSCOMPILING_EMULATOR%] == [] ( - set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --test skip" ) ) if NOT [%flow_run_id%] == [] ( - set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% remote_url=%remote_url% sha=%sha%" + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% --extra-meta remote_url=%remote_url% --extra-meta sha=%sha%" ) call :end_group :: Build the recipe echo Building recipe -conda-build.exe "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +rattler-build.exe build --recipe "recipe" -m .ci_support\%CONFIG%.yaml %EXTRA_CB_OPTIONS% --target-platform %HOST_PLATFORM% if !errorlevel! neq 0 exit /b !errorlevel! call :start_group "Inspecting artifacts" diff --git a/README.md b/README.md index 17d01fcf..95a3acf8 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Summary: Next generation of ADIOS developed in the Exascale Computing Program Development: https://github.com/ornladios/ADIOS2 -Documentation: https://adios2.readthedocs.io +Documentation: https://adios2.readthedocs.io/ ADIOS2 is the latest implementation of the ADaptable Input Output System, ADIOS. This brand new architecture was designed to continue supporting the @@ -19,7 +19,6 @@ performance legacy of ADIOS, and extend its current capabilities to address current and future input/output (IO) challenges in the scientific data lifecycle through effective research and development (R&D) activities. - Current build status ==================== @@ -1088,73 +1087,73 @@ Current build status - win_64_hdf51.14.6python3.10.____cpython + win_64_hdf51.14.6mpinompipython3.10.____cpython - variant + variant - win_64_hdf51.14.6python3.11.____cpython + win_64_hdf51.14.6mpinompipython3.11.____cpython - variant + variant - win_64_hdf51.14.6python3.12.____cpython + win_64_hdf51.14.6mpinompipython3.12.____cpython - variant + variant - win_64_hdf51.14.6python3.13.____cp313 + win_64_hdf51.14.6mpinompipython3.13.____cp313 - variant + variant - win_64_hdf51.14.6python3.14.____cp314 + win_64_hdf51.14.6mpinompipython3.14.____cp314 - variant + variant - win_64_hdf52python3.10.____cpython + win_64_hdf52mpinompipython3.10.____cpython - variant + variant - win_64_hdf52python3.11.____cpython + win_64_hdf52mpinompipython3.11.____cpython - variant + variant - win_64_hdf52python3.12.____cpython + win_64_hdf52mpinompipython3.12.____cpython - variant + variant - win_64_hdf52python3.13.____cp313 + win_64_hdf52mpinompipython3.13.____cp313 - variant + variant - win_64_hdf52python3.14.____cp314 + win_64_hdf52mpinompipython3.14.____cp314 - variant + variant diff --git a/conda-forge.yml b/conda-forge.yml index eaa76a17..ab2de6ed 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -7,6 +7,7 @@ build_platform: conda_build: pkg_format: '2' conda_forge_output_validation: true +conda_build_tool: rattler-build github: branch_name: main tooling_branch_name: main diff --git a/recipe/build-adios-py.bat b/recipe/build-adios-py.bat index 6bb79ddd..6b76a2e6 100644 --- a/recipe/build-adios-py.bat +++ b/recipe/build-adios-py.bat @@ -1,6 +1,13 @@ :: see "make list_install_components" -cmake --install build --component adios2_tools-runtime -cmake --install build --component adios2_scripts-runtime -cmake --install build --component adios2_python-python +cmake --install build --component adios2_tools-runtime --prefix %LIBRARY_PREFIX% +cmake --install build --component adios2_scripts-runtime --prefix %LIBRARY_PREFIX% +cmake --install build --component adios2_python-python --prefix %LIBRARY_PREFIX% :: python installs to Library/Lib/site-packages instead of Lib/site-packages for some reason -move %LIBRARY_LIB%\site-packages\adios2 %SP_DIR%\adios2 +:: Use xcopy+rd instead of move: move fails when the destination already exists (e.g. +:: staging cmake --install already placed files in SP_DIR via Python3_SITELIB). +if exist "%LIBRARY_LIB%\site-packages\adios2" ( + xcopy /E /I /Y "%LIBRARY_LIB%\site-packages\adios2" "%SP_DIR%\adios2" + if errorlevel 1 exit 1 + rd /S /Q "%LIBRARY_LIB%\site-packages\adios2" + if errorlevel 1 exit 1 +) diff --git a/recipe/build-adios-py.sh b/recipe/build-adios-py.sh index 2956a538..a20ee432 100644 --- a/recipe/build-adios-py.sh +++ b/recipe/build-adios-py.sh @@ -1,4 +1,4 @@ # see "make list_install_components" -cmake --install build --component adios2_tools-runtime -cmake --install build --component adios2_scripts-runtime -cmake --install build --component adios2_python-python +cmake --install build --component adios2_tools-runtime --prefix "${PREFIX}" +cmake --install build --component adios2_scripts-runtime --prefix "${PREFIX}" +cmake --install build --component adios2_python-python --prefix "${PREFIX}" diff --git a/recipe/build-libadios.sh b/recipe/build-libadios.sh index bb24c7e1..e74a17b1 100644 --- a/recipe/build-libadios.sh +++ b/recipe/build-libadios.sh @@ -3,9 +3,18 @@ set -x +USE_BZIP2=ON + if [[ ${target_platform} =~ osx ]]; then CMAKE_ARGS+=" -DADIOS2_USE_Fortran=OFF" - CMAKE_ARGS+=" -DADIOS2_USE_BZip2=OFF" + USE_BZIP2=OFF +fi + +# osx_64 CI runners use Apple Silicon + Rosetta 2 emulation; DILL's libffi +# x86_64 JIT emulation segfaults under Rosetta 2. DILL_NATIVE_ONLY skips +# libffi so FFS falls back to its non-JIT path. +if [[ ${target_platform} == "osx-64" ]]; then + CMAKE_ARGS+=" -DDILL_NATIVE_ONLY=ON" fi # MPI variants @@ -48,7 +57,7 @@ cmake \ -DADIOS2_HAVE_ZFP_CUDA=OFF \ -DADIOS2_INSTALL_GENERATE_CONFIG=OFF \ -DADIOS2_RUN_INSTALL_TEST=ON \ - -DADIOS2_USE_BZip2=ON \ + -DADIOS2_USE_BZip2=${USE_BZIP2} \ -DADIOS2_USE_Campaign=OFF \ -DADIOS2_USE_HDF5=ON \ -DADIOS2_USE_MPI=${USE_MPI} \ diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml deleted file mode 100644 index 4c56a1eb..00000000 --- a/recipe/conda_build_config.yaml +++ /dev/null @@ -1,4 +0,0 @@ -mpi: - - nompi - - mpich # [unix] - - openmpi # [unix] diff --git a/recipe/meta.yaml b/recipe/meta.yaml deleted file mode 100644 index efedc84d..00000000 --- a/recipe/meta.yaml +++ /dev/null @@ -1,191 +0,0 @@ -{% set name = "adios2" %} -{% set version = "2.11.0" %} -{% set sha256 = "0a2bd745e3f39745f07587e4a5f92d72f12fa0e2be305e7957bdceda03735dbf" %} -{% set build = 6 %} - -# ensure mpi is defined (needed for conda-smithy recipe-lint) -{% set mpi = mpi or 'nompi' %} - -# prioritize nompi variant via build number -{% if mpi == 'nompi' %} -{% set build = build + 100 %} -{% endif %} - -# add build string so packages can depend on -# mpi or nompi variants -# dependencies: -# `pkg * mpi_mpich_*` for mpich -# `pkg * mpi_*` for any mpi -# `pkg * nompi_*` for no mpi -{% if mpi == 'nompi' %} -{% set mpi_prefix = "nompi" %} -{% else %} -{% set mpi_prefix = "mpi_" + mpi %} -{% endif %} - -package: - name: {{ name|lower }}-split - version: {{ version }} - -source: - url: https://github.com/ornladios/ADIOS2/archive/refs/tags/v{{ version }}.tar.gz - sha256: {{ sha256 }} - -build: - number: {{ build }} - # https://github.com/ornladios/ADIOS2/issues/2068 - skip: true # [python_impl == 'pypy'] - -outputs: - - name: libadios2 - script: build-libadios.sh # [unix] - script: build-libadios.bat # [win] - build: - string: {{ mpi_prefix }}_h{{ PKG_HASH }}_{{ build }} - # ignore run-exports from Python dependencies - # note: all of these should be duplicated to host/build in adios2 - # to get the right pins - ignore_run_exports_from: - - cross-python_{{ target_platform }} - - python - - mpi4py - - numpy - run_exports: - # strict runtime dependency on build-time MPI flavor - # patch-releases are not ABI compatible: - # https://docs.conda.io/projects/conda-build/en/latest/resources/variants.html#referencing-subpackages - # https://abi-laboratory.pro/?view=timeline&l=adios2 - - {{ pin_subpackage('libadios2', min_pin='x.x.x', max_pin='x.x.x') }} {{ mpi_prefix }}_* - requirements: - build: - - {{ compiler('c') }} - - {{ stdlib("c") }} - - {{ compiler('cxx') }} - # TODO: seems incompatible on OSX and too experimental for Windows - - {{ compiler("fortran") }} - - bison # [unix] - - cmake - - flex # [unix] - - make # [unix] - - ninja # [unix] - - pkg-config # [unix] - - # Cross compiliation - - {{ mpi }} # [mpi == 'openmpi' and build_platform != target_platform] - # Needed for Python cross: - # Python _build_ is handled here, install in separate output - - python # [build_platform != target_platform] - - cross-python_{{ target_platform }} # [build_platform != target_platform] - - numpy # [build_platform != target_platform] - host: - - {{ mpi }} # [mpi != 'nompi'] - - bzip2 - - c-blosc2 - # need to list hdf5 twice to get version pinning from conda_build_config - - hdf5 - - hdf5 * {{ mpi_prefix }}_* - - libffi - - libpng - - libsodium # [not win] - - mpi4py # [mpi != 'nompi'] - - numpy - - python - - zeromq # [not win] - - ucx # [linux and mpi != 'nompi' and not ppc64le] - - zfp - - zlib - - test: - requires: - - {{ compiler("c") }} - - {{ compiler("cxx") }} - - cmake - - make # [unix] - files: - - test-libadios.sh - source_files: - - examples/hello/helloWorld - commands: - - test -f ${PREFIX}/lib/cmake/adios2/adios2-config.cmake # [unix] - - test -f ${PREFIX}/lib/cmake/adios2/adios2-c-targets.cmake # [unix] - - test -f ${PREFIX}/lib/cmake/adios2/adios2-cxx-targets.cmake # [unix] - - test -f ${PREFIX}/lib/libadios2_cxx${SHLIB_EXT} # [unix] - - test -f ${PREFIX}/lib/libadios2_c${SHLIB_EXT} # [unix] - - if exist %LIBRARY_PREFIX%\bin\adios2_cxx.dll (exit 0) else (exit 1) # [win] - - if exist %LIBRARY_PREFIX%\bin\adios2_c.dll (exit 0) else (exit 1) # [win] - - if exist %LIBRARY_PREFIX%\lib\cmake\adios2\adios2-config.cmake (exit 0) else (exit 1) # [win] - - if exist %LIBRARY_PREFIX%\lib\cmake\adios2\adios2-c-targets.cmake (exit 0) else (exit 1) # [win] - - if exist %LIBRARY_PREFIX%\lib\cmake\adios2\adios2-cxx-targets.cmake (exit 0) else (exit 1) # [win] - - # make sure we didn't install Python files - - test ! -d ${SP_DIR}/adios2 # [unix] - - if exist %SP_DIR%\adios2 (exit 1) else (exit 0) # [win] - - test ! -f ${PREFIX}/bin/bp5dbg # [unix] - - if exist %LIBRARY_PREFIX%\bin\bp5dbg (exit 1) else (exit 0) # [win] - # run a test build from the examples - - bash test-libadios.sh # [unix] - - - name: adios2 - # Install tools and script built in the libadios2 pkg - script: build-adios-py.sh # [unix] - script: build-adios-py.bat # [win] - build: - string: {{ mpi_prefix }}_py{{ py }}h{{ PKG_HASH }}_{{ build }} - run_exports: - - {{ pin_subpackage('adios2', min_pin='x.x.x', max_pin='x.x.x') }} {{ mpi_prefix }}_* - - # below requirements should match exactly - # those in the actual build above which have relevant run_exports - requirements: - build: - - {{ compiler("c") }} - - {{ stdlib("c") }} - - {{ compiler("cxx") }} - - python # [build_platform != target_platform] - - cross-python_{{ target_platform }} # [build_platform != target_platform] - - numpy # [build_platform != target_platform] - - cmake - host: - - {{ mpi }} # [mpi != 'nompi'] - - {{ pin_subpackage("libadios2", exact=True) }} - - hdf5 - - hdf5 * {{ mpi_prefix }}_* - - python - - mpi4py # [mpi != 'nompi'] - - numpy - - ucx # [linux and mpi != 'nompi' and not ppc64le] - - zfp - run: - - {{ pin_subpackage("libadios2", exact=True) }} - - python - test: - # test.imports is unreliable for multiple outputs - commands: - # Python package works: - - python -c "import adios2; print(adios2.__version__)" - # Python-based scripts are present: - - bp5dbg --help # [unix] - - bpls --help # [unix] - - if exist %LIBRARY_PREFIX%\bin\bp5dbg (exit 0) else (exit 1) # [win] - -about: - home: https://www.olcf.ornl.gov/center-projects/adios/ - license: Apache-2.0 - license_file: LICENSE - summary: Next generation of ADIOS developed in the Exascale Computing Program - - description: | - ADIOS2 is the latest implementation of the ADaptable Input Output System, - ADIOS. This brand new architecture was designed to continue supporting the - performance legacy of ADIOS, and extend its current capabilities to address - current and future input/output (IO) challenges in the scientific data - lifecycle through effective research and development (R&D) activities. - doc_url: https://adios2.readthedocs.io - dev_url: https://github.com/ornladios/ADIOS2 - -extra: - feedstock-name: adios2 - recipe-maintainers: - - ax3l - - vicentebolea - - williamfgc diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml new file mode 100644 index 00000000..e273db0d --- /dev/null +++ b/recipe/recipe.yaml @@ -0,0 +1,190 @@ +# This recipe uses the v1 YAML format introduced by CEP 13 +# For more information see: https://prefix-dev.github.io/rattler-build/latest/reference/recipe_file/ + +context: + name: adios2 + version: 2.11.0 + sha256: 0a2bd745e3f39745f07587e4a5f92d72f12fa0e2be305e7957bdceda03735dbf + build_number: 7 + +recipe: + name: ${{ name }} + version: ${{ version }} + +source: + url: https://github.com/ornladios/ADIOS2/archive/v${{ version }}.tar.gz + sha256: ${{ sha256 }} + +build: + number: ${{ build_number }} + +outputs: + - staging: + name: adios2-build + build: + script: + file: ${{ "build-libadios.sh" if unix else "build-libadios.bat" }} + env: + mpi: ${{ mpi }} + requirements: + build: + - ${{ compiler('c') }} + - ${{ compiler('cxx') }} + - ${{ stdlib('c') }} + - ${{ compiler('fortran') }} + - ${{ "ninja" if unix }} + - ${{ "make" if unix }} + - ${{ "pkg-config" if unix }} + - ${{ "flex" if unix }} + - ${{ "bison" if unix }} + - cmake + - ${{ "python" if build_platform != target_platform }} + - ${{ "cross-python_" + target_platform if build_platform != target_platform }} + - ${{ "numpy" if build_platform != target_platform }} + - ${{ mpi if mpi != "nompi" and build_platform != target_platform }} + host: + - python + - numpy + - ${{ mpi if mpi != "nompi" }} + - ${{ "mpi4py" if mpi != "nompi" }} + - libffi + - hdf5 + - "hdf5 * ${{ 'nompi' if mpi == 'nompi' else 'mpi_' + mpi }}_*" + - ${{ "zeromq" if not win }} + - ${{ "libsodium" if not win }} + - bzip2 + - c-blosc2 + - libpng + - zfp + - ${{ "ucx" if linux and mpi != "nompi" and target_platform != "linux-ppc64le" }} + - zlib + ignore_run_exports: + from_package: + - python + - numpy + - mpi4py + - cross-python_${{ target_platform }} + + # C++ library: shared libs, cmake config, headers only (no Python, no CLI tools) + - package: + name: libadios2 + inherit: adios2-build + build: + # No python version in build string: libadios2 contains no Python files + string: ${{ 'nompi' if mpi == 'nompi' else 'mpi_' + mpi }}_h${{ hash }}_${{ build_number + (100 if mpi == 'nompi' else 0) }} + skip: + - if: python_impl == "pypy" + then: true + - if: win and mpi != 'nompi' + then: true + requirements: + run_exports: + strong: + - ${{ pin_subpackage('libadios2', exact=True) }} + tests: + - requirements: + run: + - ${{ compiler('c') }} + - ${{ compiler('cxx') }} + - ${{ stdlib('c') }} + - cmake + - if: unix + then: + - make + files: + source: + - examples/ + recipe: + - test-libadios.sh + script: + - if: unix + then: + - test -f ${PREFIX}/lib/cmake/adios2/adios2-config.cmake + - test -f ${PREFIX}/lib/cmake/adios2/adios2-c-targets.cmake + - test -f ${PREFIX}/lib/cmake/adios2/adios2-cxx-targets.cmake + - test -f ${PREFIX}/lib/libadios2_cxx${SHLIB_EXT} + - test -f ${PREFIX}/lib/libadios2_c${SHLIB_EXT} + # Verify Python files are absent from this package + - test ! -d ${SP_DIR}/adios2 + - test ! -f ${PREFIX}/bin/bp5dbg + - mpi=${{ mpi }} bash test-libadios.sh + - if: win + then: + - if exist %LIBRARY_PREFIX%\bin\adios2_cxx.dll (exit 0) else (exit 1) + - if exist %LIBRARY_PREFIX%\bin\adios2_c.dll (exit 0) else (exit 1) + - if exist %LIBRARY_PREFIX%\lib\cmake\adios2\adios2-config.cmake (exit 0) else (exit 1) + - if exist %LIBRARY_PREFIX%\lib\cmake\adios2\adios2-c-targets.cmake (exit 0) else (exit 1) + - if exist %LIBRARY_PREFIX%\lib\cmake\adios2\adios2-cxx-targets.cmake (exit 0) else (exit 1) + + # Python bindings + CLI tools (bpls, bp5dbg, etc.) + - package: + name: adios2 + # Don't propagate staging host-dep run_exports; adios2 only needs python + libadios2. + inherit: + from: adios2-build + run_exports: false + build: + string: ${{ 'nompi' if mpi == 'nompi' else 'mpi_' + mpi }}_py${{ python | version_to_buildstring }}_h${{ hash }}_${{ build_number + (100 if mpi == 'nompi' else 0) }} + script: + file: ${{ "build-adios-py.sh" if unix else "build-adios-py.bat" }} + skip: + - if: python_impl == "pypy" + then: true + - if: win and mpi != 'nompi' + then: true + requirements: + build: + - ${{ compiler('c') }} + - ${{ compiler('cxx') }} + - ${{ stdlib('c') }} + - cmake + - if: build_platform != target_platform + then: + - python + - cross-python_${{ target_platform }} + - numpy + - if: mpi != "nompi" and build_platform != target_platform + then: ${{ mpi }} + run: + - python + - ${{ pin_subpackage('libadios2', exact=True) }} + - numpy + - "python_abi * *_cp${{ python | version_to_buildstring }}" + - if: mpi != "nompi" + then: + - ${{ mpi }} + - mpi4py + run_exports: + # Downstream packages that host adios2 get adios2 (Python + tools) at runtime + - ${{ pin_subpackage('adios2', exact=True) }} + tests: + - script: + - python -c "import adios2; print(adios2.__version__)" + - if: unix + then: + - bp5dbg --help + - bpls --help + - if: win + then: + - if exist %LIBRARY_PREFIX%\bin\bp5dbg (exit 0) else (exit 1) + +about: + homepage: https://www.olcf.ornl.gov/center-projects/adios/ + license: Apache-2.0 + license_file: LICENSE + summary: Next generation of ADIOS developed in the Exascale Computing Program + description: | + ADIOS2 is the latest implementation of the ADaptable Input Output System, + ADIOS. This brand new architecture was designed to continue supporting the + performance legacy of ADIOS, and extend its current capabilities to address + current and future input/output (IO) challenges in the scientific data + lifecycle through effective research and development (R&D) activities. + documentation: https://adios2.readthedocs.io + repository: https://github.com/ornladios/ADIOS2 + +extra: + feedstock-name: adios2 + recipe-maintainers: + - ax3l + - vicentebolea + - williamfgc diff --git a/recipe/test-libadios.sh b/recipe/test-libadios.sh index ff9c8204..090d40d7 100644 --- a/recipe/test-libadios.sh +++ b/recipe/test-libadios.sh @@ -9,7 +9,14 @@ export OMPI_MCA_btl_vader_single_copy_mechanism=none cd examples/hello/helloWorld -cmake $CMAKE_ARGS -B ./build +MPI_ARGS="" +if [[ "${mpi}" != "nompi" ]]; then + # Override the cross-compiler with the MPI wrappers so cmake's FindMPI + # works normally instead of failing in cross-compilation mode. + MPI_ARGS="-DCMAKE_C_COMPILER=${PREFIX}/bin/mpicc -DCMAKE_CXX_COMPILER=${PREFIX}/bin/mpicxx" +fi + +cmake $CMAKE_ARGS $MPI_ARGS -B ./build cmake --build ./build for name in adios2_hello_helloWorld_c adios2_hello_helloWorld adios2_hello_helloWorld_hl; do diff --git a/recipe/variants.yaml b/recipe/variants.yaml new file mode 100644 index 00000000..e2cf2e47 --- /dev/null +++ b/recipe/variants.yaml @@ -0,0 +1,6 @@ +# MPI variants configuration for rattler-build +mpi: + - nompi + - mpich + - openmpi +