diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 90be224..8f03357 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,20 +8,24 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_python3.10.____cpython: - CONFIG: linux_64_python3.10.____cpython + linux_64_python3.10: + CONFIG: linux_64_python3.10 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_python3.11.____cpython: - CONFIG: linux_64_python3.11.____cpython + linux_64_python3.11: + CONFIG: linux_64_python3.11 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_python3.8.____cpython: - CONFIG: linux_64_python3.8.____cpython + linux_64_python3.12: + CONFIG: linux_64_python3.12 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_python3.9.____cpython: - CONFIG: linux_64_python3.9.____cpython + linux_64_python3.8: + CONFIG: linux_64_python3.8 + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_python3.9: + CONFIG: linux_64_python3.9 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 @@ -37,6 +41,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..5b7bea0 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -8,17 +8,20 @@ jobs: vmImage: macOS-11 strategy: matrix: - osx_64_python3.10.____cpython: - CONFIG: osx_64_python3.10.____cpython + osx_64_python3.10: + CONFIG: osx_64_python3.10 UPLOAD_PACKAGES: 'True' - osx_64_python3.11.____cpython: - CONFIG: osx_64_python3.11.____cpython + osx_64_python3.11: + CONFIG: osx_64_python3.11 UPLOAD_PACKAGES: 'True' - osx_64_python3.8.____cpython: - CONFIG: osx_64_python3.8.____cpython + osx_64_python3.12: + CONFIG: osx_64_python3.12 UPLOAD_PACKAGES: 'True' - osx_64_python3.9.____cpython: - CONFIG: osx_64_python3.9.____cpython + osx_64_python3.8: + CONFIG: osx_64_python3.8 + UPLOAD_PACKAGES: 'True' + osx_64_python3.9: + CONFIG: osx_64_python3.9 UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 @@ -26,6 +29,9 @@ jobs: # 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..2ce38b3 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,17 +8,20 @@ jobs: vmImage: windows-2022 strategy: matrix: - win_64_python3.10.____cpython: - CONFIG: win_64_python3.10.____cpython + win_64_python3.10: + CONFIG: win_64_python3.10 UPLOAD_PACKAGES: 'True' - win_64_python3.11.____cpython: - CONFIG: win_64_python3.11.____cpython + win_64_python3.11: + CONFIG: win_64_python3.11 UPLOAD_PACKAGES: 'True' - win_64_python3.8.____cpython: - CONFIG: win_64_python3.8.____cpython + win_64_python3.12: + CONFIG: win_64_python3.12 UPLOAD_PACKAGES: 'True' - win_64_python3.9.____cpython: - CONFIG: win_64_python3.9.____cpython + win_64_python3.8: + CONFIG: win_64_python3.8 + UPLOAD_PACKAGES: 'True' + win_64_python3.9: + CONFIG: win_64_python3.9 UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: @@ -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.8.____cpython.yaml b/.ci_support/linux_64_python3.10.yaml similarity index 94% rename from .ci_support/linux_64_python3.8.____cpython.yaml rename to .ci_support/linux_64_python3.10.yaml index 035b322..153cc07 100644 --- a/.ci_support/linux_64_python3.8.____cpython.yaml +++ b/.ci_support/linux_64_python3.10.yaml @@ -15,7 +15,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- 3.8.* *_cpython +- '3.10' rust_compiler: - rust target_platform: diff --git a/.ci_support/linux_64_python3.9.____cpython.yaml b/.ci_support/linux_64_python3.11.yaml similarity index 94% rename from .ci_support/linux_64_python3.9.____cpython.yaml rename to .ci_support/linux_64_python3.11.yaml index 9ade7f4..5789534 100644 --- a/.ci_support/linux_64_python3.9.____cpython.yaml +++ b/.ci_support/linux_64_python3.11.yaml @@ -15,7 +15,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- 3.9.* *_cpython +- '3.11' rust_compiler: - rust target_platform: diff --git a/.ci_support/linux_64_python3.10.____cpython.yaml b/.ci_support/linux_64_python3.12.yaml similarity index 94% rename from .ci_support/linux_64_python3.10.____cpython.yaml rename to .ci_support/linux_64_python3.12.yaml index e0ea4c5..783a22e 100644 --- a/.ci_support/linux_64_python3.10.____cpython.yaml +++ b/.ci_support/linux_64_python3.12.yaml @@ -15,7 +15,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- 3.10.* *_cpython +- '3.12' rust_compiler: - rust target_platform: diff --git a/.ci_support/linux_64_python3.11.____cpython.yaml b/.ci_support/linux_64_python3.8.yaml similarity index 94% rename from .ci_support/linux_64_python3.11.____cpython.yaml rename to .ci_support/linux_64_python3.8.yaml index b616543..16ab49f 100644 --- a/.ci_support/linux_64_python3.11.____cpython.yaml +++ b/.ci_support/linux_64_python3.8.yaml @@ -15,7 +15,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- 3.11.* *_cpython +- '3.8' rust_compiler: - rust target_platform: diff --git a/.ci_support/linux_64_python3.9.yaml b/.ci_support/linux_64_python3.9.yaml new file mode 100644 index 0000000..14382bd --- /dev/null +++ b/.ci_support/linux_64_python3.9.yaml @@ -0,0 +1,22 @@ +c_compiler: +- gcc +c_compiler_version: +- '12' +cdt_name: +- cos6 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- '3.9' +rust_compiler: +- rust +target_platform: +- linux-64 diff --git a/.ci_support/osx_64_python3.8.____cpython.yaml b/.ci_support/osx_64_python3.10.yaml similarity index 86% rename from .ci_support/osx_64_python3.8.____cpython.yaml rename to .ci_support/osx_64_python3.10.yaml index c90280c..44b4829 100644 --- a/.ci_support/osx_64_python3.8.____cpython.yaml +++ b/.ci_support/osx_64_python3.10.yaml @@ -1,5 +1,7 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.12' +MACOSX_SDK_VERSION: +- '10.12' c_compiler: - clang c_compiler_version: @@ -15,7 +17,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- 3.8.* *_cpython +- '3.10' rust_compiler: - rust target_platform: diff --git a/.ci_support/osx_64_python3.9.____cpython.yaml b/.ci_support/osx_64_python3.11.yaml similarity index 86% rename from .ci_support/osx_64_python3.9.____cpython.yaml rename to .ci_support/osx_64_python3.11.yaml index c94d80e..5a7b73b 100644 --- a/.ci_support/osx_64_python3.9.____cpython.yaml +++ b/.ci_support/osx_64_python3.11.yaml @@ -1,5 +1,7 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.12' +MACOSX_SDK_VERSION: +- '10.12' c_compiler: - clang c_compiler_version: @@ -15,7 +17,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- 3.9.* *_cpython +- '3.11' rust_compiler: - rust target_platform: diff --git a/.ci_support/osx_64_python3.12.yaml b/.ci_support/osx_64_python3.12.yaml new file mode 100644 index 0000000..e087796 --- /dev/null +++ b/.ci_support/osx_64_python3.12.yaml @@ -0,0 +1,24 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.12' +MACOSX_SDK_VERSION: +- '10.12' +c_compiler: +- clang +c_compiler_version: +- '16' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +macos_machine: +- x86_64-apple-darwin13.4.0 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- '3.12' +rust_compiler: +- rust +target_platform: +- osx-64 diff --git a/.ci_support/osx_64_python3.10.____cpython.yaml b/.ci_support/osx_64_python3.8.yaml similarity index 86% rename from .ci_support/osx_64_python3.10.____cpython.yaml rename to .ci_support/osx_64_python3.8.yaml index c2659d8..c46aeac 100644 --- a/.ci_support/osx_64_python3.10.____cpython.yaml +++ b/.ci_support/osx_64_python3.8.yaml @@ -1,5 +1,7 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.12' +MACOSX_SDK_VERSION: +- '10.12' c_compiler: - clang c_compiler_version: @@ -15,7 +17,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- 3.10.* *_cpython +- '3.8' rust_compiler: - rust target_platform: diff --git a/.ci_support/osx_64_python3.11.____cpython.yaml b/.ci_support/osx_64_python3.9.yaml similarity index 86% rename from .ci_support/osx_64_python3.11.____cpython.yaml rename to .ci_support/osx_64_python3.9.yaml index a210baf..0338b83 100644 --- a/.ci_support/osx_64_python3.11.____cpython.yaml +++ b/.ci_support/osx_64_python3.9.yaml @@ -1,5 +1,7 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.12' +MACOSX_SDK_VERSION: +- '10.12' c_compiler: - clang c_compiler_version: @@ -15,7 +17,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- 3.11.* *_cpython +- '3.9' rust_compiler: - rust target_platform: diff --git a/.ci_support/win_64_python3.8.____cpython.yaml b/.ci_support/win_64_python3.10.yaml similarity index 91% rename from .ci_support/win_64_python3.8.____cpython.yaml rename to .ci_support/win_64_python3.10.yaml index dff0146..c4cc7aa 100644 --- a/.ci_support/win_64_python3.8.____cpython.yaml +++ b/.ci_support/win_64_python3.10.yaml @@ -9,7 +9,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- 3.8.* *_cpython +- '3.10' rust_compiler: - rust target_platform: diff --git a/.ci_support/win_64_python3.9.____cpython.yaml b/.ci_support/win_64_python3.11.yaml similarity index 91% rename from .ci_support/win_64_python3.9.____cpython.yaml rename to .ci_support/win_64_python3.11.yaml index ea7955f..2058196 100644 --- a/.ci_support/win_64_python3.9.____cpython.yaml +++ b/.ci_support/win_64_python3.11.yaml @@ -9,7 +9,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- 3.9.* *_cpython +- '3.11' rust_compiler: - rust target_platform: diff --git a/.ci_support/win_64_python3.10.____cpython.yaml b/.ci_support/win_64_python3.12.yaml similarity index 91% rename from .ci_support/win_64_python3.10.____cpython.yaml rename to .ci_support/win_64_python3.12.yaml index fe6f46b..a1e12b0 100644 --- a/.ci_support/win_64_python3.10.____cpython.yaml +++ b/.ci_support/win_64_python3.12.yaml @@ -9,7 +9,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- 3.10.* *_cpython +- '3.12' rust_compiler: - rust target_platform: diff --git a/.ci_support/win_64_python3.11.____cpython.yaml b/.ci_support/win_64_python3.8.yaml similarity index 91% rename from .ci_support/win_64_python3.11.____cpython.yaml rename to .ci_support/win_64_python3.8.yaml index f1fdb0e..6a81131 100644 --- a/.ci_support/win_64_python3.11.____cpython.yaml +++ b/.ci_support/win_64_python3.8.yaml @@ -9,7 +9,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- 3.11.* *_cpython +- '3.8' rust_compiler: - rust target_platform: diff --git a/.ci_support/win_64_python3.9.yaml b/.ci_support/win_64_python3.9.yaml new file mode 100644 index 0000000..18628b4 --- /dev/null +++ b/.ci_support/win_64_python3.9.yaml @@ -0,0 +1,16 @@ +c_compiler: +- vs2019 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- '3.9' +rust_compiler: +- rust +target_platform: +- win-64 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 d20d8f4..f017291 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 boa conda-forge-ci-setup=4 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 boa conda-forge-ci-setup=4 # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -65,7 +67,8 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then else conda mambabuild "${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 "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..1fa8468 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 boa conda-forge-ci-setup=4 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 boa conda-forge-ci-setup=4 @@ -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 @@ -73,7 +79,8 @@ else conda mambabuild ./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 "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..7bde26b 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 boa conda-forge-ci-setup=4 -c conda-forge --strict-channel-priority --yes if !errorlevel! neq 0 exit /b !errorlevel! :: Set basic configuration @@ -38,6 +42,10 @@ 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 diff --git a/README.md b/README.md index bed8ac7..41e9ef6 100644 --- a/README.md +++ b/README.md @@ -27,87 +27,108 @@ Current build status
| Variant | Status | |
|---|---|---|
| linux_64_python3.10.____cpython | +linux_64_python3.10 |
- |
| linux_64_python3.11.____cpython | +linux_64_python3.11 |
- |
| linux_64_python3.8.____cpython | +linux_64_python3.12 |
- |
| linux_64_python3.9.____cpython | +linux_64_python3.8 |
- |
| osx_64_python3.10.____cpython | +linux_64_python3.9 |
- |
| osx_64_python3.11.____cpython | +osx_64_python3.10 |
- |
| osx_64_python3.8.____cpython | +osx_64_python3.11 |
- |
| osx_64_python3.9.____cpython | +osx_64_python3.12 |
- |
| win_64_python3.10.____cpython | +osx_64_python3.8 |
- |
| win_64_python3.11.____cpython | +osx_64_python3.9 |
- |
| win_64_python3.8.____cpython | +win_64_python3.10 |
- |
| win_64_python3.9.____cpython | +win_64_python3.11 |
- |
+
| win_64_python3.12 | +
+
+ |
+ |
| win_64_python3.8 | +
+
+ |
+ |
| win_64_python3.9 | +
+
+ |