From b0efc3017257b234895e77a23fdaf6200c0c36dd Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Mon, 3 Jun 2024 19:28:29 +0000 Subject: [PATCH 1/8] Rebuild for numpy 2.0 TL;DR: The way we build against numpy has changed as of numpy 2.0. This bot PR has updated the recipe to account for the changes (see below for details). The numpy 2.0 package itself is currently only available from a special release channel (`conda-forge/label/numpy_rc`) and will not be available on the main `conda-forge` channel until the release of numpy 2.0 GA. The biggest change is that we no longer need to use the oldest available numpy version at build time in order to support old numpy version at runtime - numpy will by default use a compatible ABI for the oldest still-supported numpy versions. Additionally, we no longer need to use `{{ pin_compatible("numpy") }}` as a run requirement - this has been handled for more than two years now by a run-export on the numpy package itself. The migrator will therefore remove any occurrences of this. However, by default, building against numpy 2.0 will assume that the package is compatible with numpy 2.0, which is not necessarily the case. You should check that the upstream package explicitly supports numpy 2.0, otherwise you need to add a `- numpy <2.0dev0` run requirement until that happens (check numpy issue 26191 for an overview of the most important packages). Note that the numpy release candidate promises to be ABI-compatible with the final 2.0 release. This means that building against 2.0.0rc1 produces packages that can be published to our main channels. If you already want to use the numpy 2.0 release candidate yourself, you can do ``` conda config --add channels conda-forge/label/numpy_rc ``` or add this channel to your `.condarc` file directly. ### To-Dos: * [ ] Match run-requirements for numpy (i.e. check upstream `pyproject.toml` or however the project specifies numpy compatibility) * If upstream is not yet compatible with numpy 2.0, add `numpy <2.0dev0` upper bound under `run:`. * If upstream is already compatible with numpy 2.0, nothing else should be necessary in most cases. * If upstream requires a minimum numpy version newer than 1.19, you can add `numpy >=x.y` under `run:`. * [ ] Remove any remaining occurrences of `{{ pin_compatible("numpy") }}` that the bot may have missed. PS. If the build does not compile anymore, this is almost certainly a sign that the upstream project is not yet ready for numpy 2.0; do not close this PR until a version compatible with numpy 2.0 has been released upstream and on this feedstock (in the meantime, you can keep the bot from reopening this PR in case of git conflicts by marking it as a draft). --- .ci_support/migrations/numpy2.yaml | 74 ++++++++++++++++++++++++++++++ recipe/meta.yaml | 2 +- 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 .ci_support/migrations/numpy2.yaml diff --git a/.ci_support/migrations/numpy2.yaml b/.ci_support/migrations/numpy2.yaml new file mode 100644 index 0000000..d70edeb --- /dev/null +++ b/.ci_support/migrations/numpy2.yaml @@ -0,0 +1,74 @@ +__migrator: + build_number: 1 + kind: version + commit_message: | + Rebuild for numpy 2.0 + + TL;DR: The way we build against numpy has changed as of numpy 2.0. This bot + PR has updated the recipe to account for the changes (see below for details). + The numpy 2.0 package itself is currently only available from a special release + channel (`conda-forge/label/numpy_rc`) and will not be available on the main + `conda-forge` channel until the release of numpy 2.0 GA. + + The biggest change is that we no longer need to use the oldest available numpy + version at build time in order to support old numpy version at runtime - numpy + will by default use a compatible ABI for the oldest still-supported numpy versions. + + Additionally, we no longer need to use `{{ pin_compatible("numpy") }}` as a + run requirement - this has been handled for more than two years now by a + run-export on the numpy package itself. The migrator will therefore remove + any occurrences of this. + + However, by default, building against numpy 2.0 will assume that the package + is compatible with numpy 2.0, which is not necessarily the case. You should + check that the upstream package explicitly supports numpy 2.0, otherwise you + need to add a `- numpy <2.0dev0` run requirement until that happens (check numpy + issue 26191 for an overview of the most important packages). + + Note that the numpy release candidate promises to be ABI-compatible with the + final 2.0 release. This means that building against 2.0.0rc1 produces packages + that can be published to our main channels. + + If you already want to use the numpy 2.0 release candidate yourself, you can do + ``` + conda config --add channels conda-forge/label/numpy_rc + ``` + or add this channel to your `.condarc` file directly. + + ### To-Dos: + * [ ] Match run-requirements for numpy (i.e. check upstream `pyproject.toml` or however the project specifies numpy compatibility) + * If upstream is not yet compatible with numpy 2.0, add `numpy <2.0dev0` upper bound under `run:`. + * If upstream is already compatible with numpy 2.0, nothing else should be necessary in most cases. + * If upstream requires a minimum numpy version newer than 1.19, you can add `numpy >=x.y` under `run:`. + * [ ] Remove any remaining occurrences of `{{ pin_compatible("numpy") }}` that the bot may have missed. + + PS. If the build does not compile anymore, this is almost certainly a sign that + the upstream project is not yet ready for numpy 2.0; do not close this PR until + a version compatible with numpy 2.0 has been released upstream and on this + feedstock (in the meantime, you can keep the bot from reopening this PR in + case of git conflicts by marking it as a draft). + + migration_number: 1 + exclude: + # needs local overrides that get stomped on by the migrator, which then fails + - scipy + # already done, but thinks its unsolvable + - pandas + ordering: + # prefer channels including numpy_rc (otherwise smithy doesn't + # know which of the two values should be taken on merge) + channel_sources: + - conda-forge + - conda-forge/label/numpy_rc,conda-forge + +# needs to match length of zip {python, python_impl, numpy} +# as it is in global CBC in order to override it +numpy: + - 1.22 # no py38 support for numpy 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 +channel_sources: + - conda-forge/label/numpy_rc,conda-forge +migrator_ts: 1713572489.295986 diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9ddcb47..1bde8bb 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -11,7 +11,7 @@ source: build: script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation - number: 0 + number: 1 skip: true # [win or py<38] requirements: From 0b4e3117c63197874cb89b7442d8ef08f2cc51e8 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Mon, 3 Jun 2024 19:29:28 +0000 Subject: [PATCH 2/8] MNT: Re-rendered with conda-build 24.5.1, conda-smithy 3.36.1, and conda-forge-pinning 2024.06.03.19.07.16 --- .azure-pipelines/azure-pipelines-linux.yml | 20 +++++----- .azure-pipelines/azure-pipelines-osx.yml | 18 ++++----- ...nux_64_numpy1.22python3.8.____cpython.yaml | 2 +- ...ux_64_numpy2.0python3.10.____cpython.yaml} | 4 +- ...ux_64_numpy2.0python3.11.____cpython.yaml} | 4 +- ...ux_64_numpy2.0python3.12.____cpython.yaml} | 4 +- ...nux_64_numpy2.0python3.9.____cpython.yaml} | 4 +- ...osx_64_numpy1.22python3.8.____cpython.yaml | 2 +- ...sx_64_numpy2.0python3.10.____cpython.yaml} | 4 +- ...sx_64_numpy2.0python3.11.____cpython.yaml} | 4 +- ...sx_64_numpy2.0python3.12.____cpython.yaml} | 4 +- ...osx_64_numpy2.0python3.9.____cpython.yaml} | 4 +- README.md | 40 +++++++++---------- 13 files changed, 57 insertions(+), 57 deletions(-) rename .ci_support/{linux_64_numpy1.22python3.10.____cpython.yaml => linux_64_numpy2.0python3.10.____cpython.yaml} (90%) rename .ci_support/{linux_64_numpy1.23python3.11.____cpython.yaml => linux_64_numpy2.0python3.11.____cpython.yaml} (90%) rename .ci_support/{linux_64_numpy1.26python3.12.____cpython.yaml => linux_64_numpy2.0python3.12.____cpython.yaml} (90%) rename .ci_support/{linux_64_numpy1.22python3.9.____cpython.yaml => linux_64_numpy2.0python3.9.____cpython.yaml} (90%) rename .ci_support/{osx_64_numpy1.22python3.10.____cpython.yaml => osx_64_numpy2.0python3.10.____cpython.yaml} (90%) rename .ci_support/{osx_64_numpy1.23python3.11.____cpython.yaml => osx_64_numpy2.0python3.11.____cpython.yaml} (90%) rename .ci_support/{osx_64_numpy1.26python3.12.____cpython.yaml => osx_64_numpy2.0python3.12.____cpython.yaml} (90%) rename .ci_support/{osx_64_numpy1.22python3.9.____cpython.yaml => osx_64_numpy2.0python3.9.____cpython.yaml} (90%) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 428e0ae..c06a2c8 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,24 +8,24 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_numpy1.22python3.10.____cpython: - CONFIG: linux_64_numpy1.22python3.10.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 linux_64_numpy1.22python3.8.____cpython: CONFIG: linux_64_numpy1.22python3.8.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_numpy1.22python3.9.____cpython: - CONFIG: linux_64_numpy1.22python3.9.____cpython + linux_64_numpy2.0python3.10.____cpython: + CONFIG: linux_64_numpy2.0python3.10.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_numpy2.0python3.11.____cpython: + CONFIG: linux_64_numpy2.0python3.11.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_numpy1.23python3.11.____cpython: - CONFIG: linux_64_numpy1.23python3.11.____cpython + linux_64_numpy2.0python3.12.____cpython: + CONFIG: linux_64_numpy2.0python3.12.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_numpy1.26python3.12.____cpython: - CONFIG: linux_64_numpy1.26python3.12.____cpython + linux_64_numpy2.0python3.9.____cpython: + CONFIG: linux_64_numpy2.0python3.9.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index ffbbc99..102b02a 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -8,20 +8,20 @@ jobs: vmImage: macOS-12 strategy: matrix: - osx_64_numpy1.22python3.10.____cpython: - CONFIG: osx_64_numpy1.22python3.10.____cpython - UPLOAD_PACKAGES: 'True' osx_64_numpy1.22python3.8.____cpython: CONFIG: osx_64_numpy1.22python3.8.____cpython UPLOAD_PACKAGES: 'True' - osx_64_numpy1.22python3.9.____cpython: - CONFIG: osx_64_numpy1.22python3.9.____cpython + osx_64_numpy2.0python3.10.____cpython: + CONFIG: osx_64_numpy2.0python3.10.____cpython + UPLOAD_PACKAGES: 'True' + osx_64_numpy2.0python3.11.____cpython: + CONFIG: osx_64_numpy2.0python3.11.____cpython UPLOAD_PACKAGES: 'True' - osx_64_numpy1.23python3.11.____cpython: - CONFIG: osx_64_numpy1.23python3.11.____cpython + osx_64_numpy2.0python3.12.____cpython: + CONFIG: osx_64_numpy2.0python3.12.____cpython UPLOAD_PACKAGES: 'True' - osx_64_numpy1.26python3.12.____cpython: - CONFIG: osx_64_numpy1.26python3.12.____cpython + osx_64_numpy2.0python3.9.____cpython: + CONFIG: osx_64_numpy2.0python3.9.____cpython UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: {} diff --git a/.ci_support/linux_64_numpy1.22python3.8.____cpython.yaml b/.ci_support/linux_64_numpy1.22python3.8.____cpython.yaml index 2b43bde..3bdb7aa 100644 --- a/.ci_support/linux_64_numpy1.22python3.8.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.22python3.8.____cpython.yaml @@ -5,7 +5,7 @@ c_stdlib_version: cdt_name: - cos6 channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_64_numpy1.22python3.10.____cpython.yaml b/.ci_support/linux_64_numpy2.0python3.10.____cpython.yaml similarity index 90% rename from .ci_support/linux_64_numpy1.22python3.10.____cpython.yaml rename to .ci_support/linux_64_numpy2.0python3.10.____cpython.yaml index 44aa78e..e107325 100644 --- a/.ci_support/linux_64_numpy1.22python3.10.____cpython.yaml +++ b/.ci_support/linux_64_numpy2.0python3.10.____cpython.yaml @@ -5,7 +5,7 @@ c_stdlib_version: cdt_name: - cos6 channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -19,7 +19,7 @@ gsl: libcblas: - 3.9 *netlib numpy: -- '1.22' +- '2.0' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_numpy1.23python3.11.____cpython.yaml b/.ci_support/linux_64_numpy2.0python3.11.____cpython.yaml similarity index 90% rename from .ci_support/linux_64_numpy1.23python3.11.____cpython.yaml rename to .ci_support/linux_64_numpy2.0python3.11.____cpython.yaml index b6e94d0..d434f84 100644 --- a/.ci_support/linux_64_numpy1.23python3.11.____cpython.yaml +++ b/.ci_support/linux_64_numpy2.0python3.11.____cpython.yaml @@ -5,7 +5,7 @@ c_stdlib_version: cdt_name: - cos6 channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -19,7 +19,7 @@ gsl: libcblas: - 3.9 *netlib numpy: -- '1.23' +- '2.0' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_numpy1.26python3.12.____cpython.yaml b/.ci_support/linux_64_numpy2.0python3.12.____cpython.yaml similarity index 90% rename from .ci_support/linux_64_numpy1.26python3.12.____cpython.yaml rename to .ci_support/linux_64_numpy2.0python3.12.____cpython.yaml index 06e628d..00fb2e4 100644 --- a/.ci_support/linux_64_numpy1.26python3.12.____cpython.yaml +++ b/.ci_support/linux_64_numpy2.0python3.12.____cpython.yaml @@ -5,7 +5,7 @@ c_stdlib_version: cdt_name: - cos6 channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -19,7 +19,7 @@ gsl: libcblas: - 3.9 *netlib numpy: -- '1.26' +- '2.0' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_numpy1.22python3.9.____cpython.yaml b/.ci_support/linux_64_numpy2.0python3.9.____cpython.yaml similarity index 90% rename from .ci_support/linux_64_numpy1.22python3.9.____cpython.yaml rename to .ci_support/linux_64_numpy2.0python3.9.____cpython.yaml index 673d0c9..f416148 100644 --- a/.ci_support/linux_64_numpy1.22python3.9.____cpython.yaml +++ b/.ci_support/linux_64_numpy2.0python3.9.____cpython.yaml @@ -5,7 +5,7 @@ c_stdlib_version: cdt_name: - cos6 channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -19,7 +19,7 @@ gsl: libcblas: - 3.9 *netlib numpy: -- '1.22' +- '2.0' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_numpy1.22python3.8.____cpython.yaml b/.ci_support/osx_64_numpy1.22python3.8.____cpython.yaml index 980b55e..89fa76a 100644 --- a/.ci_support/osx_64_numpy1.22python3.8.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.22python3.8.____cpython.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '10.13' channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/osx_64_numpy1.22python3.10.____cpython.yaml b/.ci_support/osx_64_numpy2.0python3.10.____cpython.yaml similarity index 90% rename from .ci_support/osx_64_numpy1.22python3.10.____cpython.yaml rename to .ci_support/osx_64_numpy2.0python3.10.____cpython.yaml index 99bf9cf..a68d808 100644 --- a/.ci_support/osx_64_numpy1.22python3.10.____cpython.yaml +++ b/.ci_support/osx_64_numpy2.0python3.10.____cpython.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '10.13' channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -21,7 +21,7 @@ libcblas: macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.22' +- '2.0' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_numpy1.23python3.11.____cpython.yaml b/.ci_support/osx_64_numpy2.0python3.11.____cpython.yaml similarity index 90% rename from .ci_support/osx_64_numpy1.23python3.11.____cpython.yaml rename to .ci_support/osx_64_numpy2.0python3.11.____cpython.yaml index 1b922de..3a49dec 100644 --- a/.ci_support/osx_64_numpy1.23python3.11.____cpython.yaml +++ b/.ci_support/osx_64_numpy2.0python3.11.____cpython.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '10.13' channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -21,7 +21,7 @@ libcblas: macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.23' +- '2.0' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_numpy1.26python3.12.____cpython.yaml b/.ci_support/osx_64_numpy2.0python3.12.____cpython.yaml similarity index 90% rename from .ci_support/osx_64_numpy1.26python3.12.____cpython.yaml rename to .ci_support/osx_64_numpy2.0python3.12.____cpython.yaml index 220cf4b..20c7f1f 100644 --- a/.ci_support/osx_64_numpy1.26python3.12.____cpython.yaml +++ b/.ci_support/osx_64_numpy2.0python3.12.____cpython.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '10.13' channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -21,7 +21,7 @@ libcblas: macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.26' +- '2.0' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_numpy1.22python3.9.____cpython.yaml b/.ci_support/osx_64_numpy2.0python3.9.____cpython.yaml similarity index 90% rename from .ci_support/osx_64_numpy1.22python3.9.____cpython.yaml rename to .ci_support/osx_64_numpy2.0python3.9.____cpython.yaml index ed01231..8c557ce 100644 --- a/.ci_support/osx_64_numpy1.22python3.9.____cpython.yaml +++ b/.ci_support/osx_64_numpy2.0python3.9.____cpython.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '10.13' channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -21,7 +21,7 @@ libcblas: macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.22' +- '2.0' pin_run_as_build: python: min_pin: x.x diff --git a/README.md b/README.md index 538100a..90168b7 100644 --- a/README.md +++ b/README.md @@ -27,73 +27,73 @@ Current build status - + - + - + - + - + - + - + - + - + - + From 0f5aa41865f165243d1b2a6da660b8b45358fcc4 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Mon, 20 Jan 2025 09:11:33 +0000 Subject: [PATCH 3/8] MNT: Re-rendered with conda-build 25.1.1, conda-smithy 3.45.3, and conda-forge-pinning 2025.01.20.08.59.10 --- .azure-pipelines/azure-pipelines-linux.yml | 28 +++++----- .azure-pipelines/azure-pipelines-osx.yml | 21 ++++---- ...nux_64_numpy1.22python3.8.____cpython.yaml | 35 ------------ ...nux_64_numpy2.0python3.10.____cpython.yaml | 35 ------------ ...l => linux_64_python3.10.____cpython.yaml} | 16 +++--- ...l => linux_64_python3.11.____cpython.yaml} | 14 +++-- ...l => linux_64_python3.12.____cpython.yaml} | 14 +++-- ...ml => linux_64_python3.9.____cpython.yaml} | 14 +++-- .ci_support/migrations/pypy38.yaml | 42 --------------- ...osx_64_numpy1.22python3.8.____cpython.yaml | 35 ------------ .../osx_64_numpy2.0python3.9.____cpython.yaml | 35 ------------ ...aml => osx_64_python3.10.____cpython.yaml} | 6 +-- ...aml => osx_64_python3.11.____cpython.yaml} | 6 +-- ...aml => osx_64_python3.12.____cpython.yaml} | 6 +-- ...yaml => osx_64_python3.9.____cpython.yaml} | 8 +-- .github/workflows/automerge.yml | 17 ------ .github/workflows/webservices.yml | 13 ----- .scripts/build_steps.sh | 18 +++++-- .scripts/run_osx_build.sh | 53 +++++++++++++------ README.md | 46 ++++++---------- azure-pipelines.yml | 31 +++++++++-- build-locally.py | 16 ++++-- 22 files changed, 165 insertions(+), 344 deletions(-) delete mode 100644 .ci_support/linux_64_numpy1.22python3.8.____cpython.yaml delete mode 100644 .ci_support/linux_64_numpy2.0python3.10.____cpython.yaml rename .ci_support/{linux_64_numpy1.22python3.9.____73_pypy.yaml => linux_64_python3.10.____cpython.yaml} (69%) rename .ci_support/{linux_64_numpy2.0python3.11.____cpython.yaml => linux_64_python3.11.____cpython.yaml} (68%) rename .ci_support/{linux_64_numpy2.0python3.12.____cpython.yaml => linux_64_python3.12.____cpython.yaml} (68%) rename .ci_support/{linux_64_numpy2.0python3.9.____cpython.yaml => linux_64_python3.9.____cpython.yaml} (68%) delete mode 100644 .ci_support/migrations/pypy38.yaml delete mode 100644 .ci_support/osx_64_numpy1.22python3.8.____cpython.yaml delete mode 100644 .ci_support/osx_64_numpy2.0python3.9.____cpython.yaml rename .ci_support/{osx_64_numpy2.0python3.10.____cpython.yaml => osx_64_python3.10.____cpython.yaml} (88%) rename .ci_support/{osx_64_numpy2.0python3.11.____cpython.yaml => osx_64_python3.11.____cpython.yaml} (88%) rename .ci_support/{osx_64_numpy2.0python3.12.____cpython.yaml => osx_64_python3.12.____cpython.yaml} (88%) rename .ci_support/{osx_64_numpy1.22python3.9.____73_pypy.yaml => osx_64_python3.9.____cpython.yaml} (90%) delete mode 100644 .github/workflows/automerge.yml delete mode 100644 .github/workflows/webservices.yml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index c06a2c8..9625264 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,26 +8,22 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_numpy1.22python3.8.____cpython: - CONFIG: linux_64_numpy1.22python3.8.____cpython + linux_64_python3.10.____cpython: + CONFIG: linux_64_python3.10.____cpython UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_numpy2.0python3.10.____cpython: - CONFIG: linux_64_numpy2.0python3.10.____cpython + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + linux_64_python3.11.____cpython: + CONFIG: linux_64_python3.11.____cpython UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_numpy2.0python3.11.____cpython: - CONFIG: linux_64_numpy2.0python3.11.____cpython + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + linux_64_python3.12.____cpython: + CONFIG: linux_64_python3.12.____cpython UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_numpy2.0python3.12.____cpython: - CONFIG: linux_64_numpy2.0python3.12.____cpython + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + linux_64_python3.9.____cpython: + CONFIG: linux_64_python3.9.____cpython UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_numpy2.0python3.9.____cpython: - CONFIG: linux_64_numpy2.0python3.9.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 timeoutInMinutes: 360 variables: {} diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 102b02a..6c6bd90 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,23 +5,20 @@ jobs: - job: osx pool: - vmImage: macOS-12 + vmImage: macOS-13 strategy: matrix: - osx_64_numpy1.22python3.8.____cpython: - CONFIG: osx_64_numpy1.22python3.8.____cpython + osx_64_python3.10.____cpython: + CONFIG: osx_64_python3.10.____cpython UPLOAD_PACKAGES: 'True' - osx_64_numpy2.0python3.10.____cpython: - CONFIG: osx_64_numpy2.0python3.10.____cpython + osx_64_python3.11.____cpython: + CONFIG: osx_64_python3.11.____cpython UPLOAD_PACKAGES: 'True' - osx_64_numpy2.0python3.11.____cpython: - CONFIG: osx_64_numpy2.0python3.11.____cpython + osx_64_python3.12.____cpython: + CONFIG: osx_64_python3.12.____cpython UPLOAD_PACKAGES: 'True' - osx_64_numpy2.0python3.12.____cpython: - CONFIG: osx_64_numpy2.0python3.12.____cpython - UPLOAD_PACKAGES: 'True' - osx_64_numpy2.0python3.9.____cpython: - CONFIG: osx_64_numpy2.0python3.9.____cpython + osx_64_python3.9.____cpython: + CONFIG: osx_64_python3.9.____cpython UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: {} diff --git a/.ci_support/linux_64_numpy1.22python3.8.____cpython.yaml b/.ci_support/linux_64_numpy1.22python3.8.____cpython.yaml deleted file mode 100644 index 3bdb7aa..0000000 --- a/.ci_support/linux_64_numpy1.22python3.8.____cpython.yaml +++ /dev/null @@ -1,35 +0,0 @@ -c_stdlib: -- sysroot -c_stdlib_version: -- '2.12' -cdt_name: -- cos6 -channel_sources: -- conda-forge/label/numpy_rc,conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '12' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -gsl: -- '2.7' -libcblas: -- 3.9 *netlib -numpy: -- '1.22' -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.8.* *_cpython -target_platform: -- linux-64 -zip_keys: -- - c_stdlib_version - - cdt_name -- - python - - numpy diff --git a/.ci_support/linux_64_numpy2.0python3.10.____cpython.yaml b/.ci_support/linux_64_numpy2.0python3.10.____cpython.yaml deleted file mode 100644 index e107325..0000000 --- a/.ci_support/linux_64_numpy2.0python3.10.____cpython.yaml +++ /dev/null @@ -1,35 +0,0 @@ -c_stdlib: -- sysroot -c_stdlib_version: -- '2.12' -cdt_name: -- cos6 -channel_sources: -- conda-forge/label/numpy_rc,conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '12' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -gsl: -- '2.7' -libcblas: -- 3.9 *netlib -numpy: -- '2.0' -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.10.* *_cpython -target_platform: -- linux-64 -zip_keys: -- - c_stdlib_version - - cdt_name -- - python - - numpy diff --git a/.ci_support/linux_64_numpy1.22python3.9.____73_pypy.yaml b/.ci_support/linux_64_python3.10.____cpython.yaml similarity index 69% rename from .ci_support/linux_64_numpy1.22python3.9.____73_pypy.yaml rename to .ci_support/linux_64_python3.10.____cpython.yaml index f3f8cb2..65a4a87 100644 --- a/.ci_support/linux_64_numpy1.22python3.9.____73_pypy.yaml +++ b/.ci_support/linux_64_python3.10.____cpython.yaml @@ -1,9 +1,9 @@ c_stdlib: - sysroot c_stdlib_version: -- '2.12' +- '2.17' cdt_name: -- cos6 +- conda channel_sources: - conda-forge channel_targets: @@ -11,25 +11,23 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '12' +- '13' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 gsl: - '2.7' libcblas: -- 3.9 *netlib +- 3.9.* *netlib numpy: -- '1.22' +- '2.0' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: -- 3.9.* *_73_pypy +- 3.10.* *_cpython target_platform: - linux-64 zip_keys: -- - c_stdlib_version - - cdt_name - - python - numpy diff --git a/.ci_support/linux_64_numpy2.0python3.11.____cpython.yaml b/.ci_support/linux_64_python3.11.____cpython.yaml similarity index 68% rename from .ci_support/linux_64_numpy2.0python3.11.____cpython.yaml rename to .ci_support/linux_64_python3.11.____cpython.yaml index d434f84..16aac63 100644 --- a/.ci_support/linux_64_numpy2.0python3.11.____cpython.yaml +++ b/.ci_support/linux_64_python3.11.____cpython.yaml @@ -1,23 +1,23 @@ c_stdlib: - sysroot c_stdlib_version: -- '2.12' +- '2.17' cdt_name: -- cos6 +- conda channel_sources: -- conda-forge/label/numpy_rc,conda-forge +- conda-forge channel_targets: - conda-forge main cxx_compiler: - gxx cxx_compiler_version: -- '12' +- '13' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 gsl: - '2.7' libcblas: -- 3.9 *netlib +- 3.9.* *netlib numpy: - '2.0' pin_run_as_build: @@ -29,7 +29,5 @@ python: target_platform: - linux-64 zip_keys: -- - c_stdlib_version - - cdt_name - - python - numpy diff --git a/.ci_support/linux_64_numpy2.0python3.12.____cpython.yaml b/.ci_support/linux_64_python3.12.____cpython.yaml similarity index 68% rename from .ci_support/linux_64_numpy2.0python3.12.____cpython.yaml rename to .ci_support/linux_64_python3.12.____cpython.yaml index 00fb2e4..d6e8f96 100644 --- a/.ci_support/linux_64_numpy2.0python3.12.____cpython.yaml +++ b/.ci_support/linux_64_python3.12.____cpython.yaml @@ -1,23 +1,23 @@ c_stdlib: - sysroot c_stdlib_version: -- '2.12' +- '2.17' cdt_name: -- cos6 +- conda channel_sources: -- conda-forge/label/numpy_rc,conda-forge +- conda-forge channel_targets: - conda-forge main cxx_compiler: - gxx cxx_compiler_version: -- '12' +- '13' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 gsl: - '2.7' libcblas: -- 3.9 *netlib +- 3.9.* *netlib numpy: - '2.0' pin_run_as_build: @@ -29,7 +29,5 @@ python: target_platform: - linux-64 zip_keys: -- - c_stdlib_version - - cdt_name - - python - numpy diff --git a/.ci_support/linux_64_numpy2.0python3.9.____cpython.yaml b/.ci_support/linux_64_python3.9.____cpython.yaml similarity index 68% rename from .ci_support/linux_64_numpy2.0python3.9.____cpython.yaml rename to .ci_support/linux_64_python3.9.____cpython.yaml index f416148..6c708bf 100644 --- a/.ci_support/linux_64_numpy2.0python3.9.____cpython.yaml +++ b/.ci_support/linux_64_python3.9.____cpython.yaml @@ -1,23 +1,23 @@ c_stdlib: - sysroot c_stdlib_version: -- '2.12' +- '2.17' cdt_name: -- cos6 +- conda channel_sources: -- conda-forge/label/numpy_rc,conda-forge +- conda-forge channel_targets: - conda-forge main cxx_compiler: - gxx cxx_compiler_version: -- '12' +- '13' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 gsl: - '2.7' libcblas: -- 3.9 *netlib +- 3.9.* *netlib numpy: - '2.0' pin_run_as_build: @@ -29,7 +29,5 @@ python: target_platform: - linux-64 zip_keys: -- - c_stdlib_version - - cdt_name - - python - numpy diff --git a/.ci_support/migrations/pypy38.yaml b/.ci_support/migrations/pypy38.yaml deleted file mode 100644 index 29fb451..0000000 --- a/.ci_support/migrations/pypy38.yaml +++ /dev/null @@ -1,42 +0,0 @@ -migrator_ts: 1647123563 -__migrator: - migration_number: 1 - operation: key_add - primary_key: python - ordering: - python: - - 3.6.* *_cpython - - 3.7.* *_cpython - - 3.8.* *_cpython - - 3.9.* *_cpython - - 3.10.* *_cpython - - 3.11.* *_cpython - - 3.12.* *_cpython - - 3.6.* *_73_pypy - - 3.7.* *_73_pypy - - 3.8.* *_73_pypy - - 3.9.* *_73_pypy - paused: False - longterm: True - use_local: False - check_solvable: True - exclude_pinned_pkgs: False - pr_limit: 5 - bump_number: 1 - commit_message: "Rebuild for PyPy3.9" - exclude: - # this shouldn't attempt to modify the python feedstocks - - python - - pypy3.6 - - pypy-meta - ignored_deps_per_node: - matplotlib: - - pyqt - -python: - - 3.9.* *_73_pypy # [not (osx and arm64)] -numpy: - # part of a zip_keys: python, python_impl, numpy - - 1.22 # [not (osx and arm64)] -python_impl: - - pypy # [not (osx and arm64)] diff --git a/.ci_support/osx_64_numpy1.22python3.8.____cpython.yaml b/.ci_support/osx_64_numpy1.22python3.8.____cpython.yaml deleted file mode 100644 index 89fa76a..0000000 --- a/.ci_support/osx_64_numpy1.22python3.8.____cpython.yaml +++ /dev/null @@ -1,35 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.13' -MACOSX_SDK_VERSION: -- '10.13' -c_stdlib: -- macosx_deployment_target -c_stdlib_version: -- '10.13' -channel_sources: -- conda-forge/label/numpy_rc,conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '16' -gsl: -- '2.7' -libcblas: -- 3.9 *netlib -macos_machine: -- x86_64-apple-darwin13.4.0 -numpy: -- '1.22' -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.8.* *_cpython -target_platform: -- osx-64 -zip_keys: -- - python - - numpy diff --git a/.ci_support/osx_64_numpy2.0python3.9.____cpython.yaml b/.ci_support/osx_64_numpy2.0python3.9.____cpython.yaml deleted file mode 100644 index 8c557ce..0000000 --- a/.ci_support/osx_64_numpy2.0python3.9.____cpython.yaml +++ /dev/null @@ -1,35 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.13' -MACOSX_SDK_VERSION: -- '10.13' -c_stdlib: -- macosx_deployment_target -c_stdlib_version: -- '10.13' -channel_sources: -- conda-forge/label/numpy_rc,conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '16' -gsl: -- '2.7' -libcblas: -- 3.9 *netlib -macos_machine: -- x86_64-apple-darwin13.4.0 -numpy: -- '2.0' -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.9.* *_cpython -target_platform: -- osx-64 -zip_keys: -- - python - - numpy diff --git a/.ci_support/osx_64_numpy2.0python3.10.____cpython.yaml b/.ci_support/osx_64_python3.10.____cpython.yaml similarity index 88% rename from .ci_support/osx_64_numpy2.0python3.10.____cpython.yaml rename to .ci_support/osx_64_python3.10.____cpython.yaml index a68d808..43723e6 100644 --- a/.ci_support/osx_64_numpy2.0python3.10.____cpython.yaml +++ b/.ci_support/osx_64_python3.10.____cpython.yaml @@ -7,17 +7,17 @@ c_stdlib: c_stdlib_version: - '10.13' channel_sources: -- conda-forge/label/numpy_rc,conda-forge +- conda-forge channel_targets: - conda-forge main cxx_compiler: - clangxx cxx_compiler_version: -- '16' +- '18' gsl: - '2.7' libcblas: -- 3.9 *netlib +- 3.9.* *netlib macos_machine: - x86_64-apple-darwin13.4.0 numpy: diff --git a/.ci_support/osx_64_numpy2.0python3.11.____cpython.yaml b/.ci_support/osx_64_python3.11.____cpython.yaml similarity index 88% rename from .ci_support/osx_64_numpy2.0python3.11.____cpython.yaml rename to .ci_support/osx_64_python3.11.____cpython.yaml index 3a49dec..456cc0f 100644 --- a/.ci_support/osx_64_numpy2.0python3.11.____cpython.yaml +++ b/.ci_support/osx_64_python3.11.____cpython.yaml @@ -7,17 +7,17 @@ c_stdlib: c_stdlib_version: - '10.13' channel_sources: -- conda-forge/label/numpy_rc,conda-forge +- conda-forge channel_targets: - conda-forge main cxx_compiler: - clangxx cxx_compiler_version: -- '16' +- '18' gsl: - '2.7' libcblas: -- 3.9 *netlib +- 3.9.* *netlib macos_machine: - x86_64-apple-darwin13.4.0 numpy: diff --git a/.ci_support/osx_64_numpy2.0python3.12.____cpython.yaml b/.ci_support/osx_64_python3.12.____cpython.yaml similarity index 88% rename from .ci_support/osx_64_numpy2.0python3.12.____cpython.yaml rename to .ci_support/osx_64_python3.12.____cpython.yaml index 20c7f1f..df2f69b 100644 --- a/.ci_support/osx_64_numpy2.0python3.12.____cpython.yaml +++ b/.ci_support/osx_64_python3.12.____cpython.yaml @@ -7,17 +7,17 @@ c_stdlib: c_stdlib_version: - '10.13' channel_sources: -- conda-forge/label/numpy_rc,conda-forge +- conda-forge channel_targets: - conda-forge main cxx_compiler: - clangxx cxx_compiler_version: -- '16' +- '18' gsl: - '2.7' libcblas: -- 3.9 *netlib +- 3.9.* *netlib macos_machine: - x86_64-apple-darwin13.4.0 numpy: diff --git a/.ci_support/osx_64_numpy1.22python3.9.____73_pypy.yaml b/.ci_support/osx_64_python3.9.____cpython.yaml similarity index 90% rename from .ci_support/osx_64_numpy1.22python3.9.____73_pypy.yaml rename to .ci_support/osx_64_python3.9.____cpython.yaml index 51742ed..31bbced 100644 --- a/.ci_support/osx_64_numpy1.22python3.9.____73_pypy.yaml +++ b/.ci_support/osx_64_python3.9.____cpython.yaml @@ -13,21 +13,21 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '16' +- '18' gsl: - '2.7' libcblas: -- 3.9 *netlib +- 3.9.* *netlib macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.22' +- '2.0' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: -- 3.9.* *_73_pypy +- 3.9.* *_cpython target_platform: - osx-64 zip_keys: diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml deleted file mode 100644 index 0535f6a..0000000 --- a/.github/workflows/automerge.yml +++ /dev/null @@ -1,17 +0,0 @@ -on: - status: {} - check_suite: - types: - - completed - -jobs: - automerge-action: - runs-on: ubuntu-latest - name: automerge - steps: - - name: automerge-action - id: automerge-action - uses: conda-forge/automerge-action@main - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }} diff --git a/.github/workflows/webservices.yml b/.github/workflows/webservices.yml deleted file mode 100644 index d6f06b5..0000000 --- a/.github/workflows/webservices.yml +++ /dev/null @@ -1,13 +0,0 @@ -on: repository_dispatch - -jobs: - webservices: - runs-on: ubuntu-latest - name: webservices - steps: - - name: webservices - id: webservices - uses: conda-forge/webservices-dispatch-action@main - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }} diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 2f3df6c..f8051ab 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -31,18 +31,20 @@ pkgs_dirs: solver: libmamba CONDARC +mv /opt/conda/conda-meta/history /opt/conda/conda-meta/history.$(date +%Y-%m-%d-%H-%M-%S) +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" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 -mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" -mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" - # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" source run_conda_forge_build_setup + + # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -69,6 +71,12 @@ else --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:-}" + ( startgroup "Inspecting artifacts" ) 2> /dev/null + + # inspect_artifacts was only added in conda-forge-ci-setup 4.9.4 + command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts --recipe-dir "${RECIPE_ROOT}" -m "${CONFIG_FILE}" || echo "inspect_artifacts needs conda-forge-ci-setup >=4.9.4" + + ( endgroup "Inspecting artifacts" ) 2> /dev/null ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 165fa51..ee996f4 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -6,29 +6,41 @@ source .scripts/logging_utils.sh set -xe -MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3} - -( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null - -MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" -MINIFORGE_FILE="Mambaforge-MacOSX-$(uname -m).sh" -curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" -rm -rf ${MINIFORGE_HOME} -bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} - -( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null +MINIFORGE_HOME="${MINIFORGE_HOME:-${HOME}/miniforge3}" +MINIFORGE_HOME="${MINIFORGE_HOME%/}" # remove trailing slash +export CONDA_BLD_PATH="${CONDA_BLD_PATH:-${MINIFORGE_HOME}/conda-bld}" + +( startgroup "Provisioning base env with micromamba" ) 2> /dev/null +MICROMAMBA_VERSION="1.5.10-0" +if [[ "$(uname -m)" == "arm64" ]]; then + osx_arch="osx-arm64" +else + osx_arch="osx-64" +fi +MICROMAMBA_URL="https://github.com/mamba-org/micromamba-releases/releases/download/${MICROMAMBA_VERSION}/micromamba-${osx_arch}" +MAMBA_ROOT_PREFIX="${MINIFORGE_HOME}-micromamba-$(date +%s)" +echo "Downloading micromamba ${MICROMAMBA_VERSION}" +micromamba_exe="$(mktemp -d)/micromamba" +curl -L -o "${micromamba_exe}" "${MICROMAMBA_URL}" +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" +echo "Moving pkgs cache from ${MAMBA_ROOT_PREFIX} to ${MINIFORGE_HOME}" +mv "${MAMBA_ROOT_PREFIX}/pkgs" "${MINIFORGE_HOME}" +echo "Cleaning up micromamba" +rm -rf "${MAMBA_ROOT_PREFIX}" "${micromamba_exe}" || true +( endgroup "Provisioning base env with micromamba" ) 2> /dev/null ( startgroup "Configuring conda" ) 2> /dev/null - -source ${MINIFORGE_HOME}/etc/profile.d/conda.sh +echo "Activating environment" +source "${MINIFORGE_HOME}/etc/profile.d/conda.sh" conda activate base export CONDA_SOLVER="libmamba" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 -mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" -mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" + @@ -81,6 +93,13 @@ else --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" + + ( startgroup "Inspecting artifacts" ) 2> /dev/null + + # inspect_artifacts was only added in conda-forge-ci-setup 4.9.4 + command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts --recipe-dir ./recipe -m ./.ci_support/${CONFIG}.yaml || echo "inspect_artifacts needs conda-forge-ci-setup >=4.9.4" + + ( endgroup "Inspecting artifacts" ) 2> /dev/null ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/README.md b/README.md index 90168b7..d0934ff 100644 --- a/README.md +++ b/README.md @@ -27,73 +27,59 @@ Current build status
VariantStatus
linux_64_numpy1.22python3.10.____cpythonlinux_64_numpy1.22python3.8.____cpython - variant + variant
linux_64_numpy1.22python3.8.____cpythonlinux_64_numpy2.0python3.10.____cpython - variant + variant
linux_64_numpy1.22python3.9.____cpythonlinux_64_numpy2.0python3.11.____cpython - variant + variant
linux_64_numpy1.23python3.11.____cpythonlinux_64_numpy2.0python3.12.____cpython - variant + variant
linux_64_numpy1.26python3.12.____cpythonlinux_64_numpy2.0python3.9.____cpython - variant + variant
osx_64_numpy1.22python3.10.____cpythonosx_64_numpy1.22python3.8.____cpython - variant + variant
osx_64_numpy1.22python3.8.____cpythonosx_64_numpy2.0python3.10.____cpython - variant + variant
osx_64_numpy1.22python3.9.____cpythonosx_64_numpy2.0python3.11.____cpython - variant + variant
osx_64_numpy1.23python3.11.____cpythonosx_64_numpy2.0python3.12.____cpython - variant + variant
osx_64_numpy1.26python3.12.____cpythonosx_64_numpy2.0python3.9.____cpython - variant + variant
- + - + - + - + - + - + - + - + - - - - - - diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 33a441c..013bdc1 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -2,6 +2,31 @@ # update the conda-forge.yml and/or the recipe/meta.yaml. # -*- mode: yaml -*- -jobs: - - template: ./.azure-pipelines/azure-pipelines-linux.yml - - template: ./.azure-pipelines/azure-pipelines-osx.yml \ No newline at end of file +stages: +- stage: Check + jobs: + - job: Skip + pool: + vmImage: 'ubuntu-22.04' + variables: + DECODE_PERCENTS: 'false' + RET: 'true' + steps: + - checkout: self + fetchDepth: '2' + - bash: | + git_log=`git log --max-count=1 --skip=1 --pretty=format:"%B" | tr "\n" " "` + echo "##vso[task.setvariable variable=log]$git_log" + displayName: Obtain commit message + - bash: echo "##vso[task.setvariable variable=RET]false" + condition: and(eq(variables['Build.Reason'], 'PullRequest'), or(contains(variables.log, '[skip azp]'), contains(variables.log, '[azp skip]'), contains(variables.log, '[skip ci]'), contains(variables.log, '[ci skip]'))) + displayName: Skip build? + - bash: echo "##vso[task.setvariable variable=start_main;isOutput=true]$RET" + name: result + displayName: Export result +- stage: Build + condition: and(succeeded(), eq(dependencies.Check.outputs['Skip.result.start_main'], 'true')) + dependsOn: Check + jobs: + - template: ./.azure-pipelines/azure-pipelines-linux.yml + - template: ./.azure-pipelines/azure-pipelines-osx.yml \ No newline at end of file diff --git a/build-locally.py b/build-locally.py index e0d408d..c4a56c6 100755 --- a/build-locally.py +++ b/build-locally.py @@ -1,13 +1,16 @@ -#!/usr/bin/env python3 +#!/bin/sh +"""exec" "python3" "$0" "$@" #""" # fmt: off # fmt: on # # This file has been generated by conda-smithy in order to build the recipe # locally. # -import os +# The line above this comment is a bash / sh / zsh guard +# to stop people from running it with the wrong interpreter import glob +import os +import platform import subprocess from argparse import ArgumentParser -import platform def setup_environment(ns): @@ -23,6 +26,13 @@ def setup_environment(ns): os.path.dirname(__file__), "miniforge3" ) + # The default cache location might not be writable using docker on macOS. + if ns.config.startswith("linux") and platform.system() == "Darwin": + os.environ["CONDA_FORGE_DOCKER_RUN_ARGS"] = ( + os.environ.get("CONDA_FORGE_DOCKER_RUN_ARGS", "") + + " -e RATTLER_CACHE_DIR=/tmp/rattler_cache" + ) + def run_docker_build(ns): script = ".scripts/run_docker_build.sh" From d5b1ed29fbbde09d0f3833a02929fae62a7dcbd3 Mon Sep 17 00:00:00 2001 From: Steffen Graber Date: Mon, 20 Jan 2025 10:41:51 +0100 Subject: [PATCH 4/8] Remove numpy verion numbering --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5433a6a..a9a78cd 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -25,13 +25,13 @@ requirements: - libcblas - setuptools - wheel - - numpy <2.0dev0 + - numpy - pip - gsl run: - python - gsl - - numpy <2.0dev0 + - numpy test: imports: From 52b4c1cf5bd354ef90a7cc57207fdd85c595adde Mon Sep 17 00:00:00 2001 From: Steffen Graber Date: Mon, 20 Jan 2025 10:52:33 +0100 Subject: [PATCH 5/8] Add new pygsl version --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a9a78cd..fc9ab5b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pygsl" %} -{% set version = "2.3.4" %} +{% set version = "2.5.1" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/pygsl/pygsl/archive/refs/tags/v.{{ version }}.tar.gz - sha256: 9617c70ba63a0f936d44fecb2f779c46da7ac9c5793524f71eb483bb5ec01931 + sha256: a6935cfbdd1ee7d23858ec1a38d33928f643718299e7dca18bb158cdd596eb57 build: script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation From 0cf7b2ec2e7586fdfb9516da24dd3f91a8db88e2 Mon Sep 17 00:00:00 2001 From: Steffen Graber Date: Mon, 20 Jan 2025 10:54:01 +0100 Subject: [PATCH 6/8] Increase build number --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fc9ab5b..7432e92 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -11,7 +11,7 @@ source: build: script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation - number: 2 + number: 1 skip: true # [win or py<38] requirements: From 6c07e7f6d77909ddc03a774f615407ea7561b70b Mon Sep 17 00:00:00 2001 From: Steffen Graber Date: Mon, 20 Jan 2025 11:02:28 +0100 Subject: [PATCH 7/8] Add new path --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7432e92..5419dd3 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -6,7 +6,7 @@ package: version: {{ version }} source: - url: https://github.com/pygsl/pygsl/archive/refs/tags/v.{{ version }}.tar.gz + url: https://github.com/pygsl/pygsl/releases/download/v{{ version }}/pygsl-{{ version }}.tar.gz sha256: a6935cfbdd1ee7d23858ec1a38d33928f643718299e7dca18bb158cdd596eb57 build: From c0b2a2333ccac5e89efe314ffda97d1d6891335b Mon Sep 17 00:00:00 2001 From: Steffen Graber Date: Mon, 20 Jan 2025 14:24:16 +0100 Subject: [PATCH 8/8] Add again numpy <2.0dev0 because of problems with macos --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5419dd3..ec8e9f4 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -25,13 +25,13 @@ requirements: - libcblas - setuptools - wheel - - numpy + - numpy <2.0dev0 - pip - gsl run: - python - gsl - - numpy + - numpy <2.0dev0 test: imports:
VariantStatus
linux_64_numpy1.22python3.8.____cpythonlinux_64_python3.10.____cpython - variant + variant
linux_64_numpy2.0python3.10.____cpythonlinux_64_python3.11.____cpython - variant + variant
linux_64_numpy2.0python3.11.____cpythonlinux_64_python3.12.____cpython - variant + variant
linux_64_numpy2.0python3.12.____cpythonlinux_64_python3.9.____cpython - variant + variant
linux_64_numpy2.0python3.9.____cpythonosx_64_python3.10.____cpython - variant + variant
osx_64_numpy1.22python3.8.____cpythonosx_64_python3.11.____cpython - variant + variant
osx_64_numpy2.0python3.10.____cpythonosx_64_python3.12.____cpython - variant + variant
osx_64_numpy2.0python3.11.____cpythonosx_64_python3.9.____cpython - variant - -
osx_64_numpy2.0python3.12.____cpython - - variant - -
osx_64_numpy2.0python3.9.____cpython - - variant + variant