diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml
index 90be224..8c2d499 100755
--- a/.azure-pipelines/azure-pipelines-linux.yml
+++ b/.azure-pipelines/azure-pipelines-linux.yml
@@ -16,6 +16,10 @@ jobs:
CONFIG: linux_64_python3.11.____cpython
UPLOAD_PACKAGES: 'True'
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
+ linux_64_python3.12.____cpython:
+ CONFIG: linux_64_python3.12.____cpython
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
linux_64_python3.8.____cpython:
CONFIG: linux_64_python3.8.____cpython
UPLOAD_PACKAGES: 'True'
@@ -25,6 +29,7 @@ jobs:
UPLOAD_PACKAGES: 'True'
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
timeoutInMinutes: 360
+ variables: {}
steps:
# configure qemu binfmt-misc running. This allows us to run docker containers
@@ -37,6 +42,9 @@ jobs:
- script: |
export CI=azure
+ export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt)
+ export remote_url=$(Build.Repository.Uri)
+ export sha=$(Build.SourceVersion)
export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then
diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml
index 6ba8295..5e755a9 100755
--- a/.azure-pipelines/azure-pipelines-osx.yml
+++ b/.azure-pipelines/azure-pipelines-osx.yml
@@ -5,7 +5,7 @@
jobs:
- job: osx
pool:
- vmImage: macOS-11
+ vmImage: macOS-12
strategy:
matrix:
osx_64_python3.10.____cpython:
@@ -14,6 +14,9 @@ jobs:
osx_64_python3.11.____cpython:
CONFIG: osx_64_python3.11.____cpython
UPLOAD_PACKAGES: 'True'
+ osx_64_python3.12.____cpython:
+ CONFIG: osx_64_python3.12.____cpython
+ UPLOAD_PACKAGES: 'True'
osx_64_python3.8.____cpython:
CONFIG: osx_64_python3.8.____cpython
UPLOAD_PACKAGES: 'True'
@@ -21,11 +24,15 @@ jobs:
CONFIG: osx_64_python3.9.____cpython
UPLOAD_PACKAGES: 'True'
timeoutInMinutes: 360
+ variables: {}
steps:
# TODO: Fast finish on azure pipelines?
- script: |
export CI=azure
+ export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt)
+ export remote_url=$(Build.Repository.Uri)
+ export sha=$(Build.SourceVersion)
export OSX_FORCE_SDK_DOWNLOAD="1"
export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml
index b6303f1..833c571 100755
--- a/.azure-pipelines/azure-pipelines-win.yml
+++ b/.azure-pipelines/azure-pipelines-win.yml
@@ -14,6 +14,9 @@ jobs:
win_64_python3.11.____cpython:
CONFIG: win_64_python3.11.____cpython
UPLOAD_PACKAGES: 'True'
+ win_64_python3.12.____cpython:
+ CONFIG: win_64_python3.12.____cpython
+ UPLOAD_PACKAGES: 'True'
win_64_python3.8.____cpython:
CONFIG: win_64_python3.8.____cpython
UPLOAD_PACKAGES: 'True'
@@ -33,7 +36,7 @@ jobs:
scriptSource: inline
script: |
import urllib.request
- url = 'https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Windows-x86_64.exe'
+ url = 'https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Windows-x86_64.exe'
path = r"$(Build.ArtifactStagingDirectory)/Miniforge.exe"
urllib.request.urlretrieve(url, path)
@@ -51,6 +54,9 @@ jobs:
PYTHONUNBUFFERED: 1
CONFIG: $(CONFIG)
CI: azure
+ flow_run_id: azure_$(Build.BuildNumber).$(System.JobAttempt)
+ remote_url: $(Build.Repository.Uri)
+ sha: $(Build.SourceVersion)
UPLOAD_PACKAGES: $(UPLOAD_PACKAGES)
UPLOAD_TEMP: $(UPLOAD_TEMP)
BINSTAR_TOKEN: $(BINSTAR_TOKEN)
diff --git a/.ci_support/linux_64_python3.10.____cpython.yaml b/.ci_support/linux_64_python3.10.____cpython.yaml
index f7b223f..f09d86f 100644
--- a/.ci_support/linux_64_python3.10.____cpython.yaml
+++ b/.ci_support/linux_64_python3.10.____cpython.yaml
@@ -2,8 +2,12 @@ c_compiler:
- gcc
c_compiler_version:
- '12'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.17'
cdt_name:
-- cos6
+- cos7
channel_sources:
- conda-forge
channel_targets:
@@ -15,7 +19,7 @@ cxx_compiler_version:
docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
libboost_python_devel:
-- '1.82'
+- '1.84'
pin_run_as_build:
python:
min_pin: x.x
@@ -31,3 +35,5 @@ vtk:
zip_keys:
- - c_compiler_version
- cxx_compiler_version
+- - c_stdlib_version
+ - cdt_name
diff --git a/.ci_support/linux_64_python3.11.____cpython.yaml b/.ci_support/linux_64_python3.11.____cpython.yaml
index 5b1c50d..3cd61c7 100644
--- a/.ci_support/linux_64_python3.11.____cpython.yaml
+++ b/.ci_support/linux_64_python3.11.____cpython.yaml
@@ -2,8 +2,12 @@ c_compiler:
- gcc
c_compiler_version:
- '12'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.17'
cdt_name:
-- cos6
+- cos7
channel_sources:
- conda-forge
channel_targets:
@@ -15,7 +19,7 @@ cxx_compiler_version:
docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
libboost_python_devel:
-- '1.82'
+- '1.84'
pin_run_as_build:
python:
min_pin: x.x
@@ -31,3 +35,5 @@ vtk:
zip_keys:
- - c_compiler_version
- cxx_compiler_version
+- - c_stdlib_version
+ - cdt_name
diff --git a/.ci_support/linux_64_python3.12.____cpython.yaml b/.ci_support/linux_64_python3.12.____cpython.yaml
new file mode 100644
index 0000000..30e9d32
--- /dev/null
+++ b/.ci_support/linux_64_python3.12.____cpython.yaml
@@ -0,0 +1,39 @@
+c_compiler:
+- gcc
+c_compiler_version:
+- '12'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.17'
+cdt_name:
+- cos7
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- gxx
+cxx_compiler_version:
+- '12'
+docker_image:
+- quay.io/condaforge/linux-anvil-cos7-x86_64
+libboost_python_devel:
+- '1.84'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.12.* *_cpython
+target_platform:
+- linux-64
+tbb_devel:
+- '2021'
+vtk:
+- 9.2.6
+zip_keys:
+- - c_compiler_version
+ - cxx_compiler_version
+- - c_stdlib_version
+ - cdt_name
diff --git a/.ci_support/linux_64_python3.8.____cpython.yaml b/.ci_support/linux_64_python3.8.____cpython.yaml
index 78756ef..675b655 100644
--- a/.ci_support/linux_64_python3.8.____cpython.yaml
+++ b/.ci_support/linux_64_python3.8.____cpython.yaml
@@ -2,8 +2,12 @@ c_compiler:
- gcc
c_compiler_version:
- '12'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.17'
cdt_name:
-- cos6
+- cos7
channel_sources:
- conda-forge
channel_targets:
@@ -15,7 +19,7 @@ cxx_compiler_version:
docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
libboost_python_devel:
-- '1.82'
+- '1.84'
pin_run_as_build:
python:
min_pin: x.x
@@ -31,3 +35,5 @@ vtk:
zip_keys:
- - c_compiler_version
- cxx_compiler_version
+- - c_stdlib_version
+ - cdt_name
diff --git a/.ci_support/linux_64_python3.9.____cpython.yaml b/.ci_support/linux_64_python3.9.____cpython.yaml
index 7cdb980..5bb517d 100644
--- a/.ci_support/linux_64_python3.9.____cpython.yaml
+++ b/.ci_support/linux_64_python3.9.____cpython.yaml
@@ -2,8 +2,12 @@ c_compiler:
- gcc
c_compiler_version:
- '12'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.17'
cdt_name:
-- cos6
+- cos7
channel_sources:
- conda-forge
channel_targets:
@@ -15,7 +19,7 @@ cxx_compiler_version:
docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
libboost_python_devel:
-- '1.82'
+- '1.84'
pin_run_as_build:
python:
min_pin: x.x
@@ -31,3 +35,5 @@ vtk:
zip_keys:
- - c_compiler_version
- cxx_compiler_version
+- - c_stdlib_version
+ - cdt_name
diff --git a/.ci_support/migrations/boost_cpp_to_libboost.yaml b/.ci_support/migrations/boost_cpp_to_libboost.yaml
deleted file mode 100644
index d4da41e..0000000
--- a/.ci_support/migrations/boost_cpp_to_libboost.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-migrator_ts: 1695775149
-__migrator:
- kind: version
- migration_number: 1
- bump_number: 1
- commit_message: "Rebuild for libboost 1.82"
- # limit the number of prs for ramp-up
- pr_limit: 20
- max_solver_attempts: 3 # this will make the bot retry "not solvable" stuff 3 times
-libboost_devel:
- - 1.82
-# This migration is matched with a piggy-back migrator
-# (see https://github.com/regro/cf-scripts/pull/1668)
-# that will replace boost-cpp with libboost-devel
-boost_cpp:
- - 1.82
-# same for boost -> libboost-python-devel
-libboost_python_devel:
- - 1.82
-boost:
- - 1.82
diff --git a/.ci_support/osx_64_python3.10.____cpython.yaml b/.ci_support/osx_64_python3.10.____cpython.yaml
index b46a08a..c375b08 100644
--- a/.ci_support/osx_64_python3.10.____cpython.yaml
+++ b/.ci_support/osx_64_python3.10.____cpython.yaml
@@ -1,9 +1,15 @@
MACOSX_DEPLOYMENT_TARGET:
-- '10.9'
+- '10.13'
+MACOSX_SDK_VERSION:
+- '10.13'
c_compiler:
- clang
c_compiler_version:
- '16'
+c_stdlib:
+- macosx_deployment_target
+c_stdlib_version:
+- '10.13'
channel_sources:
- conda-forge
channel_targets:
@@ -13,7 +19,7 @@ cxx_compiler:
cxx_compiler_version:
- '16'
libboost_python_devel:
-- '1.82'
+- '1.84'
macos_machine:
- x86_64-apple-darwin13.4.0
pin_run_as_build:
diff --git a/.ci_support/osx_64_python3.11.____cpython.yaml b/.ci_support/osx_64_python3.11.____cpython.yaml
index 71d9b9d..0981f77 100644
--- a/.ci_support/osx_64_python3.11.____cpython.yaml
+++ b/.ci_support/osx_64_python3.11.____cpython.yaml
@@ -1,9 +1,15 @@
MACOSX_DEPLOYMENT_TARGET:
-- '10.9'
+- '10.13'
+MACOSX_SDK_VERSION:
+- '10.13'
c_compiler:
- clang
c_compiler_version:
- '16'
+c_stdlib:
+- macosx_deployment_target
+c_stdlib_version:
+- '10.13'
channel_sources:
- conda-forge
channel_targets:
@@ -13,7 +19,7 @@ cxx_compiler:
cxx_compiler_version:
- '16'
libboost_python_devel:
-- '1.82'
+- '1.84'
macos_machine:
- x86_64-apple-darwin13.4.0
pin_run_as_build:
diff --git a/.ci_support/osx_64_python3.12.____cpython.yaml b/.ci_support/osx_64_python3.12.____cpython.yaml
new file mode 100644
index 0000000..1e46db3
--- /dev/null
+++ b/.ci_support/osx_64_python3.12.____cpython.yaml
@@ -0,0 +1,39 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '10.13'
+MACOSX_SDK_VERSION:
+- '10.13'
+c_compiler:
+- clang
+c_compiler_version:
+- '16'
+c_stdlib:
+- macosx_deployment_target
+c_stdlib_version:
+- '10.13'
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- clangxx
+cxx_compiler_version:
+- '16'
+libboost_python_devel:
+- '1.84'
+macos_machine:
+- x86_64-apple-darwin13.4.0
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.12.* *_cpython
+target_platform:
+- osx-64
+tbb_devel:
+- '2021'
+vtk:
+- 9.2.6
+zip_keys:
+- - c_compiler_version
+ - cxx_compiler_version
diff --git a/.ci_support/osx_64_python3.8.____cpython.yaml b/.ci_support/osx_64_python3.8.____cpython.yaml
index 8978c7b..4437d26 100644
--- a/.ci_support/osx_64_python3.8.____cpython.yaml
+++ b/.ci_support/osx_64_python3.8.____cpython.yaml
@@ -1,9 +1,15 @@
MACOSX_DEPLOYMENT_TARGET:
-- '10.9'
+- '10.13'
+MACOSX_SDK_VERSION:
+- '10.13'
c_compiler:
- clang
c_compiler_version:
- '16'
+c_stdlib:
+- macosx_deployment_target
+c_stdlib_version:
+- '10.13'
channel_sources:
- conda-forge
channel_targets:
@@ -13,7 +19,7 @@ cxx_compiler:
cxx_compiler_version:
- '16'
libboost_python_devel:
-- '1.82'
+- '1.84'
macos_machine:
- x86_64-apple-darwin13.4.0
pin_run_as_build:
diff --git a/.ci_support/osx_64_python3.9.____cpython.yaml b/.ci_support/osx_64_python3.9.____cpython.yaml
index 1c10885..59048a4 100644
--- a/.ci_support/osx_64_python3.9.____cpython.yaml
+++ b/.ci_support/osx_64_python3.9.____cpython.yaml
@@ -1,9 +1,15 @@
MACOSX_DEPLOYMENT_TARGET:
-- '10.9'
+- '10.13'
+MACOSX_SDK_VERSION:
+- '10.13'
c_compiler:
- clang
c_compiler_version:
- '16'
+c_stdlib:
+- macosx_deployment_target
+c_stdlib_version:
+- '10.13'
channel_sources:
- conda-forge
channel_targets:
@@ -13,7 +19,7 @@ cxx_compiler:
cxx_compiler_version:
- '16'
libboost_python_devel:
-- '1.82'
+- '1.84'
macos_machine:
- x86_64-apple-darwin13.4.0
pin_run_as_build:
diff --git a/.ci_support/win_64_python3.10.____cpython.yaml b/.ci_support/win_64_python3.10.____cpython.yaml
index cc72e48..c2694c7 100644
--- a/.ci_support/win_64_python3.10.____cpython.yaml
+++ b/.ci_support/win_64_python3.10.____cpython.yaml
@@ -1,5 +1,7 @@
c_compiler:
- vs2019
+c_stdlib:
+- vs
channel_sources:
- conda-forge
channel_targets:
diff --git a/.ci_support/win_64_python3.11.____cpython.yaml b/.ci_support/win_64_python3.11.____cpython.yaml
index 48a6ccb..a5c9c31 100644
--- a/.ci_support/win_64_python3.11.____cpython.yaml
+++ b/.ci_support/win_64_python3.11.____cpython.yaml
@@ -1,5 +1,7 @@
c_compiler:
- vs2019
+c_stdlib:
+- vs
channel_sources:
- conda-forge
channel_targets:
diff --git a/.ci_support/win_64_python3.12.____cpython.yaml b/.ci_support/win_64_python3.12.____cpython.yaml
new file mode 100644
index 0000000..570a3cb
--- /dev/null
+++ b/.ci_support/win_64_python3.12.____cpython.yaml
@@ -0,0 +1,22 @@
+c_compiler:
+- vs2019
+c_stdlib:
+- vs
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- vs2019
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.12.* *_cpython
+target_platform:
+- win-64
+tbb_devel:
+- '2021'
+vtk:
+- 9.2.6
diff --git a/.ci_support/win_64_python3.8.____cpython.yaml b/.ci_support/win_64_python3.8.____cpython.yaml
index d2e6a74..82590a1 100644
--- a/.ci_support/win_64_python3.8.____cpython.yaml
+++ b/.ci_support/win_64_python3.8.____cpython.yaml
@@ -1,5 +1,7 @@
c_compiler:
- vs2019
+c_stdlib:
+- vs
channel_sources:
- conda-forge
channel_targets:
diff --git a/.ci_support/win_64_python3.9.____cpython.yaml b/.ci_support/win_64_python3.9.____cpython.yaml
index 141e8e0..21b813e 100644
--- a/.ci_support/win_64_python3.9.____cpython.yaml
+++ b/.ci_support/win_64_python3.9.____cpython.yaml
@@ -1,5 +1,7 @@
c_compiler:
- vs2019
+c_stdlib:
+- vs
channel_sources:
- conda-forge
channel_targets:
diff --git a/.gitattributes b/.gitattributes
index 7f32763..18f114a 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -20,8 +20,8 @@ bld.bat text eol=crlf
.travis.yml linguist-generated=true
.scripts/* linguist-generated=true
.woodpecker.yml linguist-generated=true
-LICENSE.txt linguist-generated=true
-README.md linguist-generated=true
+/LICENSE.txt linguist-generated=true
+/README.md linguist-generated=true
azure-pipelines.yml linguist-generated=true
build-locally.py linguist-generated=true
shippable.yml linguist-generated=true
diff --git a/.gitignore b/.gitignore
index c89ecb7..179afe5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,24 @@
-*.pyc
+# User content belongs under recipe/.
+# Feedstock configuration goes in `conda-forge.yml`
+# Everything else is managed by the conda-smithy rerender process.
+# Please do not modify
+
+# Ignore all files and folders in root
+*
+!/conda-forge.yml
+
+# Don't ignore any files/folders if the parent folder is 'un-ignored'
+# This also avoids warnings when adding an already-checked file with an ignored parent.
+!/**/
+# Don't ignore any files/folders recursively in the following folders
+!/recipe/**
+!/.ci_support/**
-build_artifacts
+# Since we ignore files/folders recursively, any folders inside
+# build_artifacts gets ignored which trips some build systems.
+# To avoid that we 'un-ignore' all files/folders recursively
+# and only ignore the root build_artifacts folder.
+!/build_artifacts/**
+/build_artifacts
+
+*.pyc
diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh
index b206c50..67b48ac 100755
--- a/.scripts/build_steps.sh
+++ b/.scripts/build_steps.sh
@@ -28,19 +28,27 @@ conda-build:
pkgs_dirs:
- ${FEEDSTOCK_ROOT}/build_artifacts/pkg_cache
- /opt/conda/pkgs
+solver: libmamba
CONDARC
+export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1
mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \
- pip mamba conda-build boa conda-forge-ci-setup=3
+ pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1"
mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \
- pip mamba conda-build boa conda-forge-ci-setup=3
+ pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1"
# set up the condarc
setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
source run_conda_forge_build_setup
+(
+# Due to https://bugzilla.redhat.com/show_bug.cgi?id=1537564 old versions of rpm
+# are drastically slowed down when the number of file descriptors is very high.
+# This can be visible during a `yum install` step of a feedstock build.
+# => Set a lower limit in a subshell for the `yum install`s only.
+ulimit -n 1024
# Install the yum requirements defined canonically in the
# "recipe/yum_requirements.txt" file. After updating that file,
@@ -49,7 +57,8 @@ source run_conda_forge_build_setup
/usr/bin/sudo -n yum install -y mesa-libGL mesa-dri-drivers libselinux libXdamage libXxf86vm libXext libXt-devel mesa-libGLU-devel xorg-x11-server-Xvfb
-# make the build number clobber
+
+)# make the build number clobber
make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
@@ -71,9 +80,16 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then
# Drop into an interactive shell
/bin/bash
else
- conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \
+ conda-build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \
--suppress-variables ${EXTRA_CB_OPTIONS:-} \
- --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml"
+ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \
+ --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}"
+ ( startgroup "Inspecting artifacts" ) 2> /dev/null
+
+ # inspect_artifacts was only added in conda-forge-ci-setup 4.6.0
+ command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0"
+
+ ( endgroup "Inspecting artifacts" ) 2> /dev/null
( startgroup "Validating outputs" ) 2> /dev/null
validate_recipe_outputs "${FEEDSTOCK_NAME}"
diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh
index 9236239..00f377a 100755
--- a/.scripts/run_docker_build.sh
+++ b/.scripts/run_docker_build.sh
@@ -21,6 +21,12 @@ if [ -z ${FEEDSTOCK_NAME} ]; then
export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT})
fi
+if [[ "${sha:-}" == "" ]]; then
+ pushd "${FEEDSTOCK_ROOT}"
+ sha=$(git rev-parse HEAD)
+ popd
+fi
+
docker info
# In order for the conda-build process in the container to write to the mounted
@@ -91,6 +97,9 @@ docker run ${DOCKER_RUN_ARGS} \
-e CPU_COUNT \
-e BUILD_WITH_CONDA_DEBUG \
-e BUILD_OUTPUT_ID \
+ -e flow_run_id \
+ -e remote_url \
+ -e sha \
-e BINSTAR_TOKEN \
-e FEEDSTOCK_TOKEN \
-e STAGING_BINSTAR_TOKEN \
diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh
index 4758f0d..4ebc38f 100755
--- a/.scripts/run_osx_build.sh
+++ b/.scripts/run_osx_build.sh
@@ -11,7 +11,7 @@ MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3}
( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null
MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download"
-MINIFORGE_FILE="Mambaforge-MacOSX-$(uname -m).sh"
+MINIFORGE_FILE="Miniforge3-MacOSX-$(uname -m).sh"
curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}"
rm -rf ${MINIFORGE_HOME}
bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME}
@@ -22,11 +22,13 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME}
source ${MINIFORGE_HOME}/etc/profile.d/conda.sh
conda activate base
+export CONDA_SOLVER="libmamba"
+export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1
mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \
- pip mamba conda-build boa conda-forge-ci-setup=3
+ pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1"
mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \
- pip mamba conda-build boa conda-forge-ci-setup=3
+ pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1"
@@ -45,6 +47,10 @@ else
echo -e "\n\nNot mangling homebrew as we are not running in CI"
fi
+if [[ "${sha:-}" == "" ]]; then
+ sha=$(git rev-parse HEAD)
+fi
+
echo -e "\n\nRunning the build setup script."
source run_conda_forge_build_setup
@@ -71,9 +77,17 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then
/bin/bash
else
- conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \
+ conda-build ./recipe -m ./.ci_support/${CONFIG}.yaml \
--suppress-variables ${EXTRA_CB_OPTIONS:-} \
- --clobber-file ./.ci_support/clobber_${CONFIG}.yaml
+ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \
+ --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha"
+
+ ( startgroup "Inspecting artifacts" ) 2> /dev/null
+
+ # inspect_artifacts was only added in conda-forge-ci-setup 4.6.0
+ command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0"
+
+ ( endgroup "Inspecting artifacts" ) 2> /dev/null
( startgroup "Validating outputs" ) 2> /dev/null
validate_recipe_outputs "${FEEDSTOCK_NAME}"
diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat
index c4486d9..24ef201 100755
--- a/.scripts/run_win_build.bat
+++ b/.scripts/run_win_build.bat
@@ -17,10 +17,14 @@ call :start_group "Configuring conda"
:: Activate the base conda environment
call activate base
+:: Configure the solver
+set "CONDA_SOLVER=libmamba"
+if !errorlevel! neq 0 exit /b !errorlevel!
+set "CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1"
:: Provision the necessary dependencies to build the recipe later
echo Installing dependencies
-mamba.exe install "python=3.10" pip mamba conda-build boa conda-forge-ci-setup=3 -c conda-forge --strict-channel-priority --yes
+mamba.exe install "python=3.10" pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" -c conda-forge --strict-channel-priority --yes
if !errorlevel! neq 0 exit /b !errorlevel!
:: Set basic configuration
@@ -38,13 +42,22 @@ if EXIST LICENSE.txt (
copy LICENSE.txt "recipe\\recipe-scripts-license.txt"
)
+if NOT [%flow_run_id%] == [] (
+ set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% remote_url=%remote_url% sha=%sha%"
+)
+
call :end_group
:: Build the recipe
echo Building recipe
-conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS%
+conda-build.exe "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS%
if !errorlevel! neq 0 exit /b !errorlevel!
+call :start_group "Inspecting artifacts"
+:: inspect_artifacts was only added in conda-forge-ci-setup 4.6.0
+WHERE inspect_artifacts >nul 2>nul && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0"
+call :end_group
+
:: Prepare some environment variables for the upload step
if /i "%CI%" == "github_actions" (
set "FEEDSTOCK_NAME=%GITHUB_REPOSITORY:*/=%"
diff --git a/README.md b/README.md
index a9e7f34..395744d 100644
--- a/README.md
+++ b/README.md
@@ -47,6 +47,13 @@ Current build status
+