From f2cfcb9837e848a381b23b928bcb10f329cc4312 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Sat, 18 May 2024 03:31:39 +0000 Subject: [PATCH 1/2] 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` 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` 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 | 3 +- 2 files changed, 76 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..b620607 --- /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` 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` 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 1c780f3..2105b7f 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -13,7 +13,7 @@ source: sha256: {{ sha256 }} build: - number: 1 + number: 2 script: - {{ PYTHON }} -m pip install . --no-deps -v - echo src/cpp/tetgen-LICENSE >> doc/faq.rst @@ -26,6 +26,7 @@ requirements: - numpy # [build_platform != target_platform] - pybind11 # [build_platform != target_platform] - {{ compiler('c') }} + - {{ stdlib("c") }} - {{ compiler('cxx') }} host: - python From 16429569e3da0e4a8f6c56769be913e48db13fc4 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Sat, 18 May 2024 03:33:02 +0000 Subject: [PATCH 2/2] MNT: Re-rendered with conda-build 24.5.0, conda-smithy 3.35.1, and conda-forge-pinning 2024.05.18.00.22.24 --- .azure-pipelines/azure-pipelines-linux.yml | 24 +++--- .azure-pipelines/azure-pipelines-osx.yml | 40 +++++----- .azure-pipelines/azure-pipelines-win.yml | 21 ++--- ...nux_64_numpy1.22python3.8.____cpython.yaml | 9 ++- ...nux_64_numpy1.22python3.9.____73_pypy.yaml | 9 ++- ...ux_64_numpy2.0python3.10.____cpython.yaml} | 11 ++- ...ux_64_numpy2.0python3.11.____cpython.yaml} | 11 ++- ...ux_64_numpy2.0python3.12.____cpython.yaml} | 11 ++- ...nux_64_numpy2.0python3.9.____cpython.yaml} | 11 ++- ...osx_64_numpy1.22python3.8.____cpython.yaml | 13 ++-- ...osx_64_numpy1.22python3.9.____73_pypy.yaml | 13 ++-- ...sx_64_numpy2.0python3.10.____cpython.yaml} | 15 ++-- ...sx_64_numpy2.0python3.11.____cpython.yaml} | 15 ++-- ...sx_64_numpy2.0python3.12.____cpython.yaml} | 15 ++-- ...osx_64_numpy2.0python3.9.____cpython.yaml} | 15 ++-- ..._arm64_numpy1.22python3.8.____cpython.yaml | 11 ++- ...arm64_numpy2.0python3.10.____cpython.yaml} | 13 ++-- ...arm64_numpy2.0python3.11.____cpython.yaml} | 13 ++-- ...arm64_numpy2.0python3.12.____cpython.yaml} | 13 ++-- ..._arm64_numpy2.0python3.9.____cpython.yaml} | 13 ++-- ...win_64_numpy1.22python3.8.____cpython.yaml | 5 +- ...win_64_numpy1.22python3.9.____73_pypy.yaml | 5 +- ...in_64_numpy2.0python3.10.____cpython.yaml} | 7 +- ...in_64_numpy2.0python3.11.____cpython.yaml} | 7 +- ...in_64_numpy2.0python3.12.____cpython.yaml} | 7 +- ...win_64_numpy2.0python3.9.____cpython.yaml} | 7 +- .gitignore | 25 +++++- .scripts/build_steps.sh | 11 ++- .scripts/run_docker_build.sh | 9 +++ .scripts/run_osx_build.sh | 15 +++- .scripts/run_win_build.bat | 16 +++- README.md | 76 +++++++++---------- azure-pipelines.yml | 4 +- build-locally.py | 5 +- 34 files changed, 313 insertions(+), 182 deletions(-) rename .ci_support/{linux_64_numpy1.22python3.10.____cpython.yaml => linux_64_numpy2.0python3.10.____cpython.yaml} (76%) rename .ci_support/{linux_64_numpy1.23python3.11.____cpython.yaml => linux_64_numpy2.0python3.11.____cpython.yaml} (76%) rename .ci_support/{linux_64_numpy1.26python3.12.____cpython.yaml => linux_64_numpy2.0python3.12.____cpython.yaml} (76%) rename .ci_support/{linux_64_numpy1.22python3.9.____cpython.yaml => linux_64_numpy2.0python3.9.____cpython.yaml} (76%) rename .ci_support/{osx_64_numpy1.22python3.10.____cpython.yaml => osx_64_numpy2.0python3.10.____cpython.yaml} (74%) rename .ci_support/{osx_64_numpy1.23python3.11.____cpython.yaml => osx_64_numpy2.0python3.11.____cpython.yaml} (74%) rename .ci_support/{osx_64_numpy1.26python3.12.____cpython.yaml => osx_64_numpy2.0python3.12.____cpython.yaml} (74%) rename .ci_support/{osx_64_numpy1.22python3.9.____cpython.yaml => osx_64_numpy2.0python3.9.____cpython.yaml} (74%) rename .ci_support/{osx_arm64_numpy1.22python3.10.____cpython.yaml => osx_arm64_numpy2.0python3.10.____cpython.yaml} (76%) rename .ci_support/{osx_arm64_numpy1.23python3.11.____cpython.yaml => osx_arm64_numpy2.0python3.11.____cpython.yaml} (76%) rename .ci_support/{osx_arm64_numpy1.26python3.12.____cpython.yaml => osx_arm64_numpy2.0python3.12.____cpython.yaml} (76%) rename .ci_support/{osx_arm64_numpy1.22python3.9.____cpython.yaml => osx_arm64_numpy2.0python3.9.____cpython.yaml} (76%) rename .ci_support/{win_64_numpy1.22python3.10.____cpython.yaml => win_64_numpy2.0python3.10.____cpython.yaml} (79%) rename .ci_support/{win_64_numpy1.23python3.11.____cpython.yaml => win_64_numpy2.0python3.11.____cpython.yaml} (79%) rename .ci_support/{win_64_numpy1.26python3.12.____cpython.yaml => win_64_numpy2.0python3.12.____cpython.yaml} (77%) rename .ci_support/{win_64_numpy1.22python3.9.____cpython.yaml => win_64_numpy2.0python3.9.____cpython.yaml} (79%) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index f183db2..66f6835 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,10 +8,6 @@ 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' @@ -20,19 +16,24 @@ jobs: CONFIG: linux_64_numpy1.22python3.9.____73_pypy 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 + variables: {} steps: # configure qemu binfmt-misc running. This allows us to run docker containers @@ -45,6 +46,9 @@ jobs: - script: | export CI=azure + export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) + export remote_url=$(Build.Repository.Uri) + export sha=$(Build.SourceVersion) export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 17ec432..59e6f8f 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,48 +5,52 @@ jobs: - job: osx pool: - vmImage: macOS-11 + 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.____73_pypy: CONFIG: osx_64_numpy1.22python3.9.____73_pypy 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_numpy1.23python3.11.____cpython: - CONFIG: osx_64_numpy1.23python3.11.____cpython + osx_64_numpy2.0python3.11.____cpython: + CONFIG: osx_64_numpy2.0python3.11.____cpython UPLOAD_PACKAGES: 'True' - osx_64_numpy1.26python3.12.____cpython: - CONFIG: osx_64_numpy1.26python3.12.____cpython + osx_64_numpy2.0python3.12.____cpython: + CONFIG: osx_64_numpy2.0python3.12.____cpython UPLOAD_PACKAGES: 'True' - osx_arm64_numpy1.22python3.10.____cpython: - CONFIG: osx_arm64_numpy1.22python3.10.____cpython + osx_64_numpy2.0python3.9.____cpython: + CONFIG: osx_64_numpy2.0python3.9.____cpython UPLOAD_PACKAGES: 'True' osx_arm64_numpy1.22python3.8.____cpython: CONFIG: osx_arm64_numpy1.22python3.8.____cpython UPLOAD_PACKAGES: 'True' - osx_arm64_numpy1.22python3.9.____cpython: - CONFIG: osx_arm64_numpy1.22python3.9.____cpython + osx_arm64_numpy2.0python3.10.____cpython: + CONFIG: osx_arm64_numpy2.0python3.10.____cpython + UPLOAD_PACKAGES: 'True' + osx_arm64_numpy2.0python3.11.____cpython: + CONFIG: osx_arm64_numpy2.0python3.11.____cpython UPLOAD_PACKAGES: 'True' - osx_arm64_numpy1.23python3.11.____cpython: - CONFIG: osx_arm64_numpy1.23python3.11.____cpython + osx_arm64_numpy2.0python3.12.____cpython: + CONFIG: osx_arm64_numpy2.0python3.12.____cpython UPLOAD_PACKAGES: 'True' - osx_arm64_numpy1.26python3.12.____cpython: - CONFIG: osx_arm64_numpy1.26python3.12.____cpython + osx_arm64_numpy2.0python3.9.____cpython: + CONFIG: osx_arm64_numpy2.0python3.9.____cpython UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 + variables: {} steps: # TODO: Fast finish on azure pipelines? - script: | export CI=azure + export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) + export remote_url=$(Build.Repository.Uri) + export sha=$(Build.SourceVersion) export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index eb06130..6e15e52 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,23 +8,23 @@ jobs: vmImage: windows-2022 strategy: matrix: - win_64_numpy1.22python3.10.____cpython: - CONFIG: win_64_numpy1.22python3.10.____cpython - UPLOAD_PACKAGES: 'True' win_64_numpy1.22python3.8.____cpython: CONFIG: win_64_numpy1.22python3.8.____cpython UPLOAD_PACKAGES: 'True' win_64_numpy1.22python3.9.____73_pypy: CONFIG: win_64_numpy1.22python3.9.____73_pypy UPLOAD_PACKAGES: 'True' - win_64_numpy1.22python3.9.____cpython: - CONFIG: win_64_numpy1.22python3.9.____cpython + win_64_numpy2.0python3.10.____cpython: + CONFIG: win_64_numpy2.0python3.10.____cpython + UPLOAD_PACKAGES: 'True' + win_64_numpy2.0python3.11.____cpython: + CONFIG: win_64_numpy2.0python3.11.____cpython UPLOAD_PACKAGES: 'True' - win_64_numpy1.23python3.11.____cpython: - CONFIG: win_64_numpy1.23python3.11.____cpython + win_64_numpy2.0python3.12.____cpython: + CONFIG: win_64_numpy2.0python3.12.____cpython UPLOAD_PACKAGES: 'True' - win_64_numpy1.26python3.12.____cpython: - CONFIG: win_64_numpy1.26python3.12.____cpython + win_64_numpy2.0python3.9.____cpython: + CONFIG: win_64_numpy2.0python3.9.____cpython UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: @@ -57,6 +57,9 @@ jobs: PYTHONUNBUFFERED: 1 CONFIG: $(CONFIG) CI: azure + flow_run_id: azure_$(Build.BuildNumber).$(System.JobAttempt) + remote_url: $(Build.Repository.Uri) + sha: $(Build.SourceVersion) UPLOAD_PACKAGES: $(UPLOAD_PACKAGES) UPLOAD_TEMP: $(UPLOAD_TEMP) BINSTAR_TOKEN: $(BINSTAR_TOKEN) diff --git a/.ci_support/linux_64_numpy1.22python3.8.____cpython.yaml b/.ci_support/linux_64_numpy1.22python3.8.____cpython.yaml index ed3301e..1b24a8d 100644 --- a/.ci_support/linux_64_numpy1.22python3.8.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.22python3.8.____cpython.yaml @@ -2,10 +2,14 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' cdt_name: - cos6 channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -27,6 +31,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name - - python - numpy - - channel_sources diff --git a/.ci_support/linux_64_numpy1.22python3.9.____73_pypy.yaml b/.ci_support/linux_64_numpy1.22python3.9.____73_pypy.yaml index 3cdad21..b281bb1 100644 --- a/.ci_support/linux_64_numpy1.22python3.9.____73_pypy.yaml +++ b/.ci_support/linux_64_numpy1.22python3.9.____73_pypy.yaml @@ -2,10 +2,14 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' cdt_name: - cos6 channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -27,6 +31,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name - - python - numpy - - channel_sources diff --git a/.ci_support/linux_64_numpy1.22python3.10.____cpython.yaml b/.ci_support/linux_64_numpy2.0python3.10.____cpython.yaml similarity index 76% rename from .ci_support/linux_64_numpy1.22python3.10.____cpython.yaml rename to .ci_support/linux_64_numpy2.0python3.10.____cpython.yaml index ceff149..9601504 100644 --- a/.ci_support/linux_64_numpy1.22python3.10.____cpython.yaml +++ b/.ci_support/linux_64_numpy2.0python3.10.____cpython.yaml @@ -2,10 +2,14 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' cdt_name: - cos6 channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -15,7 +19,7 @@ cxx_compiler_version: docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 numpy: -- '1.22' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -27,6 +31,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name - - python - numpy - - channel_sources diff --git a/.ci_support/linux_64_numpy1.23python3.11.____cpython.yaml b/.ci_support/linux_64_numpy2.0python3.11.____cpython.yaml similarity index 76% rename from .ci_support/linux_64_numpy1.23python3.11.____cpython.yaml rename to .ci_support/linux_64_numpy2.0python3.11.____cpython.yaml index f2dd8b4..41736cc 100644 --- a/.ci_support/linux_64_numpy1.23python3.11.____cpython.yaml +++ b/.ci_support/linux_64_numpy2.0python3.11.____cpython.yaml @@ -2,10 +2,14 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' cdt_name: - cos6 channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -15,7 +19,7 @@ cxx_compiler_version: docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 numpy: -- '1.23' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -27,6 +31,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name - - python - numpy - - channel_sources diff --git a/.ci_support/linux_64_numpy1.26python3.12.____cpython.yaml b/.ci_support/linux_64_numpy2.0python3.12.____cpython.yaml similarity index 76% rename from .ci_support/linux_64_numpy1.26python3.12.____cpython.yaml rename to .ci_support/linux_64_numpy2.0python3.12.____cpython.yaml index 77d7b8c..eb74ccc 100644 --- a/.ci_support/linux_64_numpy1.26python3.12.____cpython.yaml +++ b/.ci_support/linux_64_numpy2.0python3.12.____cpython.yaml @@ -2,10 +2,14 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' cdt_name: - cos6 channel_sources: -- conda-forge/label/python_rc,conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -15,7 +19,7 @@ cxx_compiler_version: docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 numpy: -- '1.26' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -27,6 +31,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name - - python - numpy - - channel_sources diff --git a/.ci_support/linux_64_numpy1.22python3.9.____cpython.yaml b/.ci_support/linux_64_numpy2.0python3.9.____cpython.yaml similarity index 76% rename from .ci_support/linux_64_numpy1.22python3.9.____cpython.yaml rename to .ci_support/linux_64_numpy2.0python3.9.____cpython.yaml index a0c5b4c..79c1f8c 100644 --- a/.ci_support/linux_64_numpy1.22python3.9.____cpython.yaml +++ b/.ci_support/linux_64_numpy2.0python3.9.____cpython.yaml @@ -2,10 +2,14 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' cdt_name: - cos6 channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -15,7 +19,7 @@ cxx_compiler_version: docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 numpy: -- '1.22' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -27,6 +31,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name - - python - numpy - - channel_sources diff --git a/.ci_support/osx_64_numpy1.22python3.8.____cpython.yaml b/.ci_support/osx_64_numpy1.22python3.8.____cpython.yaml index f238b76..b5ab153 100644 --- a/.ci_support/osx_64_numpy1.22python3.8.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.22python3.8.____cpython.yaml @@ -1,17 +1,21 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.13' c_compiler: - clang c_compiler_version: -- '15' +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' macos_machine: - x86_64-apple-darwin13.4.0 numpy: @@ -29,4 +33,3 @@ zip_keys: - cxx_compiler_version - - python - numpy - - channel_sources diff --git a/.ci_support/osx_64_numpy1.22python3.9.____73_pypy.yaml b/.ci_support/osx_64_numpy1.22python3.9.____73_pypy.yaml index 5c57bb9..360cdae 100644 --- a/.ci_support/osx_64_numpy1.22python3.9.____73_pypy.yaml +++ b/.ci_support/osx_64_numpy1.22python3.9.____73_pypy.yaml @@ -1,17 +1,21 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.13' c_compiler: - clang c_compiler_version: -- '15' +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' macos_machine: - x86_64-apple-darwin13.4.0 numpy: @@ -29,4 +33,3 @@ zip_keys: - cxx_compiler_version - - python - numpy - - channel_sources diff --git a/.ci_support/osx_64_numpy1.22python3.10.____cpython.yaml b/.ci_support/osx_64_numpy2.0python3.10.____cpython.yaml similarity index 74% rename from .ci_support/osx_64_numpy1.22python3.10.____cpython.yaml rename to .ci_support/osx_64_numpy2.0python3.10.____cpython.yaml index 211212b..18cd357 100644 --- a/.ci_support/osx_64_numpy1.22python3.10.____cpython.yaml +++ b/.ci_support/osx_64_numpy2.0python3.10.____cpython.yaml @@ -1,21 +1,25 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.13' c_compiler: - clang c_compiler_version: -- '15' +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.22' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -29,4 +33,3 @@ zip_keys: - cxx_compiler_version - - python - numpy - - channel_sources diff --git a/.ci_support/osx_64_numpy1.23python3.11.____cpython.yaml b/.ci_support/osx_64_numpy2.0python3.11.____cpython.yaml similarity index 74% rename from .ci_support/osx_64_numpy1.23python3.11.____cpython.yaml rename to .ci_support/osx_64_numpy2.0python3.11.____cpython.yaml index 9b9fd2c..625c966 100644 --- a/.ci_support/osx_64_numpy1.23python3.11.____cpython.yaml +++ b/.ci_support/osx_64_numpy2.0python3.11.____cpython.yaml @@ -1,21 +1,25 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.13' c_compiler: - clang c_compiler_version: -- '15' +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.23' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -29,4 +33,3 @@ zip_keys: - cxx_compiler_version - - python - numpy - - channel_sources diff --git a/.ci_support/osx_64_numpy1.26python3.12.____cpython.yaml b/.ci_support/osx_64_numpy2.0python3.12.____cpython.yaml similarity index 74% rename from .ci_support/osx_64_numpy1.26python3.12.____cpython.yaml rename to .ci_support/osx_64_numpy2.0python3.12.____cpython.yaml index 9aaa163..9cfb6e7 100644 --- a/.ci_support/osx_64_numpy1.26python3.12.____cpython.yaml +++ b/.ci_support/osx_64_numpy2.0python3.12.____cpython.yaml @@ -1,21 +1,25 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.13' c_compiler: - clang c_compiler_version: -- '15' +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' channel_sources: -- conda-forge/label/python_rc,conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.26' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -29,4 +33,3 @@ zip_keys: - cxx_compiler_version - - python - numpy - - channel_sources diff --git a/.ci_support/osx_64_numpy1.22python3.9.____cpython.yaml b/.ci_support/osx_64_numpy2.0python3.9.____cpython.yaml similarity index 74% rename from .ci_support/osx_64_numpy1.22python3.9.____cpython.yaml rename to .ci_support/osx_64_numpy2.0python3.9.____cpython.yaml index 1685c6a..bba18f4 100644 --- a/.ci_support/osx_64_numpy1.22python3.9.____cpython.yaml +++ b/.ci_support/osx_64_numpy2.0python3.9.____cpython.yaml @@ -1,21 +1,25 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.13' c_compiler: - clang c_compiler_version: -- '15' +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.22' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -29,4 +33,3 @@ zip_keys: - cxx_compiler_version - - python - numpy - - channel_sources diff --git a/.ci_support/osx_arm64_numpy1.22python3.8.____cpython.yaml b/.ci_support/osx_arm64_numpy1.22python3.8.____cpython.yaml index e1419cf..2324527 100644 --- a/.ci_support/osx_arm64_numpy1.22python3.8.____cpython.yaml +++ b/.ci_support/osx_arm64_numpy1.22python3.8.____cpython.yaml @@ -3,15 +3,19 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '15' +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' macos_machine: - arm64-apple-darwin20.0.0 numpy: @@ -29,4 +33,3 @@ zip_keys: - cxx_compiler_version - - python - numpy - - channel_sources diff --git a/.ci_support/osx_arm64_numpy1.22python3.10.____cpython.yaml b/.ci_support/osx_arm64_numpy2.0python3.10.____cpython.yaml similarity index 76% rename from .ci_support/osx_arm64_numpy1.22python3.10.____cpython.yaml rename to .ci_support/osx_arm64_numpy2.0python3.10.____cpython.yaml index b19a27e..eb66b52 100644 --- a/.ci_support/osx_arm64_numpy1.22python3.10.____cpython.yaml +++ b/.ci_support/osx_arm64_numpy2.0python3.10.____cpython.yaml @@ -3,19 +3,23 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '15' +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' macos_machine: - arm64-apple-darwin20.0.0 numpy: -- '1.22' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -29,4 +33,3 @@ zip_keys: - cxx_compiler_version - - python - numpy - - channel_sources diff --git a/.ci_support/osx_arm64_numpy1.23python3.11.____cpython.yaml b/.ci_support/osx_arm64_numpy2.0python3.11.____cpython.yaml similarity index 76% rename from .ci_support/osx_arm64_numpy1.23python3.11.____cpython.yaml rename to .ci_support/osx_arm64_numpy2.0python3.11.____cpython.yaml index 8d9ba61..8aa5419 100644 --- a/.ci_support/osx_arm64_numpy1.23python3.11.____cpython.yaml +++ b/.ci_support/osx_arm64_numpy2.0python3.11.____cpython.yaml @@ -3,19 +3,23 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '15' +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' macos_machine: - arm64-apple-darwin20.0.0 numpy: -- '1.23' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -29,4 +33,3 @@ zip_keys: - cxx_compiler_version - - python - numpy - - channel_sources diff --git a/.ci_support/osx_arm64_numpy1.26python3.12.____cpython.yaml b/.ci_support/osx_arm64_numpy2.0python3.12.____cpython.yaml similarity index 76% rename from .ci_support/osx_arm64_numpy1.26python3.12.____cpython.yaml rename to .ci_support/osx_arm64_numpy2.0python3.12.____cpython.yaml index 041eac2..d51f21e 100644 --- a/.ci_support/osx_arm64_numpy1.26python3.12.____cpython.yaml +++ b/.ci_support/osx_arm64_numpy2.0python3.12.____cpython.yaml @@ -3,19 +3,23 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '15' +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' channel_sources: -- conda-forge/label/python_rc,conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' macos_machine: - arm64-apple-darwin20.0.0 numpy: -- '1.26' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -29,4 +33,3 @@ zip_keys: - cxx_compiler_version - - python - numpy - - channel_sources diff --git a/.ci_support/osx_arm64_numpy1.22python3.9.____cpython.yaml b/.ci_support/osx_arm64_numpy2.0python3.9.____cpython.yaml similarity index 76% rename from .ci_support/osx_arm64_numpy1.22python3.9.____cpython.yaml rename to .ci_support/osx_arm64_numpy2.0python3.9.____cpython.yaml index ec760a5..227ae6b 100644 --- a/.ci_support/osx_arm64_numpy1.22python3.9.____cpython.yaml +++ b/.ci_support/osx_arm64_numpy2.0python3.9.____cpython.yaml @@ -3,19 +3,23 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '15' +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' macos_machine: - arm64-apple-darwin20.0.0 numpy: -- '1.22' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -29,4 +33,3 @@ zip_keys: - cxx_compiler_version - - python - numpy - - channel_sources diff --git a/.ci_support/win_64_numpy1.22python3.8.____cpython.yaml b/.ci_support/win_64_numpy1.22python3.8.____cpython.yaml index 2f4864a..314e2ef 100644 --- a/.ci_support/win_64_numpy1.22python3.8.____cpython.yaml +++ b/.ci_support/win_64_numpy1.22python3.8.____cpython.yaml @@ -1,7 +1,9 @@ c_compiler: - vs2019 +c_stdlib: +- vs channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -19,4 +21,3 @@ target_platform: zip_keys: - - python - numpy - - channel_sources diff --git a/.ci_support/win_64_numpy1.22python3.9.____73_pypy.yaml b/.ci_support/win_64_numpy1.22python3.9.____73_pypy.yaml index 4f8aaba..c0ed6c5 100644 --- a/.ci_support/win_64_numpy1.22python3.9.____73_pypy.yaml +++ b/.ci_support/win_64_numpy1.22python3.9.____73_pypy.yaml @@ -1,7 +1,9 @@ c_compiler: - vs2019 +c_stdlib: +- vs channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -19,4 +21,3 @@ target_platform: zip_keys: - - python - numpy - - channel_sources diff --git a/.ci_support/win_64_numpy1.22python3.10.____cpython.yaml b/.ci_support/win_64_numpy2.0python3.10.____cpython.yaml similarity index 79% rename from .ci_support/win_64_numpy1.22python3.10.____cpython.yaml rename to .ci_support/win_64_numpy2.0python3.10.____cpython.yaml index bc330f1..219e665 100644 --- a/.ci_support/win_64_numpy1.22python3.10.____cpython.yaml +++ b/.ci_support/win_64_numpy2.0python3.10.____cpython.yaml @@ -1,13 +1,15 @@ c_compiler: - vs2019 +c_stdlib: +- vs channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: - vs2019 numpy: -- '1.22' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -19,4 +21,3 @@ target_platform: zip_keys: - - python - numpy - - channel_sources diff --git a/.ci_support/win_64_numpy1.23python3.11.____cpython.yaml b/.ci_support/win_64_numpy2.0python3.11.____cpython.yaml similarity index 79% rename from .ci_support/win_64_numpy1.23python3.11.____cpython.yaml rename to .ci_support/win_64_numpy2.0python3.11.____cpython.yaml index 3637894..82e880e 100644 --- a/.ci_support/win_64_numpy1.23python3.11.____cpython.yaml +++ b/.ci_support/win_64_numpy2.0python3.11.____cpython.yaml @@ -1,13 +1,15 @@ c_compiler: - vs2019 +c_stdlib: +- vs channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: - vs2019 numpy: -- '1.23' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -19,4 +21,3 @@ target_platform: zip_keys: - - python - numpy - - channel_sources diff --git a/.ci_support/win_64_numpy1.26python3.12.____cpython.yaml b/.ci_support/win_64_numpy2.0python3.12.____cpython.yaml similarity index 77% rename from .ci_support/win_64_numpy1.26python3.12.____cpython.yaml rename to .ci_support/win_64_numpy2.0python3.12.____cpython.yaml index 87f023e..b50cb8b 100644 --- a/.ci_support/win_64_numpy1.26python3.12.____cpython.yaml +++ b/.ci_support/win_64_numpy2.0python3.12.____cpython.yaml @@ -1,13 +1,15 @@ c_compiler: - vs2019 +c_stdlib: +- vs channel_sources: -- conda-forge/label/python_rc,conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: - vs2019 numpy: -- '1.26' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -19,4 +21,3 @@ target_platform: zip_keys: - - python - numpy - - channel_sources diff --git a/.ci_support/win_64_numpy1.22python3.9.____cpython.yaml b/.ci_support/win_64_numpy2.0python3.9.____cpython.yaml similarity index 79% rename from .ci_support/win_64_numpy1.22python3.9.____cpython.yaml rename to .ci_support/win_64_numpy2.0python3.9.____cpython.yaml index 468bdf6..b680e8d 100644 --- a/.ci_support/win_64_numpy1.22python3.9.____cpython.yaml +++ b/.ci_support/win_64_numpy2.0python3.9.____cpython.yaml @@ -1,13 +1,15 @@ c_compiler: - vs2019 +c_stdlib: +- vs channel_sources: -- conda-forge +- conda-forge/label/numpy_rc,conda-forge channel_targets: - conda-forge main cxx_compiler: - vs2019 numpy: -- '1.22' +- '2.0' pin_run_as_build: python: min_pin: x.x @@ -19,4 +21,3 @@ target_platform: zip_keys: - - python - numpy - - channel_sources diff --git a/.gitignore b/.gitignore index c89ecb7..179afe5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,24 @@ -*.pyc +# User content belongs under recipe/. +# Feedstock configuration goes in `conda-forge.yml` +# Everything else is managed by the conda-smithy rerender process. +# Please do not modify + +# Ignore all files and folders in root +* +!/conda-forge.yml + +# 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. +!/**/ +# Don't ignore any files/folders recursively in the following folders +!/recipe/** +!/.ci_support/** -build_artifacts +# Since we ignore files/folders recursively, any folders inside +# build_artifacts gets ignored which trips some build systems. +# To avoid that we 'un-ignore' all files/folders recursively +# and only ignore the root build_artifacts folder. +!/build_artifacts/** +/build_artifacts + +*.pyc diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 322832b..899ba03 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -28,13 +28,15 @@ conda-build: pkgs_dirs: - ${FEEDSTOCK_ROOT}/build_artifacts/pkg_cache - /opt/conda/pkgs +solver: libmamba CONDARC +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 boa conda-forge-ci-setup=3 + 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 boa conda-forge-ci-setup + 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}" @@ -66,9 +68,10 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + conda-build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ + --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 9236239..00f377a 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -21,6 +21,12 @@ if [ -z ${FEEDSTOCK_NAME} ]; then export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) fi +if [[ "${sha:-}" == "" ]]; then + pushd "${FEEDSTOCK_ROOT}" + sha=$(git rev-parse HEAD) + popd +fi + docker info # In order for the conda-build process in the container to write to the mounted @@ -91,6 +97,9 @@ docker run ${DOCKER_RUN_ARGS} \ -e CPU_COUNT \ -e BUILD_WITH_CONDA_DEBUG \ -e BUILD_OUTPUT_ID \ + -e flow_run_id \ + -e remote_url \ + -e sha \ -e BINSTAR_TOKEN \ -e FEEDSTOCK_TOKEN \ -e STAGING_BINSTAR_TOKEN \ diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index cd9a88f..07dff21 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -22,11 +22,13 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} 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 boa conda-forge-ci-setup=3 + 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 boa conda-forge-ci-setup + pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" @@ -45,6 +47,10 @@ else echo -e "\n\nNot mangling homebrew as we are not running in CI" fi +if [[ "${sha:-}" == "" ]]; then + sha=$(git rev-parse HEAD) +fi + echo -e "\n\nRunning the build setup script." source run_conda_forge_build_setup @@ -75,9 +81,10 @@ else EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi - conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ + conda-build ./recipe -m ./.ci_support/${CONFIG}.yaml \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file ./.ci_support/clobber_${CONFIG}.yaml + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ + --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 07d3445..6d54697 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -17,10 +17,14 @@ call :start_group "Configuring conda" :: Activate the base conda environment call activate base +:: Configure the solver +set "CONDA_SOLVER=libmamba" +if !errorlevel! neq 0 exit /b !errorlevel! +set "CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1" :: Provision the necessary dependencies to build the recipe later echo Installing dependencies -mamba.exe install "python=3.10" pip mamba conda-build boa conda-forge-ci-setup=3 -c conda-forge --strict-channel-priority --yes +mamba.exe install "python=3.10" pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" -c conda-forge --strict-channel-priority --yes if !errorlevel! neq 0 exit /b !errorlevel! :: Set basic configuration @@ -38,14 +42,20 @@ if EXIST LICENSE.txt ( copy LICENSE.txt "recipe\\recipe-scripts-license.txt" ) if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( - set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" + if [%CROSSCOMPILING_EMULATOR%] == [] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" + ) +) + +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%" ) call :end_group :: Build the recipe echo Building recipe -conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +conda-build.exe "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% if !errorlevel! neq 0 exit /b !errorlevel! :: Prepare some environment variables for the upload step diff --git a/README.md b/README.md index 73e11da..4c2762e 100644 --- a/README.md +++ b/README.md @@ -49,13 +49,6 @@ Current build status - - - - + - + - + - + @@ -112,31 +105,31 @@ Current build status - + - + - + - + @@ -147,31 +140,31 @@ Current build status - + - + - + - + @@ -189,24 +182,31 @@ Current build status - + + + + - + - + @@ -290,7 +290,7 @@ available continuous integration services. Thanks to the awesome service provide [CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/), [Drone](https://cloud.drone.io/welcome), and [TravisCI](https://travis-ci.com/) it is possible to build and upload installable packages to the -[conda-forge](https://anaconda.org/conda-forge) [Anaconda-Cloud](https://anaconda.org/) +[conda-forge](https://anaconda.org/conda-forge) [anaconda.org](https://anaconda.org/) channel for Linux, Windows and OSX respectively. To manage the continuous integration and simplify feedstock maintenance diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6b346f5..e5306da 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -4,5 +4,5 @@ jobs: - template: ./.azure-pipelines/azure-pipelines-linux.yml - - template: ./.azure-pipelines/azure-pipelines-win.yml - - template: ./.azure-pipelines/azure-pipelines-osx.yml \ No newline at end of file + - template: ./.azure-pipelines/azure-pipelines-osx.yml + - template: ./.azure-pipelines/azure-pipelines-win.yml \ No newline at end of file diff --git a/build-locally.py b/build-locally.py index 3f4b7a7..e0d408d 100755 --- a/build-locally.py +++ b/build-locally.py @@ -64,8 +64,9 @@ def verify_config(ns): elif ns.config.startswith("osx"): if "OSX_SDK_DIR" not in os.environ: raise RuntimeError( - "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=SDKs' " - "to download the SDK automatically to 'SDKs/MacOSX.sdk'. " + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=$PWD/SDKs' " + "to download the SDK automatically to '$PWD/SDKs/MacOSX.sdk'. " + "Note: OSX_SDK_DIR must be set to an absolute path. " "Setting this variable implies agreement to the licensing terms of the SDK by Apple." )
VariantStatus
linux_64_numpy1.22python3.10.____cpython - - variant - -
linux_64_numpy1.22python3.8.____cpython @@ -70,31 +63,31 @@ Current build status
linux_64_numpy1.22python3.9.____cpythonlinux_64_numpy2.0python3.10.____cpython - variant + variant
linux_64_numpy1.23python3.11.____cpythonlinux_64_numpy2.0python3.11.____cpython - variant + variant
linux_64_numpy1.26python3.12.____cpythonlinux_64_numpy2.0python3.12.____cpython - variant + variant
osx_64_numpy1.22python3.10.____cpythonlinux_64_numpy2.0python3.9.____cpython - variant + variant
osx_64_numpy1.22python3.9.____cpythonosx_64_numpy2.0python3.10.____cpython - variant + variant
osx_64_numpy1.23python3.11.____cpythonosx_64_numpy2.0python3.11.____cpython - variant + variant
osx_64_numpy1.26python3.12.____cpythonosx_64_numpy2.0python3.12.____cpython - variant + variant
osx_arm64_numpy1.22python3.10.____cpythonosx_64_numpy2.0python3.9.____cpython - variant + variant
osx_arm64_numpy1.22python3.9.____cpythonosx_arm64_numpy2.0python3.10.____cpython - variant + variant
osx_arm64_numpy1.23python3.11.____cpythonosx_arm64_numpy2.0python3.11.____cpython - variant + variant
osx_arm64_numpy1.26python3.12.____cpythonosx_arm64_numpy2.0python3.12.____cpython - variant + variant
win_64_numpy1.22python3.10.____cpythonosx_arm64_numpy2.0python3.9.____cpython - variant + variant
win_64_numpy1.22python3.9.____cpythonwin_64_numpy2.0python3.10.____cpython + + variant + +
win_64_numpy2.0python3.11.____cpython - variant + variant
win_64_numpy1.23python3.11.____cpythonwin_64_numpy2.0python3.12.____cpython - variant + variant
win_64_numpy1.26python3.12.____cpythonwin_64_numpy2.0python3.9.____cpython - variant + variant