diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml
new file mode 100755
index 00000000..42dadc95
--- /dev/null
+++ b/.azure-pipelines/azure-pipelines-linux.yml
@@ -0,0 +1,44 @@
+# 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: linux
+ pool:
+ vmImage: ubuntu-latest
+ strategy:
+ matrix:
+ linux_ppc64le_:
+ CONFIG: linux_ppc64le_
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le:alma9
+ timeoutInMinutes: 360
+ variables: {}
+
+ steps:
+ # configure qemu binfmt-misc running. This allows us to run docker containers
+ # embedded qemu-static
+ - script: |
+ docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes
+ ls /proc/sys/fs/binfmt_misc/
+ condition: not(startsWith(variables['CONFIG'], 'linux_64'))
+ displayName: Configure binfmt_misc
+
+ - 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
+ export IS_PR_BUILD="True"
+ else
+ export IS_PR_BUILD="False"
+ fi
+ .scripts/run_docker_build.sh
+ displayName: Run docker build
+ env:
+ BINSTAR_TOKEN: $(BINSTAR_TOKEN)
+ FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN)
+ STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN)
diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml
new file mode 100644
index 00000000..7b3dfc0a
--- /dev/null
+++ b/.ci_support/linux_ppc64le_.yaml
@@ -0,0 +1,31 @@
+c_compiler:
+- gcc
+c_compiler_version:
+- '14'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.28'
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- gxx
+cxx_compiler_version:
+- '14'
+docker_image:
+- quay.io/condaforge/linux-anvil-ppc64le:alma9
+github_actions_labels:
+- cirun-openstack-cpu-large
+icu:
+- '75'
+openssl:
+- '3.5'
+target_platform:
+- linux-ppc64le
+zip_keys:
+- - c_compiler_version
+ - cxx_compiler_version
+zlib:
+- '1'
diff --git a/.ci_support/migrations/brotli12.yaml b/.ci_support/migrations/brotli12.yaml
deleted file mode 100644
index bfc19e1e..00000000
--- a/.ci_support/migrations/brotli12.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-__migrator:
- build_number: 1
- commit_message: Rebuild for brotli 1.2
- kind: version
- migration_number: 1
-brotli:
-- '1.2'
-libbrotlicommon:
-- '1.2'
-libbrotlidec:
-- '1.2'
-libbrotlienc:
-- '1.2'
-migrator_ts: 1761598392.2337856
diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh
index f2fcf855..463cbc88 100755
--- a/.scripts/run_osx_build.sh
+++ b/.scripts/run_osx_build.sh
@@ -53,6 +53,25 @@ if [[ "${sha:-}" == "" ]]; then
sha=$(git rev-parse HEAD)
fi
+if [[ "${OSX_SDK_DIR:-}" == "" ]]; then
+ if [[ "${CI:-}" == "" ]]; then
+ echo "Please set OSX_SDK_DIR to a directory where SDKs can be downloaded to. Aborting"
+ exit 1
+ else
+ export OSX_SDK_DIR=/opt/conda-sdks
+ /usr/bin/sudo mkdir -p "${OSX_SDK_DIR}"
+ /usr/bin/sudo chown "${USER}" "${OSX_SDK_DIR}"
+ fi
+else
+ if tmpf=$(mktemp -p "$OSX_SDK_DIR" tmp.XXXXXXXX 2>/dev/null); then
+ rm -f "$tmpf"
+ echo "OSX_SDK_DIR is writeable without sudo, continuing"
+ else
+ echo "User-provided OSX_SDK_DIR is not writeable for current user! Aborting"
+ exit 1
+ fi
+fi
+
echo -e "\n\nRunning the build setup script."
source run_conda_forge_build_setup
diff --git a/README.md b/README.md
index ed7473a4..7d2d3242 100644
--- a/README.md
+++ b/README.md
@@ -42,6 +42,13 @@ Current build status
+