diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 2a9b754d..12aa1462 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,28 +8,28 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - ? linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeconda - : CONFIG: linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeconda + linux_64_cuda_compiler_version11.8mpi_typeconda: + CONFIG: linux_64_cuda_compiler_version11.8mpi_typeconda UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64-cuda11.8:cos7 - ? linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeexternal - : CONFIG: linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeexternal + linux_64_cuda_compiler_version11.8mpi_typeexternal: + CONFIG: linux_64_cuda_compiler_version11.8mpi_typeexternal UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64-cuda11.8:cos7 - ? linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeconda - : CONFIG: linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeconda + linux_aarch64_cuda_compiler_version11.8mpi_typeconda: + CONFIG: linux_aarch64_cuda_compiler_version11.8mpi_typeconda UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64-cuda11.8:ubi8 - ? linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeexternal - : CONFIG: linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeexternal + linux_aarch64_cuda_compiler_version11.8mpi_typeexternal: + CONFIG: linux_aarch64_cuda_compiler_version11.8mpi_typeexternal UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64-cuda11.8:ubi8 - ? linux_ppc64le_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeconda - : CONFIG: linux_ppc64le_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeconda + linux_ppc64le_cuda_compiler_version11.8mpi_typeconda: + CONFIG: linux_ppc64le_cuda_compiler_version11.8mpi_typeconda UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64-cuda11.8:ubi8 - ? linux_ppc64le_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeexternal - : CONFIG: linux_ppc64le_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeexternal + linux_ppc64le_cuda_compiler_version11.8mpi_typeexternal: + CONFIG: linux_ppc64le_cuda_compiler_version11.8mpi_typeexternal UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64-cuda11.8:ubi8 timeoutInMinutes: 360 diff --git a/.ci_support/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeconda.yaml b/.ci_support/linux_64_cuda_compiler_version11.8mpi_typeconda.yaml similarity index 100% rename from .ci_support/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeconda.yaml rename to .ci_support/linux_64_cuda_compiler_version11.8mpi_typeconda.yaml diff --git a/.ci_support/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeexternal.yaml b/.ci_support/linux_64_cuda_compiler_version11.8mpi_typeexternal.yaml similarity index 100% rename from .ci_support/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeexternal.yaml rename to .ci_support/linux_64_cuda_compiler_version11.8mpi_typeexternal.yaml diff --git a/.ci_support/linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeconda.yaml b/.ci_support/linux_aarch64_cuda_compiler_version11.8mpi_typeconda.yaml similarity index 100% rename from .ci_support/linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeconda.yaml rename to .ci_support/linux_aarch64_cuda_compiler_version11.8mpi_typeconda.yaml diff --git a/.ci_support/linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeexternal.yaml b/.ci_support/linux_aarch64_cuda_compiler_version11.8mpi_typeexternal.yaml similarity index 100% rename from .ci_support/linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeexternal.yaml rename to .ci_support/linux_aarch64_cuda_compiler_version11.8mpi_typeexternal.yaml diff --git a/.ci_support/linux_ppc64le_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeconda.yaml b/.ci_support/linux_ppc64le_cuda_compiler_version11.8mpi_typeconda.yaml similarity index 100% rename from .ci_support/linux_ppc64le_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeconda.yaml rename to .ci_support/linux_ppc64le_cuda_compiler_version11.8mpi_typeconda.yaml diff --git a/.ci_support/linux_ppc64le_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeexternal.yaml b/.ci_support/linux_ppc64le_cuda_compiler_version11.8mpi_typeexternal.yaml similarity index 100% rename from .ci_support/linux_ppc64le_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeexternal.yaml rename to .ci_support/linux_ppc64le_cuda_compiler_version11.8mpi_typeexternal.yaml diff --git a/.gitignore b/.gitignore index bb385366..47b5408a 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,5 @@ # Rattler-build's artifacts are in `output` when not specifying anything. /output +# Pixi's configuration +.pixi diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 00f377a8..6ee04aa1 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -12,7 +12,7 @@ source .scripts/logging_utils.sh set -xeo pipefail THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" -PROVIDER_DIR="$(basename $THISDIR)" +PROVIDER_DIR="$(basename "$THISDIR")" FEEDSTOCK_ROOT="$( cd "$( dirname "$0" )/.." >/dev/null && pwd )" RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" diff --git a/README.md b/README.md index 41027e97..24b6f073 100644 --- a/README.md +++ b/README.md @@ -36,45 +36,45 @@ Current build status - + - + - + - + - + - + diff --git a/build-locally.py b/build-locally.py index c4a56c66..02c23747 100755 --- a/build-locally.py +++ b/build-locally.py @@ -10,6 +10,7 @@ import os import platform import subprocess +import sys from argparse import ArgumentParser @@ -44,10 +45,19 @@ def run_osx_build(ns): subprocess.check_call([script]) +def run_win_build(ns): + script = ".scripts/run_win_build.bat" + subprocess.check_call(["cmd", "/D", "/Q", "/C", f"CALL {script}"]) + + def verify_config(ns): + choices_filter = ns.filter or "*" valid_configs = { - os.path.basename(f)[:-5] for f in glob.glob(".ci_support/*.yaml") + os.path.basename(f)[:-5] + for f in glob.glob(f".ci_support/{choices_filter}.yaml") } + if choices_filter != "*": + print(f"filtering for '{choices_filter}.yaml' configs") print(f"valid configs are {valid_configs}") if ns.config in valid_configs: print("Using " + ns.config + " configuration") @@ -60,30 +70,37 @@ def verify_config(ns): selections = list(enumerate(sorted(valid_configs), 1)) for i, c in selections: print(f"{i}. {c}") - s = input("\n> ") + try: + s = input("\n> ") + except KeyboardInterrupt: + print("\nno option selected, bye!", file=sys.stderr) + sys.exit(1) idx = int(s) - 1 ns.config = selections[idx][1] print(f"selected {ns.config}") else: raise ValueError("config " + ns.config + " is not valid") - # Remove the following, as implemented - if ns.config.startswith("win"): - raise ValueError( - f"only Linux/macOS configs currently supported, got {ns.config}" + if ( + ns.config.startswith("osx") + and platform.system() == "Darwin" + and not os.environ.get("OSX_SDK_DIR") + ): + raise RuntimeError( + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=$PWD/SDKs' " + "to download the SDK automatically to '$PWD/SDKs/MacOSX.sdk'. " + "Note: OSX_SDK_DIR must be set to an absolute path. " + "Setting this variable implies agreement to the licensing terms of the SDK by Apple." ) - 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=$PWD/SDKs' " - "to download the SDK automatically to '$PWD/SDKs/MacOSX.sdk'. " - "Note: OSX_SDK_DIR must be set to an absolute path. " - "Setting this variable implies agreement to the licensing terms of the SDK by Apple." - ) def main(args=None): p = ArgumentParser("build-locally") p.add_argument("config", default=None, nargs="?") + p.add_argument( + "--filter", + default=None, + help="Glob string to filter which build choices are presented in interactive mode.", + ) p.add_argument( "--debug", action="store_true", @@ -104,6 +121,8 @@ def main(args=None): run_docker_build(ns) elif ns.config.startswith("osx"): run_osx_build(ns) + elif ns.config.startswith("win"): + run_win_build(ns) finally: recipe_license_file = os.path.join( "recipe", "recipe-scripts-license.txt" diff --git a/conda-forge.yml b/conda-forge.yml index 831dd508..40b3c7a9 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,4 +1,5 @@ azure: + store_build_artifacts: false free_disk_space: true settings_linux: swapfile_size: 10GiB diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8ccb7853..bcdce170 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,7 +1,7 @@ {% set version = "5.0.7" %} {% set major = version.rpartition('.')[0] %} {% set cuda_major = (cuda_compiler_version|default("11.8")).rpartition('.')[0] %} -{% set build = 0 %} +{% set build = 1 %} # give conda package a higher build number {% if mpi_type == 'conda' %} @@ -94,7 +94,7 @@ outputs: run: - {{ pin_subpackage('openmpi', exact=True) }} # host C compilers work fine (better) on mac - - {{ compiler('c') }} + - {{ compiler('c') | replace(' ', '>=', 1) }} test: script: run_test.sh files: @@ -110,7 +110,7 @@ outputs: run: - {{ pin_subpackage('openmpi', exact=True) }} # host C compilers work fine (better) on mac - - {{ compiler('cxx') }} + - {{ compiler('cxx') | replace(' ', '>=', 1) }} test: script: run_test.sh files: @@ -125,7 +125,7 @@ outputs: - {{ stdlib('c') }} run: - {{ pin_subpackage('openmpi', exact=True) }} - - {{ compiler('fortran') }} + - {{ compiler('fortran') | replace(' ', '>=', 1) }} test: script: run_test.sh files:
VariantStatus
linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typecondalinux_64_cuda_compiler_version11.8mpi_typeconda - variant + variant
linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeexternallinux_64_cuda_compiler_version11.8mpi_typeexternal - variant + variant
linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typecondalinux_aarch64_cuda_compiler_version11.8mpi_typeconda - variant + variant
linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeexternallinux_aarch64_cuda_compiler_version11.8mpi_typeexternal - variant + variant
linux_ppc64le_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typecondalinux_ppc64le_cuda_compiler_version11.8mpi_typeconda - variant + variant
linux_ppc64le_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11fortran_compiler_version11mpi_typeexternallinux_ppc64le_cuda_compiler_version11.8mpi_typeexternal - variant + variant