diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 3371f3f..aabf8f9 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -12,58 +12,80 @@ jobs: CONFIG: osx_64_python3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld 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 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 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 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 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-arm64 + build_workspace_dir: ~/miniforge3/conda-bld 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-arm64 + build_workspace_dir: ~/miniforge3/conda-bld 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-arm64 + build_workspace_dir: ~/miniforge3/conda-bld 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-arm64 + build_workspace_dir: ~/miniforge3/conda-bld 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-arm64 + build_workspace_dir: ~/miniforge3/conda-bld store_build_artifacts: false + tools_install_dir: ~/miniforge3 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 flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) export remote_url=$(Build.Repository.Uri) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 0a281de..f90412c 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -11,27 +11,35 @@ jobs: win_64_python3.10.____cpython: CONFIG: win_64_python3.10.____cpython UPLOAD_PACKAGES: 'True' + build_workspace_dir: D:\\bld\\ store_build_artifacts: false + tools_install_dir: D:\Miniforge win_64_python3.11.____cpython: CONFIG: win_64_python3.11.____cpython UPLOAD_PACKAGES: 'True' + build_workspace_dir: D:\\bld\\ store_build_artifacts: false + tools_install_dir: D:\Miniforge win_64_python3.12.____cpython: CONFIG: win_64_python3.12.____cpython UPLOAD_PACKAGES: 'True' + build_workspace_dir: D:\\bld\\ store_build_artifacts: false + tools_install_dir: D:\Miniforge win_64_python3.13.____cp313: CONFIG: win_64_python3.13.____cp313 UPLOAD_PACKAGES: 'True' + build_workspace_dir: D:\\bld\\ store_build_artifacts: false + tools_install_dir: D:\Miniforge win_64_python3.14.____cp314: CONFIG: win_64_python3.14.____cp314 UPLOAD_PACKAGES: 'True' + build_workspace_dir: D:\\bld\\ store_build_artifacts: false + tools_install_dir: D:\Miniforge timeoutInMinutes: 360 variables: - CONDA_BLD_PATH: D:\\bld\\ - MINIFORGE_HOME: D:\Miniforge UPLOAD_TEMP: D:\\tmp steps: @@ -40,8 +48,8 @@ jobs: call ".scripts\run_win_build.bat" displayName: Run Windows build env: - MINIFORGE_HOME: $(MINIFORGE_HOME) - CONDA_BLD_PATH: $(CONDA_BLD_PATH) + MINIFORGE_HOME: $(tools_install_dir) + CONDA_BLD_PATH: $(build_workspace_dir) PYTHONUNBUFFERED: 1 CONFIG: $(CONFIG) CI: azure diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index c126709..c264d06 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -28,60 +28,90 @@ jobs: os: ubuntu 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_64_python3.11.____cpython STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu 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_64_python3.12.____cpython STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu 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_64_python3.13.____cp313 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu 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_64_python3.14.____cp314 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu 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_python3.10.____cpython STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu 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_python3.11.____cpython STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu 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_python3.12.____cpython STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu 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_python3.13.____cp313 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu 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_python3.14.____cp314 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu 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: steps: - name: Checkout code @@ -91,11 +121,13 @@ jobs: id: build-linux if: matrix.os == 'ubuntu' env: + MINIFORGE_HOME: ${{ matrix.tools_install_dir }} + CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }} CONFIG: ${{ matrix.CONFIG }} UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} DOCKER_IMAGE: ${{ matrix.DOCKER_IMAGE }} CI: github_actions - CONDA_FORGE_DOCKER_RUN_ARGS: "${{ matrix.CONDA_FORGE_DOCKER_RUN_ARGS }}" + CONDA_FORGE_DOCKER_RUN_ARGS: "${{ matrix.docker_run_args }}" BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} @@ -115,6 +147,8 @@ jobs: 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 @@ -122,6 +156,8 @@ jobs: id: build-macos if: matrix.os == 'macos' env: + MINIFORGE_HOME: ${{ matrix.tools_install_dir }} + CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }} CONFIG: ${{ matrix.CONFIG }} UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} CI: github_actions @@ -140,6 +176,8 @@ jobs: 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 @@ -152,10 +190,8 @@ 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 + MINIFORGE_HOME: ${{ matrix.tools_install_dir }} + CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }} PYTHONUNBUFFERED: 1 CONFIG: ${{ matrix.CONFIG }} CI: github_actions diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 463cbc8..b386ebd 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -63,7 +63,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 diff --git a/README.md b/README.md index 1d62732..31e1341 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,14 @@ Current build status ==================== -