diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml
old mode 100755
new mode 100644
index 0f510abf6..39da221da
--- a/.azure-pipelines/azure-pipelines-osx.yml
+++ b/.azure-pipelines/azure-pipelines-osx.yml
@@ -13,32 +13,38 @@ jobs:
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: true
tools_install_dir: ~/miniforge3
- SHORT_CONFIG: osx_64_
+ CONFIG_SHORT: osx_64_
osx_arm64_:
CONFIG: osx_arm64_
UPLOAD_PACKAGES: 'True'
VMIMAGE: macOS-15-arm64
build_workspace_dir: ~/miniforge3/conda-bld
+ free_disk_space: skip
+ pagefile_size: 0
+ resize_partitions: false
store_build_artifacts: true
tools_install_dir: ~/miniforge3
- SHORT_CONFIG: osx_arm64_
+ CONFIG_SHORT: osx_arm64_
timeoutInMinutes: 360
variables: {}
steps:
# TODO: Fast finish on azure pipelines?
- script: |
- export MINIFORGE_HOME=$(tools_install_dir)
- export CONDA_BLD_PATH=$(build_workspace_dir)
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
@@ -52,14 +58,14 @@ jobs:
STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN)
- script: |
- export MINIFORGE_HOME=$(tools_install_dir)
- export CONDA_BLD_PATH=$(build_workspace_dir)
- export CI=azure
- export CI_RUN_ID=$(build.BuildNumber).$(system.JobAttempt)
- export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
export ARTIFACT_STAGING_DIR="$(Build.ArtifactStagingDirectory)"
# Archive everything in CONDA_BLD_PATH except environments
export BLD_ARTIFACT_PREFIX=conda_artifacts
+ export CI=azure
+ export CI_RUN_ID=$(build.BuildNumber).$(system.JobAttempt)
+ export CONDA_BLD_PATH=$(build_workspace_dir)
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ export MINIFORGE_HOME=$(tools_install_dir)
if [[ "$AGENT_JOBSTATUS" == "Failed" ]]; then
# Archive the CONDA_BLD_PATH environments only when the job fails
export ENV_ARTIFACT_PREFIX=conda_envs
diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml
deleted file mode 100755
index d364ba781..000000000
--- a/.azure-pipelines/azure-pipelines-win.yml
+++ /dev/null
@@ -1,69 +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_:
- CONFIG: win_64_
- UPLOAD_PACKAGES: 'True'
- build_workspace_dir: D:\\bld\\
- store_build_artifacts: true
- tools_install_dir: D:\Miniforge
- SHORT_CONFIG: win_64_
- timeoutInMinutes: 360
- variables:
- UPLOAD_TEMP: D:\\tmp
-
- steps:
-
- - script: |
- call ".scripts\run_win_build.bat"
- displayName: Run Windows build
- env:
- MINIFORGE_HOME: $(tools_install_dir)
- CONDA_BLD_PATH: $(build_workspace_dir)
- 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)
-
- - script: |
- set MINIFORGE_HOME=$(tools_install_dir)
- set CONDA_BLD_PATH=$(build_workspace_dir)
- set CI=azure
- set CI_RUN_ID=$(build.BuildNumber).$(system.JobAttempt)
- set FEEDSTOCK_NAME=$(build.Repository.Name)
- set ARTIFACT_STAGING_DIR=$(Build.ArtifactStagingDirectory)
- set BLD_ARTIFACT_PREFIX=conda_artifacts
- if "%AGENT_JOBSTATUS%" == "Failed" (
- set ENV_ARTIFACT_PREFIX=conda_envs
- )
- call ".scripts\create_conda_build_artifacts.bat"
- displayName: Prepare conda build artifacts
- condition: and(succeededOrFailed(), eq(variables.store_build_artifacts, true))
-
- - task: PublishPipelineArtifact@1
- displayName: Store conda build artifacts
- condition: not(eq(variables.BLD_ARTIFACT_PATH, ''))
- inputs:
- targetPath: $(BLD_ARTIFACT_PATH)
- artifactName: $(BLD_ARTIFACT_NAME)
-
- - task: PublishPipelineArtifact@1
- displayName: Store conda build environment artifacts
- condition: not(eq(variables.ENV_ARTIFACT_PATH, ''))
- inputs:
- targetPath: $(ENV_ARTIFACT_PATH)
- artifactName: $(ENV_ARTIFACT_NAME)
diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml
index 510e4d745..d1dfadbac 100644
--- a/.ci_support/linux_64_.yaml
+++ b/.ci_support/linux_64_.yaml
@@ -17,7 +17,7 @@ cxx_compiler:
cxx_compiler_version:
- '14'
docker_image:
-- quay.io/condaforge/linux-anvil-x86_64:alma9
+- quay.io/condaforge/linux-anvil-x86_64:alma10
expat:
- '2'
liblzma_devel:
diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml
index 1912c1bcb..40683c68b 100644
--- a/.ci_support/linux_aarch64_.yaml
+++ b/.ci_support/linux_aarch64_.yaml
@@ -17,7 +17,7 @@ cxx_compiler:
cxx_compiler_version:
- '14'
docker_image:
-- quay.io/condaforge/linux-anvil-aarch64:alma9
+- quay.io/condaforge/linux-anvil-aarch64:alma10
expat:
- '2'
liblzma_devel:
diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml
index 2c83e5ed0..7be395bbc 100644
--- a/.ci_support/linux_ppc64le_.yaml
+++ b/.ci_support/linux_ppc64le_.yaml
@@ -17,7 +17,7 @@ cxx_compiler:
cxx_compiler_version:
- '14'
docker_image:
-- quay.io/condaforge/linux-anvil-x86_64:alma9
+- quay.io/condaforge/linux-anvil-x86_64:alma10
expat:
- '2'
liblzma_devel:
diff --git a/.ci_support/migrations/libffi37.yaml b/.ci_support/migrations/libffi37.yaml
new file mode 100644
index 000000000..59a7a7f5a
--- /dev/null
+++ b/.ci_support/migrations/libffi37.yaml
@@ -0,0 +1,8 @@
+__migrator:
+ build_number: 1
+ commit_message: Rebuild for libffi 3.7
+ kind: version
+ migration_number: 1
+libffi:
+- '3.7'
+migrator_ts: 1783528989.6688116
diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml
index 93c3718f6..00b5e7060 100644
--- a/.github/workflows/conda-build.yml
+++ b/.github/workflows/conda-build.yml
@@ -23,101 +23,129 @@ jobs:
matrix:
include:
- CONFIG: linux_64_
+ CONFIG_SHORT: linux_64_
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10
STORE_BUILD_ARTIFACTS: True
- SHORT_CONFIG: linux_64_
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
- build_workspace_dir: build_artifacts
- docker_run_args:
- CONFIG: linux_aarch64_
+ CONFIG_SHORT: linux_aarch64_
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64:alma10
STORE_BUILD_ARTIFACTS: True
- SHORT_CONFIG: linux_aarch64_
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-24.04-arm']
- DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64:alma9
tools_install_dir: ~/miniforge3
- build_workspace_dir: build_artifacts
- docker_run_args:
- CONFIG: linux_ppc64le_
+ CONFIG_SHORT: linux_ppc64le_
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma10
STORE_BUILD_ARTIFACTS: True
- SHORT_CONFIG: linux_ppc64le_
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
- build_workspace_dir: build_artifacts
+ - CONFIG: win_64_
+ CONFIG_SHORT: win_64_
+ STORE_BUILD_ARTIFACTS: True
+ 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:
- MINIFORGE_HOME: ${{ matrix.tools_install_dir }}
+ 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.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
- export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}"
- export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}"
- echo "::endgroup::"
./.scripts/run_docker_build.sh
- name: Build on macOS
id: build-macos
if: matrix.os == 'macos'
env:
- MINIFORGE_HOME: ${{ matrix.tools_install_dir }}
+ 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
export IS_PR_BUILD="False"
fi
- export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}"
- export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}"
./.scripts/run_osx_build.sh
- name: Build on windows
@@ -130,12 +158,15 @@ jobs:
set "sha=%GITHUB_SHA%"
call ".scripts\run_win_build.bat"
env:
- MINIFORGE_HOME: ${{ matrix.tools_install_dir }}
+ BUILD_PLATFORM: ${{ matrix.build_platform }}
+ CI: github_actions
CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }}
- PYTHONUNBUFFERED: 1
CONFIG: ${{ matrix.CONFIG }}
- CI: github_actions
+ 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 }}
@@ -169,18 +200,18 @@ jobs:
# we do not want to trigger artefact creation if the build was cancelled
if: ${{ always() && steps.determine-status.outputs.status != 'cancelled' && matrix.STORE_BUILD_ARTIFACTS }}
env:
- CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }}
CI: github_actions
+ CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }}
CONFIG: ${{ matrix.CONFIG }}
- SHORT_CONFIG: ${{ matrix.SHORT_CONFIG }}
+ CONFIG_SHORT: ${{ matrix.CONFIG_SHORT }}
JOB_STATUS: ${{ steps.determine-status.outputs.status }}
OS: ${{ matrix.os }}
run: |
- export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}"
- export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}"
+ export ARTIFACT_STAGING_DIR="$GITHUB_WORKSPACE"
export CI_RUN_ID=$GITHUB_RUN_ID
+ export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}"
export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)"
- export ARTIFACT_STAGING_DIR="$GITHUB_WORKSPACE"
+ export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}"
# Archive everything in CONDA_BLD_PATH except environments
# Archive the CONDA_BLD_PATH environments only when the job fails
# Use different prefix for successful and failed build artifacts
@@ -198,7 +229,7 @@ jobs:
fi
- name: Store conda build artifacts
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: ${{ always() && steps.prepare-artifacts.outcome == 'success' }}
with:
name: ${{ steps.prepare-artifacts.outputs.BLD_ARTIFACT_NAME }}
@@ -207,7 +238,7 @@ jobs:
continue-on-error: true
- name: Store conda build environment artifacts
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
# only relevant if build failed, see above
if: ${{ always() && steps.determine-status.outputs.status == 'failure' && steps.prepare-artifacts.outcome == 'success' }}
with:
diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh
index c83e212f4..484acddad 100755
--- a/.scripts/build_steps.sh
+++ b/.scripts/build_steps.sh
@@ -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/create_conda_build_artifacts.bat b/.scripts/create_conda_build_artifacts.bat
index 6120712cc..705dc461b 100755
--- a/.scripts/create_conda_build_artifacts.bat
+++ b/.scripts/create_conda_build_artifacts.bat
@@ -4,10 +4,11 @@ rem INPUTS (environment variables that need to be set before calling this script
rem
rem CI (azure/github_actions/UNSET)
rem CI_RUN_ID (unique identifier for the CI job run)
-rem FEEDSTOCK_NAME
-rem CONFIG (build matrix configuration string)
-rem SHORT_CONFIG (uniquely-shortened configuration string)
rem CONDA_BLD_PATH (path to the conda-bld directory)
+rem CONFIG (build matrix configuration string)
+rem CONFIG_SHORT (uniquely-shortened configuration string)
+rem FEEDSTOCK_NAME
+rem Optional:
rem ARTIFACT_STAGING_DIR (use working directory if unset)
rem BLD_ARTIFACT_PREFIX (prefix for the conda build artifact name, skip if unset)
rem ENV_ARTIFACT_PREFIX (prefix for the conda build environments artifact name, skip if unset)
@@ -33,7 +34,7 @@ if not defined ARTIFACT_STAGING_DIR (
rem Set a unique ID for the artifact(s), specialized for this particular job run
set ARTIFACT_UNIQUE_ID=%CI_RUN_ID%_%CONFIG%
if not "%ARTIFACT_UNIQUE_ID%" == "%ARTIFACT_UNIQUE_ID:~0,80%" (
- set ARTIFACT_UNIQUE_ID=%CI_RUN_ID%_%SHORT_CONFIG%
+ set ARTIFACT_UNIQUE_ID=%CI_RUN_ID%_%CONFIG_SHORT%
)
rem Make the build artifact zip
diff --git a/.scripts/create_conda_build_artifacts.sh b/.scripts/create_conda_build_artifacts.sh
index 1e3acc78a..91095c05d 100755
--- a/.scripts/create_conda_build_artifacts.sh
+++ b/.scripts/create_conda_build_artifacts.sh
@@ -4,10 +4,11 @@
#
# CI (azure/github_actions/UNSET)
# CI_RUN_ID (unique identifier for the CI job run)
-# FEEDSTOCK_NAME
-# CONFIG (build matrix configuration string)
-# SHORT_CONFIG (uniquely-shortened configuration string)
# CONDA_BLD_PATH (path to the conda-bld directory)
+# CONFIG (build matrix configuration string)
+# CONFIG_SHORT (uniquely-shortened configuration string)
+# FEEDSTOCK_NAME
+# Optional:
# ARTIFACT_STAGING_DIR (use working directory if unset)
# BLD_ARTIFACT_PREFIX (prefix for the conda build artifact name, skip if unset)
# ENV_ARTIFACT_PREFIX (prefix for the conda build environments artifact name, skip if unset)
@@ -49,7 +50,7 @@ fi
# Set a unique ID for the artifact(s), specialized for this particular job run
ARTIFACT_UNIQUE_ID="${CI_RUN_ID}_${CONFIG}"
if [[ ${#ARTIFACT_UNIQUE_ID} -gt 80 ]]; then
- ARTIFACT_UNIQUE_ID="${CI_RUN_ID}_${SHORT_CONFIG}"
+ ARTIFACT_UNIQUE_ID="${CI_RUN_ID}_${CONFIG_SHORT}"
fi
echo "ARTIFACT_UNIQUE_ID: $ARTIFACT_UNIQUE_ID"
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 10d6a2af9..17d983f11 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 b0eda55cd..9d7c39125 100755
--- a/.scripts/run_osx_build.sh
+++ b/.scripts/run_osx_build.sh
@@ -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 c07d98e61..06f61b83b 100755
--- a/.scripts/run_win_build.bat
+++ b/.scripts/run_win_build.bat
@@ -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 2779a3a71..c06622526 100644
--- a/README.md
+++ b/README.md
@@ -59,13 +59,6 @@ Current build status
-