From 4ddbb50d3e582af515056d36d10170da0ceb0171 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 20 Apr 2021 00:28:51 +0000 Subject: [PATCH 1/3] Rebuild for libnetcdf480 --- .ci_support/migrations/libnetcdf480.yaml | 7 +++++++ recipe/meta.yaml | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 .ci_support/migrations/libnetcdf480.yaml diff --git a/.ci_support/migrations/libnetcdf480.yaml b/.ci_support/migrations/libnetcdf480.yaml new file mode 100644 index 0000000..652977f --- /dev/null +++ b/.ci_support/migrations/libnetcdf480.yaml @@ -0,0 +1,7 @@ +__migrator: + build_number: 1 + kind: version + migration_number: 1 +libnetcdf: +- 4.8.0 +migrator_ts: 1617651012.2450593 diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 1d0233c..c2a85b5 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set version = "4.3.1" %} -{% set build = 4 %} +{% set build = 5 %} # recipe-lint fails if mpi is undefined {% set mpi = mpi or 'nompi' %} From a3f7364ffdbd44c29f2dfe5f2f4794a2a1f20b85 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 20 Apr 2021 00:29:04 +0000 Subject: [PATCH 2/3] MNT: Re-rendered with conda-build 3.21.4, conda-smithy 3.10.0, and conda-forge-pinning 2021.04.19.16.42.48 --- .azure-pipelines/azure-pipelines-linux.yml | 38 +++++---- .azure-pipelines/azure-pipelines-osx.yml | 82 ++++--------------- ...x_mpimpich.yaml => linux_64_mpimpich.yaml} | 17 +++- ...x_mpinompi.yaml => linux_64_mpinompi.yaml} | 17 +++- ...iopenmpi.yaml => linux_64_mpiopenmpi.yaml} | 17 +++- .ci_support/migrations/hdf51106.yaml | 7 -- ...osx_mpimpich.yaml => osx_64_mpimpich.yaml} | 13 +-- ...osx_mpinompi.yaml => osx_64_mpinompi.yaml} | 13 +-- ...mpiopenmpi.yaml => osx_64_mpiopenmpi.yaml} | 13 +-- .gitattributes | 2 +- .scripts/build_steps.sh | 47 +++++++++-- .scripts/logging_utils.sh | 35 ++++++++ .scripts/run_docker_build.sh | 41 ++++++++-- .scripts/run_osx_build.sh | 60 ++++++++++++++ LICENSE.txt | 2 +- README.md | 45 ++++------ build-locally.py | 12 +++ 17 files changed, 303 insertions(+), 158 deletions(-) rename .ci_support/{linux_mpimpich.yaml => linux_64_mpimpich.yaml} (52%) rename .ci_support/{linux_mpinompi.yaml => linux_64_mpinompi.yaml} (52%) rename .ci_support/{linux_mpiopenmpi.yaml => linux_64_mpiopenmpi.yaml} (52%) delete mode 100644 .ci_support/migrations/hdf51106.yaml rename .ci_support/{osx_mpimpich.yaml => osx_64_mpimpich.yaml} (72%) rename .ci_support/{osx_mpinompi.yaml => osx_64_mpinompi.yaml} (72%) rename .ci_support/{osx_mpiopenmpi.yaml => osx_64_mpiopenmpi.yaml} (72%) create mode 100644 .scripts/logging_utils.sh create mode 100755 .scripts/run_osx_build.sh diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 2376b21..8b9d3a9 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -6,23 +6,28 @@ jobs: - job: linux pool: vmImage: ubuntu-16.04 - timeoutInMinutes: 360 strategy: - maxParallel: 8 matrix: - linux_mpimpich: - CONFIG: linux_mpimpich - UPLOAD_PACKAGES: True - DOCKER_IMAGE: condaforge/linux-anvil-comp7 - linux_mpinompi: - CONFIG: linux_mpinompi - UPLOAD_PACKAGES: True - DOCKER_IMAGE: condaforge/linux-anvil-comp7 - linux_mpiopenmpi: - CONFIG: linux_mpiopenmpi - UPLOAD_PACKAGES: True - DOCKER_IMAGE: condaforge/linux-anvil-comp7 + linux_64_mpimpich: + CONFIG: linux_64_mpimpich + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + linux_64_mpinompi: + CONFIG: linux_64_mpinompi + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + linux_64_mpiopenmpi: + CONFIG: linux_64_mpiopenmpi + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + timeoutInMinutes: 360 + steps: + - script: | + rm -rf /opt/ghc + df -h + displayName: Manage disk space + # configure qemu binfmt-misc running. This allows us to run docker containers # embedded qemu-static - script: | @@ -34,7 +39,10 @@ jobs: - script: | export CI=azure export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) .scripts/run_docker_build.sh displayName: Run docker build env: - BINSTAR_TOKEN: $(BINSTAR_TOKEN) \ No newline at end of file + BINSTAR_TOKEN: $(BINSTAR_TOKEN) + FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index a826848..56ab365 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,78 +5,30 @@ jobs: - job: osx pool: - vmImage: macOS-10.14 - timeoutInMinutes: 360 + vmImage: macOS-10.15 strategy: - maxParallel: 8 matrix: - osx_mpimpich: - CONFIG: osx_mpimpich - UPLOAD_PACKAGES: True - osx_mpinompi: - CONFIG: osx_mpinompi - UPLOAD_PACKAGES: True - osx_mpiopenmpi: - CONFIG: osx_mpiopenmpi - UPLOAD_PACKAGES: True + osx_64_mpimpich: + CONFIG: osx_64_mpimpich + UPLOAD_PACKAGES: 'True' + osx_64_mpinompi: + CONFIG: osx_64_mpinompi + UPLOAD_PACKAGES: 'True' + osx_64_mpiopenmpi: + CONFIG: osx_64_mpiopenmpi + UPLOAD_PACKAGES: 'True' + timeoutInMinutes: 360 steps: # TODO: Fast finish on azure pipelines? - script: | - echo "Fast Finish" - - - - script: | - echo "Removing homebrew from Azure to avoid conflicts." - curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall > ~/uninstall_homebrew - chmod +x ~/uninstall_homebrew - ~/uninstall_homebrew -fq - rm ~/uninstall_homebrew - displayName: Remove homebrew - - - bash: | - echo "##vso[task.prependpath]$CONDA/bin" - sudo chown -R $USER $CONDA - displayName: Add conda to PATH - - - script: | - source activate base - conda install -n base -c conda-forge --quiet --yes conda-forge-ci-setup=2 conda-build - displayName: 'Add conda-forge-ci-setup=2' - - - script: | - source activate base - echo "Configuring conda." - - setup_conda_rc ./ "./recipe" ./.ci_support/${CONFIG}.yaml export CI=azure - source run_conda_forge_build_setup - conda update --yes --quiet --override-channels -c conda-forge -c defaults --all - env: { - OSX_FORCE_SDK_DOWNLOAD: "1" - } - displayName: Configure conda and conda-build - - - script: | - source activate base - mangle_compiler ./ "./recipe" ./.ci_support/${CONFIG}.yaml - displayName: Mangle compiler - - - script: | - source activate base - make_build_number ./ "./recipe" ./.ci_support/${CONFIG}.yaml - displayName: Generate build number clobber file - - - script: | - source activate base - conda build "./recipe" -m ./.ci_support/${CONFIG}.yaml --clobber-file ./.ci_support/clobber_${CONFIG}.yaml - displayName: Build recipe - - - script: | - source activate base + export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME - upload_package ./ "./recipe" ./.ci_support/${CONFIG}.yaml - displayName: Upload package + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + ./.scripts/run_osx_build.sh + displayName: Run OSX build env: BINSTAR_TOKEN: $(BINSTAR_TOKEN) - condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False'))) \ No newline at end of file + FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.ci_support/linux_mpimpich.yaml b/.ci_support/linux_64_mpimpich.yaml similarity index 52% rename from .ci_support/linux_mpimpich.yaml rename to .ci_support/linux_64_mpimpich.yaml index c00266c..db2c0f4 100644 --- a/.ci_support/linux_mpimpich.yaml +++ b/.ci_support/linux_64_mpimpich.yaml @@ -1,7 +1,9 @@ c_compiler: - gcc c_compiler_version: -- '7' +- '9' +cdt_name: +- cos6 channel_sources: - conda-forge,defaults channel_targets: @@ -9,12 +11,19 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '7' +- '9' docker_image: -- condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-comp7 hdf5: - 1.10.6 libnetcdf: -- 4.7.4 +- 4.8.0 mpi: - mpich +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cdt_name + - docker_image diff --git a/.ci_support/linux_mpinompi.yaml b/.ci_support/linux_64_mpinompi.yaml similarity index 52% rename from .ci_support/linux_mpinompi.yaml rename to .ci_support/linux_64_mpinompi.yaml index ae265a4..8b50b19 100644 --- a/.ci_support/linux_mpinompi.yaml +++ b/.ci_support/linux_64_mpinompi.yaml @@ -1,7 +1,9 @@ c_compiler: - gcc c_compiler_version: -- '7' +- '9' +cdt_name: +- cos6 channel_sources: - conda-forge,defaults channel_targets: @@ -9,12 +11,19 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '7' +- '9' docker_image: -- condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-comp7 hdf5: - 1.10.6 libnetcdf: -- 4.7.4 +- 4.8.0 mpi: - nompi +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cdt_name + - docker_image diff --git a/.ci_support/linux_mpiopenmpi.yaml b/.ci_support/linux_64_mpiopenmpi.yaml similarity index 52% rename from .ci_support/linux_mpiopenmpi.yaml rename to .ci_support/linux_64_mpiopenmpi.yaml index fccb473..b5063f9 100644 --- a/.ci_support/linux_mpiopenmpi.yaml +++ b/.ci_support/linux_64_mpiopenmpi.yaml @@ -1,7 +1,9 @@ c_compiler: - gcc c_compiler_version: -- '7' +- '9' +cdt_name: +- cos6 channel_sources: - conda-forge,defaults channel_targets: @@ -9,12 +11,19 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '7' +- '9' docker_image: -- condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-comp7 hdf5: - 1.10.6 libnetcdf: -- 4.7.4 +- 4.8.0 mpi: - openmpi +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cdt_name + - docker_image diff --git a/.ci_support/migrations/hdf51106.yaml b/.ci_support/migrations/hdf51106.yaml deleted file mode 100644 index dc5b3f1..0000000 --- a/.ci_support/migrations/hdf51106.yaml +++ /dev/null @@ -1,7 +0,0 @@ -__migrator: - build_number: 1 - kind: version - migration_number: 1 -hdf5: -- 1.10.6 -migrator_ts: 1587001869.689825 diff --git a/.ci_support/osx_mpimpich.yaml b/.ci_support/osx_64_mpimpich.yaml similarity index 72% rename from .ci_support/osx_mpimpich.yaml rename to .ci_support/osx_64_mpimpich.yaml index d1c1733..2ee46cd 100644 --- a/.ci_support/osx_mpimpich.yaml +++ b/.ci_support/osx_64_mpimpich.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '9' +- '11' channel_sources: - conda-forge,defaults channel_targets: @@ -11,14 +11,17 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '9' +- '11' hdf5: - 1.10.6 libnetcdf: -- 4.7.4 +- 4.8.0 macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' mpi: - mpich +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version diff --git a/.ci_support/osx_mpinompi.yaml b/.ci_support/osx_64_mpinompi.yaml similarity index 72% rename from .ci_support/osx_mpinompi.yaml rename to .ci_support/osx_64_mpinompi.yaml index 358475c..51226a8 100644 --- a/.ci_support/osx_mpinompi.yaml +++ b/.ci_support/osx_64_mpinompi.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '9' +- '11' channel_sources: - conda-forge,defaults channel_targets: @@ -11,14 +11,17 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '9' +- '11' hdf5: - 1.10.6 libnetcdf: -- 4.7.4 +- 4.8.0 macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' mpi: - nompi +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version diff --git a/.ci_support/osx_mpiopenmpi.yaml b/.ci_support/osx_64_mpiopenmpi.yaml similarity index 72% rename from .ci_support/osx_mpiopenmpi.yaml rename to .ci_support/osx_64_mpiopenmpi.yaml index 19e2f14..7f33a4a 100644 --- a/.ci_support/osx_mpiopenmpi.yaml +++ b/.ci_support/osx_64_mpiopenmpi.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '9' +- '11' channel_sources: - conda-forge,defaults channel_targets: @@ -11,14 +11,17 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '9' +- '11' hdf5: - 1.10.6 libnetcdf: -- 4.7.4 +- 4.8.0 macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' mpi: - openmpi +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version diff --git a/.gitattributes b/.gitattributes index ac943c1..9060b27 100644 --- a/.gitattributes +++ b/.gitattributes @@ -17,7 +17,7 @@ bld.bat text eol=crlf .gitattributes linguist-generated=true .gitignore linguist-generated=true .travis.yml linguist-generated=true -.scripts linguist-generated=true +.scripts/* 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 8a4af44..71a0686 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -6,8 +6,15 @@ # benefit from the improvement. set -xeuo pipefail -export PYTHONUNBUFFERED=1 export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" +source ${FEEDSTOCK_ROOT}/.scripts/logging_utils.sh + + +( endgroup "Start Docker" ) 2> /dev/null + +( startgroup "Configuring conda" ) 2> /dev/null + +export PYTHONUNBUFFERED=1 export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}" export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support" export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" @@ -18,8 +25,9 @@ conda-build: root-dir: ${FEEDSTOCK_ROOT}/build_artifacts CONDARC +BUILD_CMD=build -conda install --yes --quiet conda-forge-ci-setup=2 conda-build -c conda-forge +conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} -c conda-forge # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -29,11 +37,38 @@ source run_conda_forge_build_setup # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" -conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" -if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - upload_package "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" +( endgroup "Configuring conda" ) 2> /dev/null + +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}" + fi + conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + ${EXTRA_CB_OPTIONS:-} \ + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + + # Drop into an interactive shell + /bin/bash +else + conda $BUILD_CMD "${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 + + validate_recipe_outputs "${FEEDSTOCK_NAME}" + + ( endgroup "Validating outputs" ) 2> /dev/null + + ( startgroup "Uploading packages" ) 2> /dev/null + + if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + fi + + ( endgroup "Uploading packages" ) 2> /dev/null fi +( startgroup "Final checks" ) 2> /dev/null + touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh new file mode 100644 index 0000000..57bc95c --- /dev/null +++ b/.scripts/logging_utils.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Provide a unified interface for the different logging +# utilities CI providers offer. If unavailable, provide +# a compatible fallback (e.g. bare `echo xxxxxx`). + +function startgroup { + # Start a foldable group of log lines + # Pass a single argument, quoted + case ${CI:-} in + azure ) + echo "##[group]$1";; + travis ) + echo "$1" + echo -en 'travis_fold:start:'"${1// /}"'\\r';; + github_actions ) + echo "::group::$1";; + * ) + echo "$1";; + esac +} 2> /dev/null + +function endgroup { + # End a foldable group of log lines + # Pass a single argument, quoted + + case ${CI:-} in + azure ) + echo "##[endgroup]";; + travis ) + echo -en 'travis_fold:end:'"${1// /}"'\\r';; + github_actions ) + echo "::endgroup::";; + esac +} 2> /dev/null diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 066a857..44ad3ce 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -5,6 +5,10 @@ # changes to this script, consider a proposal to conda-smithy so that other feedstocks can also # benefit from the improvement. +source .scripts/logging_utils.sh + +( startgroup "Configure Docker" ) 2> /dev/null + set -xeo pipefail THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" @@ -13,6 +17,10 @@ PROVIDER_DIR="$(basename $THISDIR)" FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" +if [ -z ${FEEDSTOCK_NAME} ]; then + export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) +fi + docker info # In order for the conda-build process in the container to write to the mounted @@ -41,8 +49,12 @@ fi if [ -z "${DOCKER_IMAGE}" ]; then SHYAML_INSTALLED="$(shyaml -h || echo NO)" if [ "${SHYAML_INSTALLED}" == "NO" ]; then - echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Falling back to condaforge/linux-anvil-comp7" - DOCKER_IMAGE="condaforge/linux-anvil-comp7" + echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Trying to parse with coreutils" + DOCKER_IMAGE=$(cat .ci_support/${CONFIG}.yaml | grep '^docker_image:$' -A 1 | tail -n 1 | cut -b 3-) + if [ "${DOCKER_IMAGE}" = "" ]; then + echo "No docker_image entry found in ${CONFIG}. Falling back to condaforge/linux-anvil-comp7" + DOCKER_IMAGE="condaforge/linux-anvil-comp7" + fi else DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 condaforge/linux-anvil-comp7 )" fi @@ -52,24 +64,39 @@ mkdir -p "$ARTIFACTS" DONE_CANARY="$ARTIFACTS/conda-forge-build-done-${CONFIG}" rm -f "$DONE_CANARY" +# Allow people to specify extra default arguments to `docker run` (e.g. `--rm`) +DOCKER_RUN_ARGS="${CONDA_FORGE_DOCKER_RUN_ARGS}" if [ -z "${CI}" ]; then - DOCKER_RUN_ARGS="-it " + DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" fi +( endgroup "Configure Docker" ) 2> /dev/null + +( startgroup "Start Docker" ) 2> /dev/null + export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" docker run ${DOCKER_RUN_ARGS} \ - -v "${RECIPE_ROOT}":/home/conda/recipe_root:ro,z \ - -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z \ + -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ + -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \ -e CONFIG \ - -e BINSTAR_TOKEN \ -e HOST_USER_ID \ -e UPLOAD_PACKAGES \ -e GIT_BRANCH \ -e UPLOAD_ON_BRANCH \ -e CI \ + -e FEEDSTOCK_NAME \ + -e CPU_COUNT \ + -e BUILD_WITH_CONDA_DEBUG \ + -e BUILD_OUTPUT_ID \ + -e BINSTAR_TOKEN \ + -e FEEDSTOCK_TOKEN \ + -e STAGING_BINSTAR_TOKEN \ $DOCKER_IMAGE \ bash \ /home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh # verify that the end of the script was reached -test -f "$DONE_CANARY" \ No newline at end of file +test -f "$DONE_CANARY" + +# This closes the last group opened in `build_steps.sh` +( endgroup "Final checks" ) 2> /dev/null \ No newline at end of file diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh new file mode 100755 index 0000000..39436ec --- /dev/null +++ b/.scripts/run_osx_build.sh @@ -0,0 +1,60 @@ +#!/usr/bin/env bash + +source .scripts/logging_utils.sh + +set -xe + +( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null + +MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" +MINIFORGE_FILE="Miniforge3-MacOSX-x86_64.sh" +curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" +bash $MINIFORGE_FILE -b + +( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null + +( startgroup "Configuring conda" ) 2> /dev/null + +BUILD_CMD=build + +source ${HOME}/miniforge3/etc/profile.d/conda.sh +conda activate base + +echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." +conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} + + + +echo -e "\n\nSetting up the condarc and mangling the compiler." +setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml +mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml + +echo -e "\n\nMangling homebrew in the CI to avoid conflicts." +/usr/bin/sudo mangle_homebrew +/usr/bin/sudo -k + +echo -e "\n\nRunning the build setup script." +source run_conda_forge_build_setup + + + +( endgroup "Configuring conda" ) 2> /dev/null + + +echo -e "\n\nMaking the build clobber file" +make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml + +conda $BUILD_CMD ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} +( startgroup "Validating outputs" ) 2> /dev/null + +validate_recipe_outputs "${FEEDSTOCK_NAME}" + +( endgroup "Validating outputs" ) 2> /dev/null + +( startgroup "Uploading packages" ) 2> /dev/null + +if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml +fi + +( endgroup "Uploading packages" ) 2> /dev/null \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt index cba42cf..ed3f451 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,5 +1,5 @@ BSD 3-clause license -Copyright (c) 2015-2019, conda-forge +Copyright (c) 2015-2021, 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: diff --git a/README.md b/README.md index c558568..6a06ef9 100644 --- a/README.md +++ b/README.md @@ -5,12 +5,10 @@ Home: https://github.com/Unidata/netcdf-cxx4 Package license: http://www.unidata.ucar.edu/software/netcdf/copyright.html -Feedstock license: BSD 3-Clause +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/netcdf-cxx4-feedstock/blob/master/LICENSE.txt) Summary: Unidata NetCDF C++ Library - - Current build status ==================== @@ -29,45 +27,45 @@ Current build status
Variant | Status | |
---|---|---|
linux_mpimpich | +linux_64_mpimpich | - + |
linux_mpinompi | +linux_64_mpinompi | - + |
linux_mpiopenmpi | +linux_64_mpiopenmpi | - + |
osx_mpimpich | +osx_64_mpimpich | - + |
osx_mpinompi | +osx_64_mpinompi | - + |
osx_mpiopenmpi | +osx_64_mpiopenmpi | - + |
Windows | -- - | -|
Linux_ppc64le | -- - | -