diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml
index f4b2a11..025660f 100755
--- a/.azure-pipelines/azure-pipelines-linux.yml
+++ b/.azure-pipelines/azure-pipelines-linux.yml
@@ -33,6 +33,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
@@ -45,6 +46,9 @@ jobs:
- script: |
export CI=azure
+ export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt)
+ export remote_url=$(Build.Repository.Uri)
+ export sha=$(Build.SourceVersion)
export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then
diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml
index eb90abb..4141e1a 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:
@@ -26,12 +26,31 @@ jobs:
osx_64_python3.9.____cpython:
CONFIG: osx_64_python3.9.____cpython
UPLOAD_PACKAGES: 'True'
+ osx_arm64_python3.10.____cpython:
+ CONFIG: osx_arm64_python3.10.____cpython
+ UPLOAD_PACKAGES: 'True'
+ osx_arm64_python3.11.____cpython:
+ CONFIG: osx_arm64_python3.11.____cpython
+ UPLOAD_PACKAGES: 'True'
+ osx_arm64_python3.12.____cpython:
+ CONFIG: osx_arm64_python3.12.____cpython
+ UPLOAD_PACKAGES: 'True'
+ osx_arm64_python3.8.____cpython:
+ CONFIG: osx_arm64_python3.8.____cpython
+ UPLOAD_PACKAGES: 'True'
+ osx_arm64_python3.9.____cpython:
+ CONFIG: osx_arm64_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 752cc4d..f09740f 100755
--- a/.azure-pipelines/azure-pipelines-win.yml
+++ b/.azure-pipelines/azure-pipelines-win.yml
@@ -57,6 +57,9 @@ jobs:
PYTHONUNBUFFERED: 1
CONFIG: $(CONFIG)
CI: azure
+ flow_run_id: azure_$(Build.BuildNumber).$(System.JobAttempt)
+ remote_url: $(Build.Repository.Uri)
+ sha: $(Build.SourceVersion)
UPLOAD_PACKAGES: $(UPLOAD_PACKAGES)
UPLOAD_TEMP: $(UPLOAD_TEMP)
BINSTAR_TOKEN: $(BINSTAR_TOKEN)
diff --git a/.ci_support/linux_64_python3.10.____cpython.yaml b/.ci_support/linux_64_python3.10.____cpython.yaml
index 9d50e53..84cccee 100644
--- a/.ci_support/linux_64_python3.10.____cpython.yaml
+++ b/.ci_support/linux_64_python3.10.____cpython.yaml
@@ -14,6 +14,3 @@ python:
- 3.10.* *_cpython
target_platform:
- linux-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/linux_64_python3.11.____cpython.yaml b/.ci_support/linux_64_python3.11.____cpython.yaml
index 68f6ddb..66befba 100644
--- a/.ci_support/linux_64_python3.11.____cpython.yaml
+++ b/.ci_support/linux_64_python3.11.____cpython.yaml
@@ -14,6 +14,3 @@ python:
- 3.11.* *_cpython
target_platform:
- linux-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/linux_64_python3.12.____cpython.yaml b/.ci_support/linux_64_python3.12.____cpython.yaml
index bd97fe9..11a059d 100644
--- a/.ci_support/linux_64_python3.12.____cpython.yaml
+++ b/.ci_support/linux_64_python3.12.____cpython.yaml
@@ -1,7 +1,7 @@
cdt_name:
- cos6
channel_sources:
-- conda-forge/label/python_rc,conda-forge
+- conda-forge
channel_targets:
- conda-forge main
docker_image:
@@ -14,6 +14,3 @@ python:
- 3.12.* *_cpython
target_platform:
- linux-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/linux_64_python3.8.____cpython.yaml b/.ci_support/linux_64_python3.8.____cpython.yaml
index ea19c65..7b5ae5c 100644
--- a/.ci_support/linux_64_python3.8.____cpython.yaml
+++ b/.ci_support/linux_64_python3.8.____cpython.yaml
@@ -14,6 +14,3 @@ python:
- 3.8.* *_cpython
target_platform:
- linux-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/linux_64_python3.9.____73_pypy.yaml b/.ci_support/linux_64_python3.9.____73_pypy.yaml
index abd9c97..b3364bb 100644
--- a/.ci_support/linux_64_python3.9.____73_pypy.yaml
+++ b/.ci_support/linux_64_python3.9.____73_pypy.yaml
@@ -14,6 +14,3 @@ python:
- 3.9.* *_73_pypy
target_platform:
- linux-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/linux_64_python3.9.____cpython.yaml b/.ci_support/linux_64_python3.9.____cpython.yaml
index 89ab107..50d8196 100644
--- a/.ci_support/linux_64_python3.9.____cpython.yaml
+++ b/.ci_support/linux_64_python3.9.____cpython.yaml
@@ -14,6 +14,3 @@ python:
- 3.9.* *_cpython
target_platform:
- linux-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/osx_64_python3.10.____cpython.yaml b/.ci_support/osx_64_python3.10.____cpython.yaml
index 33b193b..d22b8bb 100644
--- a/.ci_support/osx_64_python3.10.____cpython.yaml
+++ b/.ci_support/osx_64_python3.10.____cpython.yaml
@@ -1,5 +1,7 @@
MACOSX_DEPLOYMENT_TARGET:
-- '10.9'
+- '10.13'
+MACOSX_SDK_VERSION:
+- '10.13'
channel_sources:
- conda-forge
channel_targets:
@@ -14,6 +16,3 @@ python:
- 3.10.* *_cpython
target_platform:
- osx-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/osx_64_python3.11.____cpython.yaml b/.ci_support/osx_64_python3.11.____cpython.yaml
index 4dd449b..78f206f 100644
--- a/.ci_support/osx_64_python3.11.____cpython.yaml
+++ b/.ci_support/osx_64_python3.11.____cpython.yaml
@@ -1,5 +1,7 @@
MACOSX_DEPLOYMENT_TARGET:
-- '10.9'
+- '10.13'
+MACOSX_SDK_VERSION:
+- '10.13'
channel_sources:
- conda-forge
channel_targets:
@@ -14,6 +16,3 @@ python:
- 3.11.* *_cpython
target_platform:
- osx-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/osx_64_python3.12.____cpython.yaml b/.ci_support/osx_64_python3.12.____cpython.yaml
index 462f864..b33e79c 100644
--- a/.ci_support/osx_64_python3.12.____cpython.yaml
+++ b/.ci_support/osx_64_python3.12.____cpython.yaml
@@ -1,7 +1,9 @@
MACOSX_DEPLOYMENT_TARGET:
-- '10.9'
+- '10.13'
+MACOSX_SDK_VERSION:
+- '10.13'
channel_sources:
-- conda-forge/label/python_rc,conda-forge
+- conda-forge
channel_targets:
- conda-forge main
macos_machine:
@@ -14,6 +16,3 @@ python:
- 3.12.* *_cpython
target_platform:
- osx-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/osx_64_python3.8.____cpython.yaml b/.ci_support/osx_64_python3.8.____cpython.yaml
index 2b1be65..1b46590 100644
--- a/.ci_support/osx_64_python3.8.____cpython.yaml
+++ b/.ci_support/osx_64_python3.8.____cpython.yaml
@@ -1,5 +1,7 @@
MACOSX_DEPLOYMENT_TARGET:
-- '10.9'
+- '10.13'
+MACOSX_SDK_VERSION:
+- '10.13'
channel_sources:
- conda-forge
channel_targets:
@@ -14,6 +16,3 @@ python:
- 3.8.* *_cpython
target_platform:
- osx-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/osx_64_python3.9.____73_pypy.yaml b/.ci_support/osx_64_python3.9.____73_pypy.yaml
index 2ece960..cc6d0de 100644
--- a/.ci_support/osx_64_python3.9.____73_pypy.yaml
+++ b/.ci_support/osx_64_python3.9.____73_pypy.yaml
@@ -1,5 +1,7 @@
MACOSX_DEPLOYMENT_TARGET:
-- '10.9'
+- '10.13'
+MACOSX_SDK_VERSION:
+- '10.13'
channel_sources:
- conda-forge
channel_targets:
@@ -14,6 +16,3 @@ python:
- 3.9.* *_73_pypy
target_platform:
- osx-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/osx_64_python3.9.____cpython.yaml b/.ci_support/osx_64_python3.9.____cpython.yaml
index af0a031..b15fd4f 100644
--- a/.ci_support/osx_64_python3.9.____cpython.yaml
+++ b/.ci_support/osx_64_python3.9.____cpython.yaml
@@ -1,5 +1,7 @@
MACOSX_DEPLOYMENT_TARGET:
-- '10.9'
+- '10.13'
+MACOSX_SDK_VERSION:
+- '10.13'
channel_sources:
- conda-forge
channel_targets:
@@ -14,6 +16,3 @@ python:
- 3.9.* *_cpython
target_platform:
- osx-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/osx_arm64_python3.10.____cpython.yaml b/.ci_support/osx_arm64_python3.10.____cpython.yaml
new file mode 100644
index 0000000..4e4a335
--- /dev/null
+++ b/.ci_support/osx_arm64_python3.10.____cpython.yaml
@@ -0,0 +1,18 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '11.0'
+MACOSX_SDK_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.10.* *_cpython
+target_platform:
+- osx-arm64
diff --git a/.ci_support/osx_arm64_python3.11.____cpython.yaml b/.ci_support/osx_arm64_python3.11.____cpython.yaml
new file mode 100644
index 0000000..ca1b39a
--- /dev/null
+++ b/.ci_support/osx_arm64_python3.11.____cpython.yaml
@@ -0,0 +1,18 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '11.0'
+MACOSX_SDK_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.11.* *_cpython
+target_platform:
+- osx-arm64
diff --git a/.ci_support/osx_arm64_python3.12.____cpython.yaml b/.ci_support/osx_arm64_python3.12.____cpython.yaml
new file mode 100644
index 0000000..320faf2
--- /dev/null
+++ b/.ci_support/osx_arm64_python3.12.____cpython.yaml
@@ -0,0 +1,18 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '11.0'
+MACOSX_SDK_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.12.* *_cpython
+target_platform:
+- osx-arm64
diff --git a/.ci_support/osx_arm64_python3.8.____cpython.yaml b/.ci_support/osx_arm64_python3.8.____cpython.yaml
new file mode 100644
index 0000000..52adba5
--- /dev/null
+++ b/.ci_support/osx_arm64_python3.8.____cpython.yaml
@@ -0,0 +1,18 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '11.0'
+MACOSX_SDK_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.8.* *_cpython
+target_platform:
+- osx-arm64
diff --git a/.ci_support/osx_arm64_python3.9.____cpython.yaml b/.ci_support/osx_arm64_python3.9.____cpython.yaml
new file mode 100644
index 0000000..1621d05
--- /dev/null
+++ b/.ci_support/osx_arm64_python3.9.____cpython.yaml
@@ -0,0 +1,18 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '11.0'
+MACOSX_SDK_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.9.* *_cpython
+target_platform:
+- osx-arm64
diff --git a/.ci_support/win_64_python3.10.____cpython.yaml b/.ci_support/win_64_python3.10.____cpython.yaml
index 0ef1251..d30d308 100644
--- a/.ci_support/win_64_python3.10.____cpython.yaml
+++ b/.ci_support/win_64_python3.10.____cpython.yaml
@@ -10,6 +10,3 @@ python:
- 3.10.* *_cpython
target_platform:
- win-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/win_64_python3.11.____cpython.yaml b/.ci_support/win_64_python3.11.____cpython.yaml
index a2a26ef..05291b6 100644
--- a/.ci_support/win_64_python3.11.____cpython.yaml
+++ b/.ci_support/win_64_python3.11.____cpython.yaml
@@ -10,6 +10,3 @@ python:
- 3.11.* *_cpython
target_platform:
- win-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/win_64_python3.12.____cpython.yaml b/.ci_support/win_64_python3.12.____cpython.yaml
index b91eb58..fdaa043 100644
--- a/.ci_support/win_64_python3.12.____cpython.yaml
+++ b/.ci_support/win_64_python3.12.____cpython.yaml
@@ -1,5 +1,5 @@
channel_sources:
-- conda-forge/label/python_rc,conda-forge
+- conda-forge
channel_targets:
- conda-forge main
pin_run_as_build:
@@ -10,6 +10,3 @@ python:
- 3.12.* *_cpython
target_platform:
- win-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/win_64_python3.8.____cpython.yaml b/.ci_support/win_64_python3.8.____cpython.yaml
index 8dd422f..4f0d022 100644
--- a/.ci_support/win_64_python3.8.____cpython.yaml
+++ b/.ci_support/win_64_python3.8.____cpython.yaml
@@ -10,6 +10,3 @@ python:
- 3.8.* *_cpython
target_platform:
- win-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/win_64_python3.9.____73_pypy.yaml b/.ci_support/win_64_python3.9.____73_pypy.yaml
index b37259a..205b9e8 100644
--- a/.ci_support/win_64_python3.9.____73_pypy.yaml
+++ b/.ci_support/win_64_python3.9.____73_pypy.yaml
@@ -10,6 +10,3 @@ python:
- 3.9.* *_73_pypy
target_platform:
- win-64
-zip_keys:
-- - python
- - channel_sources
diff --git a/.ci_support/win_64_python3.9.____cpython.yaml b/.ci_support/win_64_python3.9.____cpython.yaml
index 62d013f..53204fb 100644
--- a/.ci_support/win_64_python3.9.____cpython.yaml
+++ b/.ci_support/win_64_python3.9.____cpython.yaml
@@ -10,6 +10,3 @@ python:
- 3.9.* *_cpython
target_platform:
- win-64
-zip_keys:
-- - python
- - channel_sources
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 438ed2b..a5836e8 100755
--- a/.scripts/build_steps.sh
+++ b/.scripts/build_steps.sh
@@ -28,13 +28,15 @@ conda-build:
pkgs_dirs:
- ${FEEDSTOCK_ROOT}/build_artifacts/pkg_cache
- /opt/conda/pkgs
+solver: libmamba
CONDARC
+export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1
mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \
- pip mamba conda-build boa conda-forge-ci-setup=3
+ pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1"
mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \
- pip mamba conda-build boa conda-forge-ci-setup
+ pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1"
# set up the condarc
setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
@@ -44,6 +46,9 @@ source run_conda_forge_build_setup
# make the build number clobber
make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
+if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]] && [[ "${HOST_PLATFORM}" != linux-* ]] && [[ "${BUILD_WITH_CONDA_DEBUG:-0}" != 1 ]]; then
+ EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test"
+fi
( endgroup "Configuring conda" ) 2> /dev/null
@@ -63,9 +68,17 @@ 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 0f0ee70..ba0c879 100755
--- a/.scripts/run_osx_build.sh
+++ b/.scripts/run_osx_build.sh
@@ -22,11 +22,13 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME}
source ${MINIFORGE_HOME}/etc/profile.d/conda.sh
conda activate base
+export CONDA_SOLVER="libmamba"
+export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1
mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \
- pip mamba conda-build boa conda-forge-ci-setup=3
+ pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1"
mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \
- pip mamba conda-build boa conda-forge-ci-setup
+ pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1"
@@ -45,6 +47,10 @@ else
echo -e "\n\nNot mangling homebrew as we are not running in CI"
fi
+if [[ "${sha:-}" == "" ]]; then
+ sha=$(git rev-parse HEAD)
+fi
+
echo -e "\n\nRunning the build setup script."
source run_conda_forge_build_setup
@@ -71,9 +77,21 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then
/bin/bash
else
- conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \
+ if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then
+ EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test"
+ fi
+
+ 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..65650bf 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
@@ -37,14 +41,28 @@ if EXIST LICENSE.txt (
echo Copying feedstock license
copy LICENSE.txt "recipe\\recipe-scripts-license.txt"
)
+if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] (
+ if [%CROSSCOMPILING_EMULATOR%] == [] (
+ set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test"
+ )
+)
+
+if NOT [%flow_run_id%] == [] (
+ set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% remote_url=%remote_url% sha=%sha%"
+)
call :end_group
:: Build the recipe
echo Building recipe
-conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS%
+conda-build.exe "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS%
if !errorlevel! neq 0 exit /b !errorlevel!
+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 5417868..ec8e97c 100644
--- a/README.md
+++ b/README.md
@@ -120,6 +120,41 @@ Current build status
+