diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml
index 3326beb9..cae45cd8 100755
--- a/.azure-pipelines/azure-pipelines-linux.yml
+++ b/.azure-pipelines/azure-pipelines-linux.yml
@@ -126,7 +126,6 @@ jobs:
microsoft-edge-stable
sudo apt-get autoremove -y >& /dev/null
sudo apt-get autoclean -y >& /dev/null
- sudo docker image prune --all --force
df -h
displayName: Manage disk space
# configure qemu binfmt-misc running. This allows us to run docker containers
@@ -139,6 +138,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-win.yml b/.azure-pipelines/azure-pipelines-win.yml
index 95dcd565..20ae797c 100755
--- a/.azure-pipelines/azure-pipelines-win.yml
+++ b/.azure-pipelines/azure-pipelines-win.yml
@@ -8,6 +8,18 @@ jobs:
vmImage: windows-2022
strategy:
matrix:
+ win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.10.____cpython:
+ CONFIG: win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.10.____cpython
+ UPLOAD_PACKAGES: 'True'
+ win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.11.____cpython:
+ CONFIG: win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.11.____cpython
+ UPLOAD_PACKAGES: 'True'
+ win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.8.____cpython:
+ CONFIG: win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.8.____cpython
+ UPLOAD_PACKAGES: 'True'
+ win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.9.____cpython:
+ CONFIG: win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.9.____cpython
+ UPLOAD_PACKAGES: 'True'
win_64_cuda_compilernvcccuda_compiler_version11.8python3.10.____cpython:
CONFIG: win_64_cuda_compilernvcccuda_compiler_version11.8python3.10.____cpython
UPLOAD_PACKAGES: 'True'
@@ -51,6 +63,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/migrations/cuda120.yaml b/.ci_support/migrations/cuda120.yaml
index 49da33d7..abfb9cb8 100644
--- a/.ci_support/migrations/cuda120.yaml
+++ b/.ci_support/migrations/cuda120.yaml
@@ -3,7 +3,7 @@ __migrator:
kind:
version
migration_number:
- 2
+ 3
build_number:
1
paused: false
@@ -47,13 +47,13 @@ __migrator:
- quay.io/condaforge/linux-anvil-cos7-x86_64 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]
cuda_compiler_version:
- None
- - 10.2 # [(linux64 or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- - 11.0 # [(linux64 or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- - 11.1 # [(linux64 or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- - 11.2 # [(linux or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- - 12.0 # [(linux or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
+ - 10.2 # [(linux64 or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
+ - 11.0 # [(linux64 or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
+ - 11.1 # [(linux64 or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
+ - 11.2 # [(linux or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
+ - 12.0 # [(linux or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
commit_message: |
- Rebuild for CUDA 12 w/arch support
+ Rebuild for CUDA 12 w/arch + Windows support
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and
build tools. Notably, the cudatoolkit package no longer exists, and packages
@@ -62,11 +62,11 @@ __migrator:
[see this issue]( https://github.com/conda-forge/conda-forge.github.io/issues/1963 ).
Please feel free to raise any issues encountered there. Thank you! :pray:
-cuda_compiler: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- - cuda-nvcc # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
+cuda_compiler: # [(linux or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
+ - cuda-nvcc # [(linux or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
-cuda_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- - 12.0 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
+cuda_compiler_version: # [(linux or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
+ - 12.0 # [(linux or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
c_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 12 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
diff --git a/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.10.____cpython.yaml b/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.10.____cpython.yaml
new file mode 100644
index 00000000..81400db9
--- /dev/null
+++ b/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.10.____cpython.yaml
@@ -0,0 +1,27 @@
+c_compiler:
+- vs2017
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+cuda_compiler:
+- cuda-nvcc
+cuda_compiler_version:
+- '12.0'
+cudnn:
+- '8'
+cutensor:
+- '1'
+cxx_compiler:
+- vs2017
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.10.* *_cpython
+target_platform:
+- win-64
+zip_keys:
+- - cuda_compiler
+ - cuda_compiler_version
diff --git a/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.11.____cpython.yaml b/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.11.____cpython.yaml
new file mode 100644
index 00000000..7934b19f
--- /dev/null
+++ b/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.11.____cpython.yaml
@@ -0,0 +1,27 @@
+c_compiler:
+- vs2017
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+cuda_compiler:
+- cuda-nvcc
+cuda_compiler_version:
+- '12.0'
+cudnn:
+- '8'
+cutensor:
+- '1'
+cxx_compiler:
+- vs2017
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.11.* *_cpython
+target_platform:
+- win-64
+zip_keys:
+- - cuda_compiler
+ - cuda_compiler_version
diff --git a/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.8.____cpython.yaml b/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.8.____cpython.yaml
new file mode 100644
index 00000000..5887d119
--- /dev/null
+++ b/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.8.____cpython.yaml
@@ -0,0 +1,27 @@
+c_compiler:
+- vs2017
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+cuda_compiler:
+- cuda-nvcc
+cuda_compiler_version:
+- '12.0'
+cudnn:
+- '8'
+cutensor:
+- '1'
+cxx_compiler:
+- vs2017
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.8.* *_cpython
+target_platform:
+- win-64
+zip_keys:
+- - cuda_compiler
+ - cuda_compiler_version
diff --git a/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.9.____cpython.yaml b/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.9.____cpython.yaml
new file mode 100644
index 00000000..79e1fe83
--- /dev/null
+++ b/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0python3.9.____cpython.yaml
@@ -0,0 +1,27 @@
+c_compiler:
+- vs2017
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+cuda_compiler:
+- cuda-nvcc
+cuda_compiler_version:
+- '12.0'
+cudnn:
+- '8'
+cutensor:
+- '1'
+cxx_compiler:
+- vs2017
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.9.* *_cpython
+target_platform:
+- win-64
+zip_keys:
+- - cuda_compiler
+ - cuda_compiler_version
diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh
index d0fc82af..aea08d45 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
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
# set up the condarc
setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
@@ -54,6 +56,12 @@ if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then
cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt"
fi
+if [[ "${sha:-}" == "" ]]; then
+ pushd ${FEEDSTOCK_ROOT}
+ sha=$(git rev-parse HEAD)
+ popd
+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}"
@@ -65,9 +73,10 @@ 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 "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 92362398..b70ef014 100755
--- a/.scripts/run_docker_build.sh
+++ b/.scripts/run_docker_build.sh
@@ -91,6 +91,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_win_build.bat b/.scripts/run_win_build.bat
index 07d34456..5b2b8492 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 -c conda-forge --strict-channel-priority --yes
if !errorlevel! neq 0 exit /b !errorlevel!
:: Set basic configuration
@@ -41,11 +45,15 @@ if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] (
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.exe build "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS%
if !errorlevel! neq 0 exit /b !errorlevel!
:: Prepare some environment variables for the upload step
diff --git a/README.md b/README.md
index 746b3931..fc7ee1d3 100644
--- a/README.md
+++ b/README.md
@@ -199,6 +199,34 @@ Current build status
+