From 05e441c9a2ba06ecbd47f581333d6f2f97a96843 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Sun, 9 Aug 2026 15:19:50 +0000 Subject: [PATCH 1/2] Rebuild for python 3.14 freethreading --- .ci_support/migrations/python314t.yaml | 58 ++++++++++++++++++++++++++ recipe/meta.yaml | 2 +- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 .ci_support/migrations/python314t.yaml diff --git a/.ci_support/migrations/python314t.yaml b/.ci_support/migrations/python314t.yaml new file mode 100644 index 0000000..c3a582e --- /dev/null +++ b/.ci_support/migrations/python314t.yaml @@ -0,0 +1,58 @@ +migrator_ts: 1755739493 +__migrator: + commit_message: Rebuild for python 3.14 freethreading + migration_number: 1 + operation: key_add + primary_key: python + ordering: + python: + - 3.9.* *_cpython + - 3.10.* *_cpython + - 3.11.* *_cpython + - 3.12.* *_cpython + - 3.13.* *_cp313 + - 3.13.* *_cp313t + - 3.14.* *_cp314 # new entry + - 3.14.* *_cp314t # new entry + longterm: true + pr_limit: 20 + max_solver_attempts: 3 # this will make the bot retry "not solvable" stuff 12 times + exclude: + # this shouldn't attempt to modify the python feedstocks + - python + - pypy3.6 + - pypy-meta + - cross-python + - python_abi + - matplotlib + - pyside2 + exclude_pinned_pkgs: false + # if feedstock already has 3.13t migrator this is redundant, but harmless + additional_zip_keys: + - is_freethreading + - is_abi3 + wait_for_migrators: + - python314 + ignored_deps_per_node: + matplotlib: + - pyqt + - pyside6 + - pyside2 + pyarrow: + # optional test dependencies + - numba + - sparse + pyzmq: + # test dependency not used with free-threaded + - auditwheel + allowlist_file: free-threaded-314.txt + +python: +- 3.14.* *_cp314t +# additional entries to add for zip_keys +is_freethreading: +- true +is_python_min: +- false +is_abi3: +- false diff --git a/recipe/meta.yaml b/recipe/meta.yaml index de09772..29abae3 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -10,7 +10,7 @@ source: sha256: c548629115c3d5f180d06a70bc29dcf42e4018fbc9e4ba7c99abc1cdbfda7c1e build: - number: 0 + number: 1 requirements: build: From 80bc7a287dbf8338fd11b1f1194b2390a5d5b3a6 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Sun, 9 Aug 2026 15:21:10 +0000 Subject: [PATCH 2/2] MNT: Re-rendered with conda-smithy 2026.8.9 and conda-forge-pinning 2026.08.09.00.32.1 --- .azure-pipelines/azure-pipelines-osx.yml | 78 ++++- .azure-pipelines/azure-pipelines-win.yml | 55 ---- .../linux_64_python3.10.____cpython.yaml | 2 +- .../linux_64_python3.11.____cpython.yaml | 2 +- .../linux_64_python3.12.____cpython.yaml | 2 +- .../linux_64_python3.13.____cp313.yaml | 2 +- .../linux_64_python3.14.____cp314.yaml | 2 +- .../linux_64_python3.14.____cp314t.yaml | 22 ++ .../linux_aarch64_python3.10.____cpython.yaml | 2 +- .../linux_aarch64_python3.11.____cpython.yaml | 2 +- .../linux_aarch64_python3.12.____cpython.yaml | 2 +- .../linux_aarch64_python3.13.____cp313.yaml | 2 +- .../linux_aarch64_python3.14.____cp314.yaml | 2 +- .../linux_aarch64_python3.14.____cp314t.yaml | 22 ++ .../linux_ppc64le_python3.10.____cpython.yaml | 2 +- .../linux_ppc64le_python3.11.____cpython.yaml | 2 +- .../linux_ppc64le_python3.12.____cpython.yaml | 2 +- .../linux_ppc64le_python3.13.____cp313.yaml | 2 +- .../linux_ppc64le_python3.14.____cp314.yaml | 2 +- .../linux_ppc64le_python3.14.____cp314t.yaml | 22 ++ .ci_support/osx_64_python3.14.____cp314t.yaml | 26 ++ .../osx_arm64_python3.14.____cp314t.yaml | 26 ++ .ci_support/win_64_python3.14.____cp314t.yaml | 20 ++ .github/workflows/conda-build.yml | 283 +++++++++++++++--- .scripts/build_steps.sh | 29 +- .scripts/logging_utils.sh | 0 .scripts/run_docker_build.sh | 25 +- .scripts/run_osx_build.sh | 8 +- .scripts/run_win_build.bat | 8 +- README.md | 235 ++++----------- azure-pipelines.yml | 3 +- build-locally.py | 5 +- 32 files changed, 590 insertions(+), 307 deletions(-) mode change 100755 => 100644 .azure-pipelines/azure-pipelines-osx.yml delete mode 100755 .azure-pipelines/azure-pipelines-win.yml create mode 100644 .ci_support/linux_64_python3.14.____cp314t.yaml create mode 100644 .ci_support/linux_aarch64_python3.14.____cp314t.yaml create mode 100644 .ci_support/linux_ppc64le_python3.14.____cp314t.yaml create mode 100644 .ci_support/osx_64_python3.14.____cp314t.yaml create mode 100644 .ci_support/osx_arm64_python3.14.____cp314t.yaml create mode 100644 .ci_support/win_64_python3.14.____cp314t.yaml mode change 100644 => 100755 .scripts/logging_utils.sh diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml old mode 100755 new mode 100644 index 069e795..1bd3264 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -12,52 +12,122 @@ jobs: CONFIG: osx_64_python3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_64_python3.11.____cpython: CONFIG: osx_64_python3.11.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_64_python3.12.____cpython: CONFIG: osx_64_python3.12.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_64_python3.13.____cp313: CONFIG: osx_64_python3.13.____cp313 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_64_python3.14.____cp314: CONFIG: osx_64_python3.14.____cp314 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false store_build_artifacts: false + tools_install_dir: ~/miniforge3 + osx_64_python3.14.____cp314t: + CONFIG: osx_64_python3.14.____cp314t + UPLOAD_PACKAGES: 'True' + VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false + store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_arm64_python3.10.____cpython: CONFIG: osx_arm64_python3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_arm64_python3.11.____cpython: CONFIG: osx_arm64_python3.11.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_arm64_python3.12.____cpython: CONFIG: osx_arm64_python3.12.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_arm64_python3.13.____cp313: CONFIG: osx_arm64_python3.13.____cp313 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_arm64_python3.14.____cp314: CONFIG: osx_arm64_python3.14.____cp314 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false + store_build_artifacts: false + tools_install_dir: ~/miniforge3 + osx_arm64_python3.14.____cp314t: + CONFIG: osx_arm64_python3.14.____cp314t + UPLOAD_PACKAGES: 'True' + VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false store_build_artifacts: false + tools_install_dir: ~/miniforge3 timeoutInMinutes: 360 variables: {} @@ -65,12 +135,14 @@ jobs: # TODO: Fast finish on azure pipelines? - script: | export CI=azure + export CONDA_BLD_PATH=$(build_workspace_dir) + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export MINIFORGE_HOME=$(tools_install_dir) + export OSX_FORCE_SDK_DOWNLOAD="1" 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}) if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then export IS_PR_BUILD="True" else diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml deleted file mode 100755 index 0a281de..0000000 --- a/.azure-pipelines/azure-pipelines-win.yml +++ /dev/null @@ -1,55 +0,0 @@ -# This file was generated automatically from conda-smithy. To update this configuration, -# update the conda-forge.yml and/or the recipe/meta.yaml. -# -*- mode: yaml -*- - -jobs: -- job: win - pool: - vmImage: windows-2022 - strategy: - matrix: - win_64_python3.10.____cpython: - CONFIG: win_64_python3.10.____cpython - UPLOAD_PACKAGES: 'True' - store_build_artifacts: false - win_64_python3.11.____cpython: - CONFIG: win_64_python3.11.____cpython - UPLOAD_PACKAGES: 'True' - store_build_artifacts: false - win_64_python3.12.____cpython: - CONFIG: win_64_python3.12.____cpython - UPLOAD_PACKAGES: 'True' - store_build_artifacts: false - win_64_python3.13.____cp313: - CONFIG: win_64_python3.13.____cp313 - UPLOAD_PACKAGES: 'True' - store_build_artifacts: false - win_64_python3.14.____cp314: - CONFIG: win_64_python3.14.____cp314 - UPLOAD_PACKAGES: 'True' - store_build_artifacts: false - timeoutInMinutes: 360 - variables: - CONDA_BLD_PATH: D:\\bld\\ - MINIFORGE_HOME: D:\Miniforge - UPLOAD_TEMP: D:\\tmp - - steps: - - - script: | - call ".scripts\run_win_build.bat" - displayName: Run Windows build - env: - MINIFORGE_HOME: $(MINIFORGE_HOME) - CONDA_BLD_PATH: $(CONDA_BLD_PATH) - 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) - FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) - STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) diff --git a/.ci_support/linux_64_python3.10.____cpython.yaml b/.ci_support/linux_64_python3.10.____cpython.yaml index 9e2cb56..ec94854 100644 --- a/.ci_support/linux_64_python3.10.____cpython.yaml +++ b/.ci_support/linux_64_python3.10.____cpython.yaml @@ -11,7 +11,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 +- quay.io/condaforge/linux-anvil-x86_64:alma10 pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_python3.11.____cpython.yaml b/.ci_support/linux_64_python3.11.____cpython.yaml index d081edb..422e1f3 100644 --- a/.ci_support/linux_64_python3.11.____cpython.yaml +++ b/.ci_support/linux_64_python3.11.____cpython.yaml @@ -11,7 +11,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 +- quay.io/condaforge/linux-anvil-x86_64:alma10 pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_python3.12.____cpython.yaml b/.ci_support/linux_64_python3.12.____cpython.yaml index e83cf5b..e4bdb95 100644 --- a/.ci_support/linux_64_python3.12.____cpython.yaml +++ b/.ci_support/linux_64_python3.12.____cpython.yaml @@ -11,7 +11,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 +- quay.io/condaforge/linux-anvil-x86_64:alma10 pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_python3.13.____cp313.yaml b/.ci_support/linux_64_python3.13.____cp313.yaml index 11da9f2..4397e7d 100644 --- a/.ci_support/linux_64_python3.13.____cp313.yaml +++ b/.ci_support/linux_64_python3.13.____cp313.yaml @@ -11,7 +11,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 +- quay.io/condaforge/linux-anvil-x86_64:alma10 pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_python3.14.____cp314.yaml b/.ci_support/linux_64_python3.14.____cp314.yaml index c218aa8..fdbce96 100644 --- a/.ci_support/linux_64_python3.14.____cp314.yaml +++ b/.ci_support/linux_64_python3.14.____cp314.yaml @@ -11,7 +11,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 +- quay.io/condaforge/linux-anvil-x86_64:alma10 pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_python3.14.____cp314t.yaml b/.ci_support/linux_64_python3.14.____cp314t.yaml new file mode 100644 index 0000000..2af2340 --- /dev/null +++ b/.ci_support/linux_64_python3.14.____cp314t.yaml @@ -0,0 +1,22 @@ +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma10 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.14.* *_cp314t +target_platform: +- linux-64 diff --git a/.ci_support/linux_aarch64_python3.10.____cpython.yaml b/.ci_support/linux_aarch64_python3.10.____cpython.yaml index f364cbb..62b1d75 100644 --- a/.ci_support/linux_aarch64_python3.10.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.10.____cpython.yaml @@ -11,7 +11,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 +- quay.io/condaforge/linux-anvil-x86_64:alma10 pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_aarch64_python3.11.____cpython.yaml b/.ci_support/linux_aarch64_python3.11.____cpython.yaml index 7d0f02f..2ccb30c 100644 --- a/.ci_support/linux_aarch64_python3.11.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.11.____cpython.yaml @@ -11,7 +11,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 +- quay.io/condaforge/linux-anvil-x86_64:alma10 pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_aarch64_python3.12.____cpython.yaml b/.ci_support/linux_aarch64_python3.12.____cpython.yaml index 49bc2b5..9640d56 100644 --- a/.ci_support/linux_aarch64_python3.12.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.12.____cpython.yaml @@ -11,7 +11,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 +- quay.io/condaforge/linux-anvil-x86_64:alma10 pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_aarch64_python3.13.____cp313.yaml b/.ci_support/linux_aarch64_python3.13.____cp313.yaml index 072baaf..33f293b 100644 --- a/.ci_support/linux_aarch64_python3.13.____cp313.yaml +++ b/.ci_support/linux_aarch64_python3.13.____cp313.yaml @@ -11,7 +11,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 +- quay.io/condaforge/linux-anvil-x86_64:alma10 pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_aarch64_python3.14.____cp314.yaml b/.ci_support/linux_aarch64_python3.14.____cp314.yaml index 0016753..1f168f5 100644 --- a/.ci_support/linux_aarch64_python3.14.____cp314.yaml +++ b/.ci_support/linux_aarch64_python3.14.____cp314.yaml @@ -11,7 +11,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 +- quay.io/condaforge/linux-anvil-x86_64:alma10 pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_aarch64_python3.14.____cp314t.yaml b/.ci_support/linux_aarch64_python3.14.____cp314t.yaml new file mode 100644 index 0000000..4bf9f9d --- /dev/null +++ b/.ci_support/linux_aarch64_python3.14.____cp314t.yaml @@ -0,0 +1,22 @@ +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma10 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.14.* *_cp314t +target_platform: +- linux-aarch64 diff --git a/.ci_support/linux_ppc64le_python3.10.____cpython.yaml b/.ci_support/linux_ppc64le_python3.10.____cpython.yaml index 493da02..0379fe7 100644 --- a/.ci_support/linux_ppc64le_python3.10.____cpython.yaml +++ b/.ci_support/linux_ppc64le_python3.10.____cpython.yaml @@ -11,7 +11,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 +- quay.io/condaforge/linux-anvil-x86_64:alma10 pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_ppc64le_python3.11.____cpython.yaml b/.ci_support/linux_ppc64le_python3.11.____cpython.yaml index 4da81c9..6e4e136 100644 --- a/.ci_support/linux_ppc64le_python3.11.____cpython.yaml +++ b/.ci_support/linux_ppc64le_python3.11.____cpython.yaml @@ -11,7 +11,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 +- quay.io/condaforge/linux-anvil-x86_64:alma10 pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_ppc64le_python3.12.____cpython.yaml b/.ci_support/linux_ppc64le_python3.12.____cpython.yaml index 13170d2..0c9793e 100644 --- a/.ci_support/linux_ppc64le_python3.12.____cpython.yaml +++ b/.ci_support/linux_ppc64le_python3.12.____cpython.yaml @@ -11,7 +11,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 +- quay.io/condaforge/linux-anvil-x86_64:alma10 pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_ppc64le_python3.13.____cp313.yaml b/.ci_support/linux_ppc64le_python3.13.____cp313.yaml index 4571744..29eefd6 100644 --- a/.ci_support/linux_ppc64le_python3.13.____cp313.yaml +++ b/.ci_support/linux_ppc64le_python3.13.____cp313.yaml @@ -11,7 +11,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 +- quay.io/condaforge/linux-anvil-x86_64:alma10 pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_ppc64le_python3.14.____cp314.yaml b/.ci_support/linux_ppc64le_python3.14.____cp314.yaml index 53044dc..4e372e2 100644 --- a/.ci_support/linux_ppc64le_python3.14.____cp314.yaml +++ b/.ci_support/linux_ppc64le_python3.14.____cp314.yaml @@ -11,7 +11,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 +- quay.io/condaforge/linux-anvil-x86_64:alma10 pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_ppc64le_python3.14.____cp314t.yaml b/.ci_support/linux_ppc64le_python3.14.____cp314t.yaml new file mode 100644 index 0000000..13c185a --- /dev/null +++ b/.ci_support/linux_ppc64le_python3.14.____cp314t.yaml @@ -0,0 +1,22 @@ +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma10 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.14.* *_cp314t +target_platform: +- linux-ppc64le diff --git a/.ci_support/osx_64_python3.14.____cp314t.yaml b/.ci_support/osx_64_python3.14.____cp314t.yaml new file mode 100644 index 0000000..a68e298 --- /dev/null +++ b/.ci_support/osx_64_python3.14.____cp314t.yaml @@ -0,0 +1,26 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +MACOSX_SDK_VERSION: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '19' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +macos_machine: +- x86_64-apple-darwin13.4.0 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.14.* *_cp314t +target_platform: +- osx-64 diff --git a/.ci_support/osx_arm64_python3.14.____cp314t.yaml b/.ci_support/osx_arm64_python3.14.____cp314t.yaml new file mode 100644 index 0000000..35883a8 --- /dev/null +++ b/.ci_support/osx_arm64_python3.14.____cp314t.yaml @@ -0,0 +1,26 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +MACOSX_SDK_VERSION: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '19' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +macos_machine: +- arm64-apple-darwin20.0.0 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.14.* *_cp314t +target_platform: +- osx-arm64 diff --git a/.ci_support/win_64_python3.14.____cp314t.yaml b/.ci_support/win_64_python3.14.____cp314t.yaml new file mode 100644 index 0000000..a4d4cab --- /dev/null +++ b/.ci_support/win_64_python3.14.____cp314t.yaml @@ -0,0 +1,20 @@ +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +m2w64_c_compiler: +- gcc +m2w64_c_compiler_version: +- '14' +m2w64_c_stdlib: +- m2w64-sysroot +m2w64_c_stdlib_version: +- '12' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.14.* *_cp314t +target_platform: +- win-64 diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index 586f7d0..e72e395 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -23,148 +23,360 @@ jobs: matrix: include: - CONFIG: linux_64_python3.10.____cpython + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_64_python3.11.____cpython + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_64_python3.12.____cpython + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_64_python3.13.____cp313 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_64_python3.14.____cp314 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 + - CONFIG: linux_64_python3.14.____cp314t + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 + STORE_BUILD_ARTIFACTS: False + UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip + os: ubuntu + pagefile_size: 0 + resize_partitions: False + runs_on: ['ubuntu-latest'] + tools_install_dir: ~/miniforge3 - CONFIG: linux_aarch64_python3.10.____cpython + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_aarch64_python3.11.____cpython + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_aarch64_python3.12.____cpython + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_aarch64_python3.13.____cp313 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_aarch64_python3.14.____cp314 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 + STORE_BUILD_ARTIFACTS: False + UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip + os: ubuntu + pagefile_size: 0 + resize_partitions: False + runs_on: ['ubuntu-latest'] + tools_install_dir: ~/miniforge3 + - CONFIG: linux_aarch64_python3.14.____cp314t + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_ppc64le_python3.10.____cpython + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_ppc64le_python3.11.____cpython + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_ppc64le_python3.12.____cpython + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_ppc64le_python3.13.____cp313 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_ppc64le_python3.14.____cp314 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 + STORE_BUILD_ARTIFACTS: False + UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip + os: ubuntu + pagefile_size: 0 + resize_partitions: False + runs_on: ['ubuntu-latest'] + tools_install_dir: ~/miniforge3 + - CONFIG: linux_ppc64le_python3.14.____cp314t + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 + - CONFIG: win_64_python3.10.____cpython + STORE_BUILD_ARTIFACTS: False + UPLOAD_PACKAGES: True + build_platform: win-64 + build_workspace_dir: D:\\bld\\ + docker_run_args: + free_disk_space: skip + os: windows + pagefile_size: 0 + resize_partitions: False + runs_on: ['windows-2022'] + tools_install_dir: D:\Miniforge + - CONFIG: win_64_python3.11.____cpython + STORE_BUILD_ARTIFACTS: False + UPLOAD_PACKAGES: True + build_platform: win-64 + build_workspace_dir: D:\\bld\\ + docker_run_args: + free_disk_space: skip + os: windows + pagefile_size: 0 + resize_partitions: False + runs_on: ['windows-2022'] + tools_install_dir: D:\Miniforge + - CONFIG: win_64_python3.12.____cpython + STORE_BUILD_ARTIFACTS: False + UPLOAD_PACKAGES: True + build_platform: win-64 + build_workspace_dir: D:\\bld\\ + docker_run_args: + free_disk_space: skip + os: windows + pagefile_size: 0 + resize_partitions: False + runs_on: ['windows-2022'] + tools_install_dir: D:\Miniforge + - CONFIG: win_64_python3.13.____cp313 + STORE_BUILD_ARTIFACTS: False + UPLOAD_PACKAGES: True + build_platform: win-64 + build_workspace_dir: D:\\bld\\ + docker_run_args: + free_disk_space: skip + os: windows + pagefile_size: 0 + resize_partitions: False + runs_on: ['windows-2022'] + tools_install_dir: D:\Miniforge + - CONFIG: win_64_python3.14.____cp314 + STORE_BUILD_ARTIFACTS: False + UPLOAD_PACKAGES: True + build_platform: win-64 + build_workspace_dir: D:\\bld\\ + docker_run_args: + free_disk_space: skip + os: windows + pagefile_size: 0 + resize_partitions: False + runs_on: ['windows-2022'] + tools_install_dir: D:\Miniforge + - CONFIG: win_64_python3.14.____cp314t + STORE_BUILD_ARTIFACTS: False + UPLOAD_PACKAGES: True + build_platform: win-64 + build_workspace_dir: D:\\bld\\ + docker_run_args: + free_disk_space: skip + os: windows + pagefile_size: 0 + resize_partitions: False + runs_on: ['windows-2022'] + tools_install_dir: D:\Miniforge steps: - name: Checkout code - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - name: Configure binfmt_misc + if: matrix.os == 'ubuntu' + shell: bash + run: | + if [[ "$(uname -m)" == "x86_64" ]]; then + docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes + fi - name: Build on Linux id: build-linux if: matrix.os == 'ubuntu' env: + CI: github_actions + CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }} + CONDA_FORGE_DOCKER_RUN_ARGS: ${{ matrix.docker_run_args }} CONFIG: ${{ matrix.CONFIG }} - UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} + MINIFORGE_HOME: ${{ matrix.tools_install_dir }} DOCKER_IMAGE: ${{ matrix.DOCKER_IMAGE }} - CI: github_actions - CONDA_FORGE_DOCKER_RUN_ARGS: "${{ matrix.CONDA_FORGE_DOCKER_RUN_ARGS }}" + UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} + RATTLER_BUILD_COLOR: always + RATTLER_BUILD_ENABLE_GITHUB_INTEGRATION: 'true' BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} shell: bash run: | - if [[ "$(uname -m)" == "x86_64" ]]; then - echo "::group::Configure binfmt_misc" - docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes - fi + export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}" + export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)" + export GIT_BRANCH="${GITHUB_REF_NAME}" + export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}" export flow_run_id="github_$GITHUB_RUN_ID" export remote_url="https://github.com/$GITHUB_REPOSITORY" export sha="$GITHUB_SHA" - export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)" - export GIT_BRANCH="$(basename $GITHUB_REF)" if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then export IS_PR_BUILD="True" else export IS_PR_BUILD="False" fi - echo "::endgroup::" ./.scripts/run_docker_build.sh - name: Build on macOS id: build-macos if: matrix.os == 'macos' env: + CI: github_actions + CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }} CONFIG: ${{ matrix.CONFIG }} + MINIFORGE_HOME: ${{ matrix.tools_install_dir }} UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} - CI: github_actions + RATTLER_BUILD_COLOR: always + RATTLER_BUILD_ENABLE_GITHUB_INTEGRATION: 'true' BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} shell: bash run: | + export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}" + export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)" + export GIT_BRANCH="${GITHUB_REF_NAME}" + export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}" export flow_run_id="github_$GITHUB_RUN_ID" export remote_url="https://github.com/$GITHUB_REPOSITORY" export sha="$GITHUB_SHA" - export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)" - export GIT_BRANCH="$(basename $GITHUB_REF)" if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then export IS_PR_BUILD="True" else @@ -182,14 +394,15 @@ jobs: set "sha=%GITHUB_SHA%" call ".scripts\run_win_build.bat" env: - # default value; make it explicit, as it needs to match with artefact - # generation below. Not configurable for now, can be revisited later - CONDA_BLD_PATH: C:\bld - MINIFORGE_HOME: ${{ contains(runner.arch, 'ARM') && 'C' || 'D' }}:\Miniforge - PYTHONUNBUFFERED: 1 - CONFIG: ${{ matrix.CONFIG }} + BUILD_PLATFORM: ${{ matrix.build_platform }} CI: github_actions + CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }} + CONFIG: ${{ matrix.CONFIG }} + MINIFORGE_HOME: ${{ matrix.tools_install_dir }} + PYTHONUNBUFFERED: 1 UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} + RATTLER_BUILD_COLOR: always + RATTLER_BUILD_ENABLE_GITHUB_INTEGRATION: 'true' BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} \ No newline at end of file diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index be060cb..484acdd 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -36,7 +36,7 @@ mv /opt/conda/conda-meta/history /opt/conda/conda-meta/history.$(date +%Y-%m-%d- echo > /opt/conda/conda-meta/history micromamba install --root-prefix ~/.conda --prefix /opt/conda \ --yes --override-channels --channel conda-forge --strict-channel-priority \ - pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" + pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=26.3" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 # set up the condarc @@ -61,18 +61,33 @@ if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then fi if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then - if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" - fi - conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + # differences between conda-build vs. rattler-build + # - 1 step (conda debug + manually open shell) vs. 2 step (rb debug {setup, shell}) + # - recipe is positional vs. --recipe "${RECIPE_ROOT}" + # - --output-id vs. --output-name + # - --clobber-file vs. none + # - none vs. --target-platform + CONDA_SUBDIR="${BUILD_PLATFORM}" conda debug \ + "${RECIPE_ROOT}" \ + -m "${CI_SUPPORT}/${CONFIG}.yaml" \ ${EXTRA_CB_OPTIONS:-} \ + ${BUILD_OUTPUT_ID:+--output-id "${BUILD_OUTPUT_ID}"} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" # Drop into an interactive shell /bin/bash else - conda-build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - --suppress-variables ${EXTRA_CB_OPTIONS:-} \ + # differences between conda-build vs. rattler-build + # - recipe is positional vs. --recipe "${RECIPE_ROOT}" + # - --suppress-variables vs. none + # - --clobber-file vs. none + # - none vs. --target-platform + # - --extra-meta a=b c=d vs. --extra-meta a=b --extra-meta c=d + CONDA_SUBDIR="${BUILD_PLATFORM}" conda-build \ + "${RECIPE_ROOT}" \ + -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + ${EXTRA_CB_OPTIONS:-} \ + --suppress-variables \ --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 diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh old mode 100644 new mode 100755 diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 10d6a2a..17d983f 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -96,6 +96,14 @@ if [ "${DOCKER_EXECUTABLE}" = "podman" ]; then fi fi +# When running on GitHub Actions, mount the step summary file into the container +# and point GITHUB_STEP_SUMMARY at it so that rattler-build's GitHub integration +# can write its summary. GitHub writes the file out to the job summary after the +# step finishes. +if [[ -n "${GITHUB_STEP_SUMMARY:-}" ]]; then + DOCKER_RUN_ARGS="${DOCKER_RUN_ARGS} -v ${GITHUB_STEP_SUMMARY}:/home/conda/github_step_summary:rw${VOLUME_SUFFIX},delegated -e GITHUB_STEP_SUMMARY=/home/conda/github_step_summary" +fi + ( endgroup "Configure Docker" ) 2> /dev/null ( startgroup "Start Docker" ) 2> /dev/null @@ -107,17 +115,20 @@ ${DOCKER_EXECUTABLE} pull "${DOCKER_IMAGE}" ${DOCKER_EXECUTABLE} run ${DOCKER_RUN_ARGS} \ -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw${VOLUME_SUFFIX},delegated \ -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw${VOLUME_SUFFIX},delegated \ + -e BUILD_OUTPUT_ID \ + -e BUILD_WITH_CONDA_DEBUG \ + -e CI \ -e CONFIG \ + -e CPU_COUNT \ + -e FEEDSTOCK_NAME \ + -e GIT_BRANCH \ + -e GITHUB_ACTIONS \ -e HOST_USER_ID \ - -e UPLOAD_PACKAGES \ -e IS_PR_BUILD \ - -e GIT_BRANCH \ + -e RATTLER_BUILD_COLOR \ + -e RATTLER_BUILD_ENABLE_GITHUB_INTEGRATION \ -e UPLOAD_ON_BRANCH \ - -e CI \ - -e FEEDSTOCK_NAME \ - -e CPU_COUNT \ - -e BUILD_WITH_CONDA_DEBUG \ - -e BUILD_OUTPUT_ID \ + -e UPLOAD_PACKAGES \ -e flow_run_id \ -e remote_url \ -e sha \ diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index bac7141..9d7c391 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -26,7 +26,7 @@ chmod +x "${micromamba_exe}" echo "Creating environment" "${micromamba_exe}" create --yes --root-prefix "${MAMBA_ROOT_PREFIX}" --prefix "${MINIFORGE_HOME}" \ --channel conda-forge \ - pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" + pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=26.3" echo "Moving pkgs cache from ${MAMBA_ROOT_PREFIX} to ${MINIFORGE_HOME}" mv "${MAMBA_ROOT_PREFIX}/pkgs" "${MINIFORGE_HOME}" echo "Cleaning up micromamba" @@ -73,7 +73,7 @@ if [[ "${OSX_SDK_DIR:-}" == "" ]]; then /usr/bin/sudo chown "${USER}" "${OSX_SDK_DIR}" fi else - if tmpf=$(mktemp -p "$OSX_SDK_DIR" tmp.XXXXXXXX 2>/dev/null); then + if tmpf=$(mktemp "$OSX_SDK_DIR"/tmp.XXXXXXXX 2>/dev/null); then rm -f "$tmpf" echo "OSX_SDK_DIR is writeable without sudo, continuing" else @@ -100,7 +100,7 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" fi - conda debug ./recipe -m ./.ci_support/${CONFIG}.yaml \ + CONDA_SUBDIR="${BUILD_PLATFORM}" conda debug ./recipe -m ./.ci_support/${CONFIG}.yaml \ ${EXTRA_CB_OPTIONS:-} \ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml @@ -112,7 +112,7 @@ else EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi - conda-build ./recipe -m ./.ci_support/${CONFIG}.yaml \ + CONDA_SUBDIR="${BUILD_PLATFORM}" conda-build ./recipe -m ./.ci_support/${CONFIG}.yaml \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 27c552b..06f61b8 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -31,7 +31,7 @@ if !errorlevel! neq 0 exit /b !errorlevel! echo Creating environment call "%MICROMAMBA_EXE%" create --yes --root-prefix "%MAMBA_ROOT_PREFIX%" --prefix "%MINIFORGE_HOME%" ^ --channel conda-forge ^ - pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" + pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=26.3" if !errorlevel! neq 0 exit /b !errorlevel! echo Removing %MAMBA_ROOT_PREFIX% del /S /Q "%MAMBA_ROOT_PREFIX%" >nul @@ -76,8 +76,12 @@ call :end_group :: Build the recipe echo Building recipe +set "_OLD_CONDA_SUBDIR=%CONDA_SUBDIR%" +set "CONDA_SUBDIR=%BUILD_PLATFORM%" conda-build.exe "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% if !errorlevel! neq 0 exit /b !errorlevel! +set "_OLD_CONDA_SUBDIR=" +set "CONDA_SUBDIR=%_OLD_CONDA_SUBDIR%" call :start_group "Inspecting artifacts" :: inspect_artifacts was only added in conda-forge-ci-setup 4.9.4 @@ -87,7 +91,7 @@ call :end_group :: Prepare some environment variables for the upload step if /i "%CI%" == "github_actions" ( set "FEEDSTOCK_NAME=%GITHUB_REPOSITORY:*/=%" - set "GIT_BRANCH=%GITHUB_REF:refs/heads/=%" + set "GIT_BRANCH=%GITHUB_REF_NAME%" if /i "%GITHUB_EVENT_NAME%" == "pull_request" ( set "IS_PR_BUILD=True" ) else ( diff --git a/README.md b/README.md index e0e9e18..8252fee 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,14 @@ Current build status ==================== - +
+ + + @@ -27,111 +34,6 @@ Current build status
GitHub Actions + + + +
Azure
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - @@ -261,31 +100,73 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `dftd3-python` can be installed with `conda`: +How to use +---------- + +
+With conda ``` conda install dftd3-python ``` -or with `mamba`: +
+ +
+With mamba ``` mamba install dftd3-python ``` -It is possible to list all of the versions of `dftd3-python` available on your platform with `conda`: +
+ +
+With pixi + +``` +# for adding to your local project +pixi add dftd3-python +# for installing globally +pixi global install dftd3-python +``` + +
+ +Search package versions +----------------------- + +It is possible to list all of the versions of `dftd3-python` available on your platform: + +
+With conda ``` conda search dftd3-python --channel conda-forge ``` -or with `mamba`: +
+ +
+With mamba ``` mamba search dftd3-python --channel conda-forge ``` -Alternatively, `mamba repoquery` may provide more information: +
+ +
+With pixi + +``` +pixi search dftd3-python --channel conda-forge +``` + +
+ +
+With mamba repoquery, which may provide more information ``` # Search all versions available on your platform: @@ -298,6 +179,8 @@ mamba repoquery whoneeds dftd3-python --channel conda-forge mamba repoquery depends dftd3-python --channel conda-forge ``` +
+ About conda-forge ================= diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 03594e4..7e0f633 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -28,5 +28,4 @@ stages: condition: and(succeeded(), eq(dependencies.Check.outputs['Skip.result.start_main'], 'true')) dependsOn: Check jobs: - - template: ./.azure-pipelines/azure-pipelines-osx.yml - - template: ./.azure-pipelines/azure-pipelines-win.yml \ No newline at end of file + - template: ./.azure-pipelines/azure-pipelines-osx.yml \ No newline at end of file diff --git a/build-locally.py b/build-locally.py index 05493e4..3beb68c 100755 --- a/build-locally.py +++ b/build-locally.py @@ -98,7 +98,10 @@ def main(args=None): p.add_argument( "--debug", action="store_true", - help="Setup debug environment using `conda debug`", + help=( + "Setup debug environment using `conda debug` " + "(or `rattler-build debug` for rattler-build recipes)" + ), ) p.add_argument("--output-id", help="If running debug, specify the output to setup.")
VariantStatus
linux_64_python3.10.____cpython - - variant - -
linux_64_python3.11.____cpython - - variant - -
linux_64_python3.12.____cpython - - variant - -
linux_64_python3.13.____cp313 - - variant - -
linux_64_python3.14.____cp314 - - variant - -
linux_aarch64_python3.10.____cpython - - variant - -
linux_aarch64_python3.11.____cpython - - variant - -
linux_aarch64_python3.12.____cpython - - variant - -
linux_aarch64_python3.13.____cp313 - - variant - -
linux_aarch64_python3.14.____cp314 - - variant - -
linux_ppc64le_python3.10.____cpython - - variant - -
linux_ppc64le_python3.11.____cpython - - variant - -
linux_ppc64le_python3.12.____cpython - - variant - -
linux_ppc64le_python3.13.____cp313 - - variant - -
linux_ppc64le_python3.14.____cp314 - - variant - -
osx_64_python3.10.____cpython @@ -167,73 +69,10 @@ Current build status
osx_arm64_python3.10.____cpython - - variant - -
osx_arm64_python3.11.____cpython - - variant - -
osx_arm64_python3.12.____cpython - - variant - -
osx_arm64_python3.13.____cp313 - - variant - -
osx_arm64_python3.14.____cp314 - - variant - -
win_64_python3.10.____cpython - - variant - -
win_64_python3.11.____cpython - - variant - -
win_64_python3.12.____cpython - - variant - -
win_64_python3.13.____cp313osx_64_python3.14.____cp314t - variant - -
win_64_python3.14.____cp314 - - variant + variant