From 55041725ebfdcdd459a803c94acb27e52ca255fa Mon Sep 17 00:00:00 2001
From: regro-cf-autotick-bot
<36490558+regro-cf-autotick-bot@users.noreply.github.com>
Date: Mon, 10 Aug 2026 08:13:53 +0200
Subject: [PATCH] Rebuild for python 3.14 freethreading (#39)
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/migrations/python314t.yaml | 58 ++++
.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 +-
recipe/meta.yaml | 2 +-
34 files changed, 649 insertions(+), 308 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/migrations/python314t.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/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/.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
====================
-
+
+ | GitHub Actions |
+
+
+
+
+ |
+
| Azure |
@@ -27,111 +34,6 @@ Current build status
| Variant | Status |
- | linux_64_python3.10.____cpython |
-
-
-
-
- |
-
- | linux_64_python3.11.____cpython |
-
-
-
-
- |
-
- | linux_64_python3.12.____cpython |
-
-
-
-
- |
-
- | linux_64_python3.13.____cp313 |
-
-
-
-
- |
-
- | linux_64_python3.14.____cp314 |
-
-
-
-
- |
-
- | linux_aarch64_python3.10.____cpython |
-
-
-
-
- |
-
- | linux_aarch64_python3.11.____cpython |
-
-
-
-
- |
-
- | linux_aarch64_python3.12.____cpython |
-
-
-
-
- |
-
- | linux_aarch64_python3.13.____cp313 |
-
-
-
-
- |
-
- | linux_aarch64_python3.14.____cp314 |
-
-
-
-
- |
-
- | linux_ppc64le_python3.10.____cpython |
-
-
-
-
- |
-
- | linux_ppc64le_python3.11.____cpython |
-
-
-
-
- |
-
- | linux_ppc64le_python3.12.____cpython |
-
-
-
-
- |
-
- | linux_ppc64le_python3.13.____cp313 |
-
-
-
-
- |
-
- | linux_ppc64le_python3.14.____cp314 |
-
-
-
-
- |
-
| osx_64_python3.10.____cpython |
@@ -167,73 +69,10 @@ Current build status
|
- | osx_arm64_python3.10.____cpython |
-
-
-
-
- |
-
- | osx_arm64_python3.11.____cpython |
-
-
-
-
- |
-
- | osx_arm64_python3.12.____cpython |
-
-
-
-
- |
-
- | osx_arm64_python3.13.____cp313 |
-
-
-
-
- |
-
- | osx_arm64_python3.14.____cp314 |
-
-
-
-
- |
-
- | win_64_python3.10.____cpython |
-
-
-
-
- |
-
- | win_64_python3.11.____cpython |
-
-
-
-
- |
-
- | win_64_python3.12.____cpython |
-
-
-
-
- |
-
- | win_64_python3.13.____cp313 |
+ osx_64_python3.14.____cp314t |
-
-
- |
-
- | win_64_python3.14.____cp314 |
-
-
-
+
|
@@ -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.")
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: