From e54f408f0986d99ad294afd2eb2610b9e6ea16a4 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 1 Jun 2023 07:33:04 +0000 Subject: [PATCH 1/4] Rebuild for CUDA 12 --- .ci_support/migrations/cuda120.yaml | 72 +++++++++++++++++++++++++++++ recipe/meta.yaml | 2 +- 2 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 .ci_support/migrations/cuda120.yaml diff --git a/.ci_support/migrations/cuda120.yaml b/.ci_support/migrations/cuda120.yaml new file mode 100644 index 0000000..25f0f88 --- /dev/null +++ b/.ci_support/migrations/cuda120.yaml @@ -0,0 +1,72 @@ +migrator_ts: 1682985063 +__migrator: + kind: + version + migration_number: + 1 + build_number: + 1 + paused: false + override_cbc_keys: + - cuda_compiler_stub + operation: key_add + check_solvable: false + primary_key: cuda_compiler_version + ordering: + cxx_compiler_version: + - 9 + - 8 + - 7 + c_compiler_version: + - 9 + - 8 + - 7 + fortran_compiler_version: + - 9 + - 8 + - 7 + docker_image: + - quay.io/condaforge/linux-anvil-comp7 # [os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-aarch64 # [os.environ.get("BUILD_PLATFORM") == "linux-aarch64"] + - quay.io/condaforge/linux-anvil-ppc64le # [os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"] + - quay.io/condaforge/linux-anvil-armv7l # [os.environ.get("BUILD_PLATFORM") == "linux-armv7l"] + - quay.io/condaforge/linux-anvil-cuda:9.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-cuda:10.0 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-cuda:10.1 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-cuda:10.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-cuda:11.0 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-cuda:11.1 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-cuda:11.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + - 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 # [(linux64 or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 12.0 # [(linux64 or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + commit_message: "Rebuild for CUDA 12" + +cuda_compiler: # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - cuda-nvcc # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +cuda_compiler_version: # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 12.0 # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +c_compiler_version: # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 12 # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +cxx_compiler_version: # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 12 # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +fortran_compiler_version: # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 12 # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +cudnn: # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 8 # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +cdt_name: # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - cos7 # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +docker_image: # [os.environ.get("BUILD_PLATFORM", "").startswith("linux-") and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - quay.io/condaforge/linux-anvil-cos7-x86_64 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64" and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index f1260cd..e36355c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -10,7 +10,7 @@ source: sha256: b2db4ed214c7b9cb1b36801fea3942e65b9a5c1b45cdd04c47b5585790fee340 build: - number: 1 + number: 2 skip: True # [osx or (cuda_compiler_version in ('None', 'undefined'))] requirements: From 6f36c49a426e24921c0be8880a37dedb5e4a77d2 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 1 Jun 2023 07:33:32 +0000 Subject: [PATCH 2/4] MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.23.1, and conda-forge-pinning 2023.05.31.22.15.24 --- .azure-pipelines/azure-pipelines-linux.yml | 33 ++++-- .azure-pipelines/azure-pipelines-win.yml | 96 ++++++--------- .ci_support/README | 7 +- ...er_version11.1cxx_compiler_version10.yaml} | 21 ++-- ...er_version11.2cxx_compiler_version10.yaml} | 21 ++-- ...ler_version12.0cxx_compiler_version12.yaml | 42 +++++++ ...ler_version10.2cxx_compiler_version7.yaml} | 19 ++- ...ler_version11.0cxx_compiler_version9.yaml} | 21 ++-- .ci_support/migrations/cuda110.yaml | 81 ------------- .ci_support/migrations/cuda111_112.yaml | 29 ----- .ci_support/migrations/windows_cuda.yaml | 25 ---- ...ompilernvcccuda_compiler_version10.2.yaml} | 21 ++-- ...ompilernvcccuda_compiler_version11.0.yaml} | 21 ++-- ...ompilernvcccuda_compiler_version11.1.yaml} | 21 ++-- ...ompilernvcccuda_compiler_version11.2.yaml} | 21 ++-- .circleci/config.yml | 5 +- .gitattributes | 2 + .scripts/build_steps.sh | 23 +++- .scripts/run_docker_build.sh | 9 +- LICENSE.txt | 32 +++-- README.md | 109 ++++++++++++------ build-locally.py | 27 +++-- 22 files changed, 322 insertions(+), 364 deletions(-) rename .ci_support/{linux_64_cuda_compiler_version11.1.yaml => linux_64_c_compiler_version10cuda_compilernvcccuda_compiler_version11.1cxx_compiler_version10.yaml} (77%) rename .ci_support/{linux_64_cuda_compiler_version11.2.yaml => linux_64_c_compiler_version10cuda_compilernvcccuda_compiler_version11.2cxx_compiler_version10.yaml} (77%) create mode 100644 .ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml rename .ci_support/{linux_64_cuda_compiler_version10.2.yaml => linux_64_c_compiler_version7cuda_compilernvcccuda_compiler_version10.2cxx_compiler_version7.yaml} (72%) rename .ci_support/{linux_64_cuda_compiler_version11.0.yaml => linux_64_c_compiler_version9cuda_compilernvcccuda_compiler_version11.0cxx_compiler_version9.yaml} (77%) delete mode 100644 .ci_support/migrations/cuda110.yaml delete mode 100644 .ci_support/migrations/cuda111_112.yaml delete mode 100644 .ci_support/migrations/windows_cuda.yaml rename .ci_support/{win_64_cuda_compiler_version10.2.yaml => win_64_cuda_compilernvcccuda_compiler_version10.2.yaml} (66%) rename .ci_support/{win_64_cuda_compiler_version11.0.yaml => win_64_cuda_compilernvcccuda_compiler_version11.0.yaml} (66%) rename .ci_support/{win_64_cuda_compiler_version11.1.yaml => win_64_cuda_compilernvcccuda_compiler_version11.1.yaml} (66%) rename .ci_support/{win_64_cuda_compiler_version11.2.yaml => win_64_cuda_compilernvcccuda_compiler_version11.2.yaml} (66%) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 49c353e..2f2d80e 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,22 +8,26 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_cuda_compiler_version10.2: - CONFIG: linux_64_cuda_compiler_version10.2 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:10.2 - linux_64_cuda_compiler_version11.0: - CONFIG: linux_64_cuda_compiler_version11.0 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.0 - linux_64_cuda_compiler_version11.1: - CONFIG: linux_64_cuda_compiler_version11.1 + linux_64_c_compiler_version10cuda_compilernvcccuda_compiler_version11.1cxx_compiler_version10: + CONFIG: linux_64_c_compiler_version10cuda_compilernvcccuda_compiler_version11.1cxx_compiler_version10 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.1 - linux_64_cuda_compiler_version11.2: - CONFIG: linux_64_cuda_compiler_version11.2 + linux_64_c_compiler_version10cuda_compilernvcccuda_compiler_version11.2cxx_compiler_version10: + CONFIG: linux_64_c_compiler_version10cuda_compilernvcccuda_compiler_version11.2cxx_compiler_version10 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.2 + linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12: + CONFIG: linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12 + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_c_compiler_version7cuda_compilernvcccuda_compiler_version10.2cxx_compiler_version7: + CONFIG: linux_64_c_compiler_version7cuda_compilernvcccuda_compiler_version10.2cxx_compiler_version7 + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-cuda:10.2 + linux_64_c_compiler_version9cuda_compilernvcccuda_compiler_version11.0cxx_compiler_version9: + CONFIG: linux_64_c_compiler_version9cuda_compilernvcccuda_compiler_version11.0cxx_compiler_version9 + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.0 timeoutInMinutes: 360 steps: @@ -44,6 +48,11 @@ jobs: export CI=azure 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: diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 79126ea..044d0ea 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -5,66 +5,48 @@ jobs: - job: win pool: - vmImage: vs2017-win2016 + vmImage: windows-2022 strategy: matrix: - win_64_cuda_compiler_version10.2: - CONFIG: win_64_cuda_compiler_version10.2 + win_64_cuda_compilernvcccuda_compiler_version10.2: + CONFIG: win_64_cuda_compilernvcccuda_compiler_version10.2 UPLOAD_PACKAGES: 'True' - win_64_cuda_compiler_version11.0: - CONFIG: win_64_cuda_compiler_version11.0 + win_64_cuda_compilernvcccuda_compiler_version11.0: + CONFIG: win_64_cuda_compilernvcccuda_compiler_version11.0 UPLOAD_PACKAGES: 'True' - win_64_cuda_compiler_version11.1: - CONFIG: win_64_cuda_compiler_version11.1 + win_64_cuda_compilernvcccuda_compiler_version11.1: + CONFIG: win_64_cuda_compilernvcccuda_compiler_version11.1 UPLOAD_PACKAGES: 'True' - win_64_cuda_compiler_version11.2: - CONFIG: win_64_cuda_compiler_version11.2 + win_64_cuda_compilernvcccuda_compiler_version11.2: + CONFIG: win_64_cuda_compilernvcccuda_compiler_version11.2 UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: CONDA_BLD_PATH: D:\\bld\\ + UPLOAD_TEMP: D:\\tmp steps: - - script: | - choco install vcpython27 -fdv -y --debug - condition: contains(variables['CONFIG'], 'vs2008') - displayName: Install vcpython27.msi (if needed) - - # Cygwin's git breaks conda-build. (See https://github.com/conda-forge/conda-smithy-feedstock/pull/2.) - # - script: rmdir C:\cygwin /s /q - # continueOnError: true - - - powershell: | - Set-PSDebug -Trace 1 - - $batchcontent = @" - ECHO ON - SET vcpython=C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0 - - DIR "%vcpython%" - - CALL "%vcpython%\vcvarsall.bat" %* - "@ - - $batchDir = "C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC" - $batchPath = "$batchDir" + "\vcvarsall.bat" - New-Item -Path $batchPath -ItemType "file" -Force - - Set-Content -Value $batchcontent -Path $batchPath - - Get-ChildItem -Path $batchDir + - task: PythonScript@0 + displayName: 'Download Miniforge' + inputs: + scriptSource: inline + script: | + import urllib.request + url = 'https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Windows-x86_64.exe' + path = r"$(Build.ArtifactStagingDirectory)/Miniforge.exe" + urllib.request.urlretrieve(url, path) - Get-ChildItem -Path ($batchDir + '\..') + - script: | + start /wait "" %BUILD_ARTIFACTSTAGINGDIRECTORY%\Miniforge.exe /InstallationType=JustMe /RegisterPython=0 /S /D=C:\Miniforge + displayName: Install Miniforge - condition: contains(variables['CONFIG'], 'vs2008') - displayName: Patch vs2008 (if needed) + - powershell: Write-Host "##vso[task.prependpath]C:\Miniforge\Scripts" + displayName: Add conda to PATH - - task: CondaEnvironment@1 - inputs: - packageSpecs: 'python=3.6 conda-build conda "conda-forge-ci-setup=3" pip' # Optional - installOptions: "-c conda-forge" - updateConda: true - displayName: Install conda-build and activate environment + - script: | + call activate base + mamba.exe install "python=3.10" conda-build conda pip boa conda-forge-ci-setup=3 -c conda-forge --strict-channel-priority --yes + displayName: Install conda-build - script: set PYTHONUNBUFFERED=1 displayName: Set PYTHONUNBUFFERED @@ -81,25 +63,16 @@ jobs: call activate base run_conda_forge_build_setup displayName: conda-forge build setup - - - # Special cased version setting some more things! - - script: | - call activate base - conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml - displayName: Build recipe (vs2008) - env: - VS90COMNTOOLS: "C:\\Program Files (x86)\\Common Files\\Microsoft\\Visual C++ for Python\\9.0\\VC\\bin" - PYTHONUNBUFFERED: 1 - condition: contains(variables['CONFIG'], 'vs2008') - script: | call activate base - conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml + if EXIST LICENSE.txt ( + copy LICENSE.txt "recipe\\recipe-scripts-license.txt" + ) + conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables displayName: Build recipe env: PYTHONUNBUFFERED: 1 - condition: not(contains(variables['CONFIG'], 'vs2008')) - script: | set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" call activate base @@ -109,6 +82,9 @@ jobs: - script: | set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" + set "TEMP=$(UPLOAD_TEMP)" + if not exist "%TEMP%\" md "%TEMP%" + set "TMP=%TEMP%" call activate base upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml displayName: Upload package @@ -116,4 +92,4 @@ jobs: BINSTAR_TOKEN: $(BINSTAR_TOKEN) FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) - condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False'))) \ No newline at end of file + condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False')), not(eq(variables['Build.Reason'], 'PullRequest'))) \ No newline at end of file diff --git a/.ci_support/README b/.ci_support/README index e4e2dce..a47316b 100644 --- a/.ci_support/README +++ b/.ci_support/README @@ -1 +1,6 @@ -This file is automatically generated by conda-smithy. To change any matrix elements, you should change conda-smithy's input conda_build_config.yaml and re-render the recipe, rather than editing these files directly. \ No newline at end of file +This file is automatically generated by conda-smithy. If any +particular build configuration is expected, but it is not found, +please make sure all dependencies are satisfiable. To add/modify any +matrix elements, you should create/change conda-smithy's input +recipe/conda_build_config.yaml and re-render the recipe, rather than +editing these files directly. diff --git a/.ci_support/linux_64_cuda_compiler_version11.1.yaml b/.ci_support/linux_64_c_compiler_version10cuda_compilernvcccuda_compiler_version11.1cxx_compiler_version10.yaml similarity index 77% rename from .ci_support/linux_64_cuda_compiler_version11.1.yaml rename to .ci_support/linux_64_c_compiler_version10cuda_compilernvcccuda_compiler_version11.1cxx_compiler_version10.yaml index cb6c5c1..3272a46 100644 --- a/.ci_support/linux_64_cuda_compiler_version11.1.yaml +++ b/.ci_support/linux_64_c_compiler_version10cuda_compilernvcccuda_compiler_version11.1cxx_compiler_version10.yaml @@ -1,13 +1,13 @@ boost_cpp: -- 1.74.0 +- 1.78.0 c_compiler: - gcc c_compiler_version: -- '7' +- '10' cdt_name: - cos7 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cuda_compiler: @@ -17,29 +17,26 @@ cuda_compiler_version: cxx_compiler: - gxx cxx_compiler_version: -- '7' +- '10' docker_image: - quay.io/condaforge/linux-anvil-cuda:11.1 fftw: - '3' libblas: -- 3.8 *netlib +- 3.9 *netlib liblapack: -- 3.8 *netlib +- 3.9 *netlib libtiff: -- '4' +- '4.4' pin_run_as_build: boost-cpp: max_pin: x.x.x - fftw: - max_pin: x - libtiff: - max_pin: x target_platform: - linux-64 zip_keys: - - c_compiler_version - cxx_compiler_version -- - cdt_name + - cuda_compiler - cuda_compiler_version + - cdt_name - docker_image diff --git a/.ci_support/linux_64_cuda_compiler_version11.2.yaml b/.ci_support/linux_64_c_compiler_version10cuda_compilernvcccuda_compiler_version11.2cxx_compiler_version10.yaml similarity index 77% rename from .ci_support/linux_64_cuda_compiler_version11.2.yaml rename to .ci_support/linux_64_c_compiler_version10cuda_compilernvcccuda_compiler_version11.2cxx_compiler_version10.yaml index bfc3893..d1e2615 100644 --- a/.ci_support/linux_64_cuda_compiler_version11.2.yaml +++ b/.ci_support/linux_64_c_compiler_version10cuda_compilernvcccuda_compiler_version11.2cxx_compiler_version10.yaml @@ -1,13 +1,13 @@ boost_cpp: -- 1.74.0 +- 1.78.0 c_compiler: - gcc c_compiler_version: -- '7' +- '10' cdt_name: - cos7 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cuda_compiler: @@ -17,29 +17,26 @@ cuda_compiler_version: cxx_compiler: - gxx cxx_compiler_version: -- '7' +- '10' docker_image: - quay.io/condaforge/linux-anvil-cuda:11.2 fftw: - '3' libblas: -- 3.8 *netlib +- 3.9 *netlib liblapack: -- 3.8 *netlib +- 3.9 *netlib libtiff: -- '4' +- '4.4' pin_run_as_build: boost-cpp: max_pin: x.x.x - fftw: - max_pin: x - libtiff: - max_pin: x target_platform: - linux-64 zip_keys: - - c_compiler_version - cxx_compiler_version -- - cdt_name + - cuda_compiler - cuda_compiler_version + - cdt_name - docker_image diff --git a/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml b/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml new file mode 100644 index 0000000..464490b --- /dev/null +++ b/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml @@ -0,0 +1,42 @@ +boost_cpp: +- 1.78.0 +c_compiler: +- gcc +c_compiler_version: +- '12' +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '12.0' +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fftw: +- '3' +libblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +libtiff: +- '4.4' +pin_run_as_build: + boost-cpp: + max_pin: x.x.x +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - cuda_compiler + - cuda_compiler_version + - cdt_name + - docker_image diff --git a/.ci_support/linux_64_cuda_compiler_version10.2.yaml b/.ci_support/linux_64_c_compiler_version7cuda_compilernvcccuda_compiler_version10.2cxx_compiler_version7.yaml similarity index 72% rename from .ci_support/linux_64_cuda_compiler_version10.2.yaml rename to .ci_support/linux_64_c_compiler_version7cuda_compilernvcccuda_compiler_version10.2cxx_compiler_version7.yaml index 9399671..45a80a0 100644 --- a/.ci_support/linux_64_cuda_compiler_version10.2.yaml +++ b/.ci_support/linux_64_c_compiler_version7cuda_compilernvcccuda_compiler_version10.2cxx_compiler_version7.yaml @@ -1,5 +1,5 @@ boost_cpp: -- 1.74.0 +- 1.78.0 c_compiler: - gcc c_compiler_version: @@ -7,7 +7,7 @@ c_compiler_version: cdt_name: - cos6 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cuda_compiler: @@ -19,27 +19,24 @@ cxx_compiler: cxx_compiler_version: - '7' docker_image: -- quay.io/condaforge/linux-anvil-cuda:10.2 +- quay.io/condaforge/linux-anvil-cos7-cuda:10.2 fftw: - '3' libblas: -- 3.8 *netlib +- 3.9 *netlib liblapack: -- 3.8 *netlib +- 3.9 *netlib libtiff: -- '4' +- '4.4' pin_run_as_build: boost-cpp: max_pin: x.x.x - fftw: - max_pin: x - libtiff: - max_pin: x target_platform: - linux-64 zip_keys: - - c_compiler_version - cxx_compiler_version -- - cdt_name + - cuda_compiler - cuda_compiler_version + - cdt_name - docker_image diff --git a/.ci_support/linux_64_cuda_compiler_version11.0.yaml b/.ci_support/linux_64_c_compiler_version9cuda_compilernvcccuda_compiler_version11.0cxx_compiler_version9.yaml similarity index 77% rename from .ci_support/linux_64_cuda_compiler_version11.0.yaml rename to .ci_support/linux_64_c_compiler_version9cuda_compilernvcccuda_compiler_version11.0cxx_compiler_version9.yaml index f207747..387f04d 100644 --- a/.ci_support/linux_64_cuda_compiler_version11.0.yaml +++ b/.ci_support/linux_64_c_compiler_version9cuda_compilernvcccuda_compiler_version11.0cxx_compiler_version9.yaml @@ -1,13 +1,13 @@ boost_cpp: -- 1.74.0 +- 1.78.0 c_compiler: - gcc c_compiler_version: -- '7' +- '9' cdt_name: - cos7 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cuda_compiler: @@ -17,29 +17,26 @@ cuda_compiler_version: cxx_compiler: - gxx cxx_compiler_version: -- '7' +- '9' docker_image: - quay.io/condaforge/linux-anvil-cuda:11.0 fftw: - '3' libblas: -- 3.8 *netlib +- 3.9 *netlib liblapack: -- 3.8 *netlib +- 3.9 *netlib libtiff: -- '4' +- '4.4' pin_run_as_build: boost-cpp: max_pin: x.x.x - fftw: - max_pin: x - libtiff: - max_pin: x target_platform: - linux-64 zip_keys: - - c_compiler_version - cxx_compiler_version -- - cdt_name + - cuda_compiler - cuda_compiler_version + - cdt_name - docker_image diff --git a/.ci_support/migrations/cuda110.yaml b/.ci_support/migrations/cuda110.yaml deleted file mode 100644 index 5453edc..0000000 --- a/.ci_support/migrations/cuda110.yaml +++ /dev/null @@ -1,81 +0,0 @@ -migrator_ts: 1601612527 -__migrator: - kind: - version - migration_number: - 1 - build_number: - 1 - override_cbc_keys: - - cuda_compiler_stub - ordering: - cxx_compiler_version: - - 9 - - 8 - - 7 - c_compiler_version: - - 9 - - 8 - - 7 - docker_image: - - quay.io/condaforge/linux-anvil-comp7 # [os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cos7-x86_64 # [os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-aarch64 # [os.environ.get("BUILD_PLATFORM") == "linux-aarch64"] - - quay.io/condaforge/linux-anvil-ppc64le # [os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"] - - quay.io/condaforge/linux-anvil-armv7l # [os.environ.get("BUILD_PLATFORM") == "linux-armv7l"] - - quay.io/condaforge/linux-anvil-cuda:9.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cos7-cuda:9.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cuda:10.0 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cos7-cuda:10.0 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cuda:10.1 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cos7-cuda:10.1 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cuda:10.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cos7-cuda:10.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cuda:11.0 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cuda:11.1 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cuda:11.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - -cuda_compiler_version: - - None - - 10.2 # [linux64] - - 11.0 # [linux64] - -c_compiler_version: # [linux] - - 7 # [linux64 or aarch64] - - 8 # [ppc64le] -cxx_compiler_version: # [linux] - - 7 # [linux64 or aarch64] - - 8 # [ppc64le] - -cudnn: - - undefined - - 7 # [linux64] - - 8 # [linux64] - -cdt_name: # [linux] - - cos6 # [linux64 and os.environ.get("DEFAULT_LINUX_VERSION", "cos6") == "cos6"] - - cos7 # [linux64 and os.environ.get("DEFAULT_LINUX_VERSION", "cos6") == "cos7"] - - cos7 # [linux and aarch64] - - cos7 # [linux and ppc64le] - - cos7 # [linux and armv7l] - - - cos6 # [linux64 and os.environ.get("DEFAULT_LINUX_VERSION", "cos6") == "cos6"] - - cos7 # [linux64 and os.environ.get("DEFAULT_LINUX_VERSION", "cos6") == "cos7"] - - cos7 # [linux64] - -docker_image: # [os.environ.get("BUILD_PLATFORM", "").startswith("linux-")] - - quay.io/condaforge/linux-anvil-comp7 # [os.environ.get("BUILD_PLATFORM") == "linux-64" and os.environ.get("DEFAULT_LINUX_VERSION", "cos6") == "cos6"] - - quay.io/condaforge/linux-anvil-cos7-x86_64 # [os.environ.get("BUILD_PLATFORM") == "linux-64" and os.environ.get("DEFAULT_LINUX_VERSION", "cos6") == "cos7"] - - quay.io/condaforge/linux-anvil-aarch64 # [os.environ.get("BUILD_PLATFORM") == "linux-aarch64"] - - quay.io/condaforge/linux-anvil-ppc64le # [os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"] - - quay.io/condaforge/linux-anvil-armv7l # [os.environ.get("BUILD_PLATFORM") == "linux-armv7l"] - - - quay.io/condaforge/linux-anvil-cuda:10.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64" and os.environ.get("DEFAULT_LINUX_VERSION", "cos6") == "cos6"] - - quay.io/condaforge/linux-anvil-cos7-cuda:10.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64" and os.environ.get("DEFAULT_LINUX_VERSION", "cos6") == "cos7"] - - quay.io/condaforge/linux-anvil-cuda:11.0 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - -zip_keys: - - - cudnn # [linux64] - - cuda_compiler_version # [linux64] - - docker_image # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - cdt_name # [linux64] diff --git a/.ci_support/migrations/cuda111_112.yaml b/.ci_support/migrations/cuda111_112.yaml deleted file mode 100644 index 7752337..0000000 --- a/.ci_support/migrations/cuda111_112.yaml +++ /dev/null @@ -1,29 +0,0 @@ -migrator_ts: 1611736740 -__migrator: - kind: - version - migration_number: - 1 - build_number: - 1 - override_cbc_keys: - - cuda_compiler_stub - operation: key_add - check_solvable: false - primary_key: cuda_compiler_version - -cuda_compiler_version: # [linux64 or win] - - 11.1 # [linux64 or win] - - 11.2 # [linux64 or win] - -cudnn: # [linux64 or win] - - 8 # [linux64 or win] - - 8 # [linux64 or win] - -cdt_name: # [linux] - - cos7 # [linux64] - - cos7 # [linux64] - -docker_image: # [os.environ.get("BUILD_PLATFORM", "").startswith("linux-")] - - quay.io/condaforge/linux-anvil-cuda:11.1 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cuda:11.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] diff --git a/.ci_support/migrations/windows_cuda.yaml b/.ci_support/migrations/windows_cuda.yaml deleted file mode 100644 index 3eef3dc..0000000 --- a/.ci_support/migrations/windows_cuda.yaml +++ /dev/null @@ -1,25 +0,0 @@ -migrator_ts: 1604255168 -__migrator: - kind: - version - migration_number: - 1 - build_number: - 1 - override_cbc_keys: - - cuda_compiler_stub - check_solvable: false - -cuda_compiler: # [win] - - nvcc # [win] -cuda_compiler_version: # [win] - - None # [win] - - 10.2 # [win] - - 11.0 # [win] -cudnn: # [win] - - undefined # [win] - - 7 # [win] - - 8 # [win] -zip_keys: # [win] - - - cudnn # [win] - - cuda_compiler_version # [win] diff --git a/.ci_support/win_64_cuda_compiler_version10.2.yaml b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version10.2.yaml similarity index 66% rename from .ci_support/win_64_cuda_compiler_version10.2.yaml rename to .ci_support/win_64_cuda_compilernvcccuda_compiler_version10.2.yaml index a380492..d218983 100644 --- a/.ci_support/win_64_cuda_compiler_version10.2.yaml +++ b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version10.2.yaml @@ -1,9 +1,9 @@ boost_cpp: -- 1.74.0 +- 1.78.0 c_compiler: -- vs2017 +- vs2019 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cuda_compiler: @@ -11,21 +11,20 @@ cuda_compiler: cuda_compiler_version: - '10.2' cxx_compiler: -- vs2017 +- vs2019 fftw: - '3' libblas: -- 3.8 *netlib +- 3.9 *netlib liblapack: -- 3.8 *netlib +- 3.9 *netlib libtiff: -- '4' +- '4.4' pin_run_as_build: boost-cpp: max_pin: x.x.x - fftw: - max_pin: x - libtiff: - max_pin: x target_platform: - win-64 +zip_keys: +- - cuda_compiler + - cuda_compiler_version diff --git a/.ci_support/win_64_cuda_compiler_version11.0.yaml b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.0.yaml similarity index 66% rename from .ci_support/win_64_cuda_compiler_version11.0.yaml rename to .ci_support/win_64_cuda_compilernvcccuda_compiler_version11.0.yaml index 92f2d42..da8e833 100644 --- a/.ci_support/win_64_cuda_compiler_version11.0.yaml +++ b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.0.yaml @@ -1,9 +1,9 @@ boost_cpp: -- 1.74.0 +- 1.78.0 c_compiler: -- vs2017 +- vs2019 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cuda_compiler: @@ -11,21 +11,20 @@ cuda_compiler: cuda_compiler_version: - '11.0' cxx_compiler: -- vs2017 +- vs2019 fftw: - '3' libblas: -- 3.8 *netlib +- 3.9 *netlib liblapack: -- 3.8 *netlib +- 3.9 *netlib libtiff: -- '4' +- '4.4' pin_run_as_build: boost-cpp: max_pin: x.x.x - fftw: - max_pin: x - libtiff: - max_pin: x target_platform: - win-64 +zip_keys: +- - cuda_compiler + - cuda_compiler_version diff --git a/.ci_support/win_64_cuda_compiler_version11.1.yaml b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.1.yaml similarity index 66% rename from .ci_support/win_64_cuda_compiler_version11.1.yaml rename to .ci_support/win_64_cuda_compilernvcccuda_compiler_version11.1.yaml index 38451a8..e5b3fe3 100644 --- a/.ci_support/win_64_cuda_compiler_version11.1.yaml +++ b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.1.yaml @@ -1,9 +1,9 @@ boost_cpp: -- 1.74.0 +- 1.78.0 c_compiler: -- vs2017 +- vs2019 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cuda_compiler: @@ -11,21 +11,20 @@ cuda_compiler: cuda_compiler_version: - '11.1' cxx_compiler: -- vs2017 +- vs2019 fftw: - '3' libblas: -- 3.8 *netlib +- 3.9 *netlib liblapack: -- 3.8 *netlib +- 3.9 *netlib libtiff: -- '4' +- '4.4' pin_run_as_build: boost-cpp: max_pin: x.x.x - fftw: - max_pin: x - libtiff: - max_pin: x target_platform: - win-64 +zip_keys: +- - cuda_compiler + - cuda_compiler_version diff --git a/.ci_support/win_64_cuda_compiler_version11.2.yaml b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.2.yaml similarity index 66% rename from .ci_support/win_64_cuda_compiler_version11.2.yaml rename to .ci_support/win_64_cuda_compilernvcccuda_compiler_version11.2.yaml index ca5f674..87a9edc 100644 --- a/.ci_support/win_64_cuda_compiler_version11.2.yaml +++ b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.2.yaml @@ -1,9 +1,9 @@ boost_cpp: -- 1.74.0 +- 1.78.0 c_compiler: -- vs2017 +- vs2019 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cuda_compiler: @@ -11,21 +11,20 @@ cuda_compiler: cuda_compiler_version: - '11.2' cxx_compiler: -- vs2017 +- vs2019 fftw: - '3' libblas: -- 3.8 *netlib +- 3.9 *netlib liblapack: -- 3.8 *netlib +- 3.9 *netlib libtiff: -- '4' +- '4.4' pin_run_as_build: boost-cpp: max_pin: x.x.x - fftw: - max_pin: x - libtiff: - max_pin: x target_platform: - win-64 +zip_keys: +- - cuda_compiler + - cuda_compiler_version diff --git a/.circleci/config.yml b/.circleci/config.yml index 6ad461b..8b4ef2f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,13 +1,14 @@ # 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 -*- +# -*- mode: jinja-yaml -*- version: 2 jobs: build: working_directory: ~/test - machine: true + machine: + image: ubuntu-2004:current steps: - run: # The Circle-CI build should not be active, but if this is not true for some reason, do a fast finish. diff --git a/.gitattributes b/.gitattributes index 9060b27..7f32763 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9,6 +9,7 @@ bld.bat text eol=crlf # github helper pieces to make some files not show up in diffs automatically .azure-pipelines/* linguist-generated=true .circleci/* linguist-generated=true +.ci_support/README linguist-generated=true .drone/* linguist-generated=true .drone.yml linguist-generated=true .github/* linguist-generated=true @@ -18,6 +19,7 @@ bld.bat text eol=crlf .gitignore linguist-generated=true .travis.yml linguist-generated=true .scripts/* linguist-generated=true +.woodpecker.yml linguist-generated=true LICENSE.txt linguist-generated=true README.md linguist-generated=true azure-pipelines.yml linguist-generated=true diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 71a0686..595f8b5 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -5,6 +5,8 @@ # changes to this script, consider a proposal to conda-smithy so that other feedstocks can also # benefit from the improvement. +# -*- mode: jinja-shell -*- + set -xeuo pipefail export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" source ${FEEDSTOCK_ROOT}/.scripts/logging_utils.sh @@ -22,12 +24,18 @@ export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" cat >~/.condarc < /dev/null +if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then + cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt" +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}" @@ -51,7 +64,7 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda $BUILD_CMD "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" ( startgroup "Validating outputs" ) 2> /dev/null @@ -62,7 +75,7 @@ else ( startgroup "Uploading packages" ) 2> /dev/null - if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then + if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" fi diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 244ccd1..9236239 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -14,7 +14,7 @@ set -xeo pipefail THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" PROVIDER_DIR="$(basename $THISDIR)" -FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) +FEEDSTOCK_ROOT="$( cd "$( dirname "$0" )/.." >/dev/null && pwd )" RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" if [ -z ${FEEDSTOCK_NAME} ]; then @@ -75,12 +75,15 @@ fi ( startgroup "Start Docker" ) 2> /dev/null export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" +export IS_PR_BUILD="${IS_PR_BUILD:-False}" +docker pull "${DOCKER_IMAGE}" docker run ${DOCKER_RUN_ARGS} \ -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \ -e CONFIG \ -e HOST_USER_ID \ -e UPLOAD_PACKAGES \ + -e IS_PR_BUILD \ -e GIT_BRANCH \ -e UPLOAD_ON_BRANCH \ -e CI \ @@ -91,9 +94,9 @@ docker run ${DOCKER_RUN_ARGS} \ -e BINSTAR_TOKEN \ -e FEEDSTOCK_TOKEN \ -e STAGING_BINSTAR_TOKEN \ - $DOCKER_IMAGE \ + "${DOCKER_IMAGE}" \ bash \ - /home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh + "/home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh" # verify that the end of the script was reached test -f "$DONE_CANARY" diff --git a/LICENSE.txt b/LICENSE.txt index ed3f451..2ec51d7 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,13 +1,27 @@ -BSD 3-clause license -Copyright (c) 2015-2021, conda-forge contributors +BSD-3-Clause license +Copyright (c) 2015-2022, conda-forge contributors All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/README.md b/README.md index f23ada0..debf3c4 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -About cudasirecon -================= +About cudasirecon-feedstock +=========================== + +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/cudasirecon-feedstock/blob/main/LICENSE.txt) Home: https://github.com/scopetools/cudasirecon Package license: GPL-2.0-or-later -Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/cudasirecon-feedstock/blob/master/LICENSE.txt) - Summary: 3-beam SIM reconstruction software, with CUDA acceleration Development: https://github.com/scopetools/cudasirecon @@ -24,66 +24,73 @@ Current build status
- - + + - + - + - + - + - + - + - + - + + + + @@ -111,23 +118,49 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `cudasirecon` can be installed with: +Once the `conda-forge` channel has been enabled, `cudasirecon` can be installed with `conda`: ``` conda install cudasirecon ``` -It is possible to list all of the versions of `cudasirecon` available on your platform with: +or with `mamba`: + +``` +mamba install cudasirecon +``` + +It is possible to list all of the versions of `cudasirecon` available on your platform with `conda`: ``` conda search cudasirecon --channel conda-forge ``` +or with `mamba`: + +``` +mamba search cudasirecon --channel conda-forge +``` + +Alternatively, `mamba repoquery` may provide more information: + +``` +# Search all versions available on your platform: +mamba repoquery search cudasirecon --channel conda-forge + +# List packages depending on `cudasirecon`: +mamba repoquery whoneeds cudasirecon --channel conda-forge + +# List dependencies of `cudasirecon`: +mamba repoquery depends cudasirecon --channel conda-forge +``` + About conda-forge ================= -[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](http://numfocus.org) +[![Powered by +NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org) conda-forge is a community-led conda channel of installable packages. In order to provide high-quality builds, the process has been automated into the @@ -137,10 +170,12 @@ for each of the installable packages. Such a repository is known as a *feedstock A feedstock is made up of a conda recipe (the instructions on what and how to build the package) and the necessary configurations for automatic building using freely available continuous integration services. Thanks to the awesome service provided by -[CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/) -and [TravisCI](https://travis-ci.com/) it is possible to build and upload installable -packages to the [conda-forge](https://anaconda.org/conda-forge) -[Anaconda-Cloud](https://anaconda.org/) channel for Linux, Windows and OSX respectively. +[Azure](https://azure.microsoft.com/en-us/services/devops/), [GitHub](https://github.com/), +[CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/), +[Drone](https://cloud.drone.io/welcome), and [TravisCI](https://travis-ci.com/) +it is possible to build and upload installable packages to the +[conda-forge](https://anaconda.org/conda-forge) [Anaconda-Cloud](https://anaconda.org/) +channel for Linux, Windows and OSX respectively. To manage the continuous integration and simplify feedstock maintenance [conda-smithy](https://github.com/conda-forge/conda-smithy) has been developed. diff --git a/build-locally.py b/build-locally.py index 00eeb34..3f4b7a7 100755 --- a/build-locally.py +++ b/build-locally.py @@ -13,6 +13,7 @@ def setup_environment(ns): os.environ["CONFIG"] = ns.config os.environ["UPLOAD_PACKAGES"] = "False" + os.environ["IS_PR_BUILD"] = "True" if ns.debug: os.environ["BUILD_WITH_CONDA_DEBUG"] = "1" if ns.output_id: @@ -60,11 +61,12 @@ def verify_config(ns): raise ValueError( f"only Linux/macOS configs currently supported, got {ns.config}" ) - elif ns.config.startswith("osx") and platform.system() == "Darwin": + elif ns.config.startswith("osx"): if "OSX_SDK_DIR" not in os.environ: raise RuntimeError( - "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=/opt'" - "to download the SDK automatically to '/opt/MacOSX.sdk'" + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=SDKs' " + "to download the SDK automatically to 'SDKs/MacOSX.sdk'. " + "Setting this variable implies agreement to the licensing terms of the SDK by Apple." ) @@ -84,12 +86,19 @@ def main(args=None): verify_config(ns) setup_environment(ns) - if ns.config.startswith("linux") or ( - ns.config.startswith("osx") and platform.system() == "Linux" - ): - run_docker_build(ns) - elif ns.config.startswith("osx"): - run_osx_build(ns) + try: + if ns.config.startswith("linux") or ( + ns.config.startswith("osx") and platform.system() == "Linux" + ): + run_docker_build(ns) + elif ns.config.startswith("osx"): + run_osx_build(ns) + finally: + recipe_license_file = os.path.join( + "recipe", "recipe-scripts-license.txt" + ) + if os.path.exists(recipe_license_file): + os.remove(recipe_license_file) if __name__ == "__main__": From 0e255e94bc83b5eae5f3be08299fcb178328081f Mon Sep 17 00:00:00 2001 From: Talley Lambert Date: Mon, 5 Jun 2023 13:26:41 -0400 Subject: [PATCH 3/4] add libcufft-dev --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index e36355c..91f87ce 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -28,6 +28,7 @@ requirements: - liblapack - libtiff - fftw + - libcufft-dev # [(cuda_compiler_version or "").startswith("12")] run: - boost-cpp From 6d08c02b5ea97edea396c22003632c34a9a0d1d3 Mon Sep 17 00:00:00 2001 From: Talley Lambert Date: Mon, 5 Jun 2023 13:30:31 -0400 Subject: [PATCH 4/4] use vs2017 --- .../win_64_cuda_compilernvcccuda_compiler_version10.2.yaml | 4 ++-- .../win_64_cuda_compilernvcccuda_compiler_version11.0.yaml | 4 ++-- .../win_64_cuda_compilernvcccuda_compiler_version11.1.yaml | 4 ++-- .../win_64_cuda_compilernvcccuda_compiler_version11.2.yaml | 4 ++-- recipe/conda_build_config.yaml | 6 +++++- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.ci_support/win_64_cuda_compilernvcccuda_compiler_version10.2.yaml b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version10.2.yaml index d218983..bc71d9c 100644 --- a/.ci_support/win_64_cuda_compilernvcccuda_compiler_version10.2.yaml +++ b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version10.2.yaml @@ -1,7 +1,7 @@ boost_cpp: - 1.78.0 c_compiler: -- vs2019 +- vs2017 channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ cuda_compiler: cuda_compiler_version: - '10.2' cxx_compiler: -- vs2019 +- vs2017 fftw: - '3' libblas: diff --git a/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.0.yaml b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.0.yaml index da8e833..6c0041b 100644 --- a/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.0.yaml +++ b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.0.yaml @@ -1,7 +1,7 @@ boost_cpp: - 1.78.0 c_compiler: -- vs2019 +- vs2017 channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ cuda_compiler: cuda_compiler_version: - '11.0' cxx_compiler: -- vs2019 +- vs2017 fftw: - '3' libblas: diff --git a/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.1.yaml b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.1.yaml index e5b3fe3..90e05f0 100644 --- a/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.1.yaml +++ b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.1.yaml @@ -1,7 +1,7 @@ boost_cpp: - 1.78.0 c_compiler: -- vs2019 +- vs2017 channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ cuda_compiler: cuda_compiler_version: - '11.1' cxx_compiler: -- vs2019 +- vs2017 fftw: - '3' libblas: diff --git a/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.2.yaml b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.2.yaml index 87a9edc..14059de 100644 --- a/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.2.yaml +++ b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.2.yaml @@ -1,7 +1,7 @@ boost_cpp: - 1.78.0 c_compiler: -- vs2019 +- vs2017 channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ cuda_compiler: cuda_compiler_version: - '11.2' cxx_compiler: -- vs2019 +- vs2017 fftw: - '3' libblas: diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 8126d3a..ccf2655 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -1,7 +1,11 @@ # These are for compatibility with nvcc +c_compiler: # [win] + - vs2017 # [win] c_compiler_version: # [linux] - 7 # [linux] +cxx_compiler: # [win] + - vs2017 # [win] cxx_compiler_version: # [linux] - 7 # [linux] fortran_compiler_version: # [linux] - - 7 # [linux] \ No newline at end of file + - 7 # [linux]
VariantStatus
linux_64_cuda_compiler_version10.2linux_64_c_compiler_version10cuda_compilernvcccuda_compiler_version11.1cxx_compiler_version10 - - variant + + variant
linux_64_cuda_compiler_version11.0linux_64_c_compiler_version10cuda_compilernvcccuda_compiler_version11.2cxx_compiler_version10 - - variant + + variant
linux_64_cuda_compiler_version11.1linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12 - - variant + + variant
linux_64_cuda_compiler_version11.2linux_64_c_compiler_version7cuda_compilernvcccuda_compiler_version10.2cxx_compiler_version7 - - variant + + variant
win_64_cuda_compiler_version10.2linux_64_c_compiler_version9cuda_compilernvcccuda_compiler_version11.0cxx_compiler_version9 - - variant + + variant
win_64_cuda_compiler_version11.0win_64_cuda_compilernvcccuda_compiler_version10.2 - - variant + + variant
win_64_cuda_compiler_version11.1win_64_cuda_compilernvcccuda_compiler_version11.0 - - variant + + variant
win_64_cuda_compiler_version11.2win_64_cuda_compilernvcccuda_compiler_version11.1 - - variant + + variant + +
win_64_cuda_compilernvcccuda_compiler_version11.2 + + variant