diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml deleted file mode 100755 index 063c2027..00000000 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ /dev/null @@ -1,72 +0,0 @@ -# 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 -*- - -jobs: -- job: linux - pool: - vmImage: ubuntu-latest - strategy: - matrix: - linux_64_mpimpich: - CONFIG: linux_64_mpimpich - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_mpinompi: - CONFIG: linux_64_mpinompi - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_mpiopenmpi: - CONFIG: linux_64_mpiopenmpi - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_mpimpich: - CONFIG: linux_aarch64_mpimpich - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_mpinompi: - CONFIG: linux_aarch64_mpinompi - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_mpiopenmpi: - CONFIG: linux_aarch64_mpiopenmpi - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_ppc64le_mpimpich: - CONFIG: linux_ppc64le_mpimpich - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_ppc64le_mpinompi: - CONFIG: linux_ppc64le_mpinompi - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_ppc64le_mpiopenmpi: - CONFIG: linux_ppc64le_mpiopenmpi - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - timeoutInMinutes: 360 - - steps: - # configure qemu binfmt-misc running. This allows us to run docker containers - # embedded qemu-static - - script: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes - ls /proc/sys/fs/binfmt_misc/ - condition: not(startsWith(variables['CONFIG'], 'linux_64')) - displayName: Configure binfmt_misc - - - script: | - 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: - 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 deleted file mode 100755 index 0f55bb1a..00000000 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ /dev/null @@ -1,48 +0,0 @@ -# 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 -*- - -jobs: -- job: osx - pool: - vmImage: macOS-11 - strategy: - matrix: - 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' - osx_arm64_mpimpich: - CONFIG: osx_arm64_mpimpich - UPLOAD_PACKAGES: 'True' - osx_arm64_mpinompi: - CONFIG: osx_arm64_mpinompi - UPLOAD_PACKAGES: 'True' - osx_arm64_mpiopenmpi: - CONFIG: osx_arm64_mpiopenmpi - UPLOAD_PACKAGES: 'True' - timeoutInMinutes: 360 - - steps: - # TODO: Fast finish on azure pipelines? - - script: | - export CI=azure - export OSX_FORCE_SDK_DOWNLOAD="1" - 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_osx_build.sh - displayName: Run OSX build - env: - 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-win.yml b/.azure-pipelines/azure-pipelines-win.yml index d66c7d15..01316f33 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -11,12 +11,14 @@ jobs: win_64_: CONFIG: win_64_ UPLOAD_PACKAGES: 'True' + SHORT_CONFIG: win_64_ timeoutInMinutes: 360 variables: CONDA_BLD_PATH: D:\\bld\\ UPLOAD_TEMP: D:\\tmp steps: + - task: PythonScript@0 displayName: 'Download Miniforge' inputs: @@ -35,55 +37,41 @@ jobs: displayName: Add conda to PATH - 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 - - # Configure the VM - - script: | - call activate base - setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml - displayName: conda-forge CI setup - - # Configure the VM. - - script: | - set "CI=azure" - call activate base - run_conda_forge_build_setup - displayName: conda-forge build setup - - - script: | - call activate base - if EXIST LICENSE.txt ( - copy LICENSE.txt "recipe\\recipe-scripts-license.txt" - ) - if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( - set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" - ) - conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% - displayName: Build recipe + call ".scripts\run_win_build.bat" + displayName: Run Windows build env: PYTHONUNBUFFERED: 1 - - script: | - set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" - call activate base - validate_recipe_outputs "%FEEDSTOCK_NAME%" - displayName: Validate Recipe Outputs - - - 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 - env: + CONFIG: $(CONFIG) + CI: azure + UPLOAD_PACKAGES: $(UPLOAD_PACKAGES) + UPLOAD_TEMP: $(UPLOAD_TEMP) BINSTAR_TOKEN: $(BINSTAR_TOKEN) FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) - condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False')), not(eq(variables['Build.Reason'], 'PullRequest'))) \ No newline at end of file + - script: | + set CI=azure + set CI_RUN_ID=$(build.BuildNumber).$(system.JobAttempt) + set FEEDSTOCK_NAME=$(build.Repository.Name) + set ARTIFACT_STAGING_DIR=$(Build.ArtifactStagingDirectory) + set CONDA_BLD_DIR=$(CONDA_BLD_PATH) + set BLD_ARTIFACT_PREFIX=conda_artifacts + if "%AGENT_JOBSTATUS%" == "Failed" ( + set ENV_ARTIFACT_PREFIX=conda_envs + ) + call ".scripts\create_conda_build_artifacts.bat" + displayName: Prepare conda build artifacts + condition: succeededOrFailed() + + - task: PublishPipelineArtifact@1 + displayName: Store conda build artifacts + condition: not(eq(variables.BLD_ARTIFACT_PATH, '')) + inputs: + targetPath: $(BLD_ARTIFACT_PATH) + artifactName: $(BLD_ARTIFACT_NAME) + + - task: PublishPipelineArtifact@1 + displayName: Store conda build environment artifacts + condition: not(eq(variables.ENV_ARTIFACT_PATH, '')) + inputs: + targetPath: $(ENV_ARTIFACT_PATH) + artifactName: $(ENV_ARTIFACT_NAME) \ No newline at end of file diff --git a/.ci_support/linux_64_mpimpich.yaml b/.ci_support/linux_64_mpimpich.yaml deleted file mode 100644 index 179a0a7c..00000000 --- a/.ci_support/linux_64_mpimpich.yaml +++ /dev/null @@ -1,47 +0,0 @@ -bzip2: -- '1' -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_name: -- cos6 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '12' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -hdf4: -- 4.2.15 -hdf5: -- 1.14.2 -libaec: -- '1' -libcurl: -- '8' -libxml2: -- '2.11' -libzip: -- '1' -mpi: -- mpich -mpich: -- '4' -openmpi: -- '4' -openssl: -- '3' -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' -zstd: -- '1.5' diff --git a/.ci_support/linux_64_mpinompi.yaml b/.ci_support/linux_64_mpinompi.yaml deleted file mode 100644 index 087cca3c..00000000 --- a/.ci_support/linux_64_mpinompi.yaml +++ /dev/null @@ -1,47 +0,0 @@ -bzip2: -- '1' -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_name: -- cos6 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '12' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -hdf4: -- 4.2.15 -hdf5: -- 1.14.2 -libaec: -- '1' -libcurl: -- '8' -libxml2: -- '2.11' -libzip: -- '1' -mpi: -- nompi -mpich: -- '4' -openmpi: -- '4' -openssl: -- '3' -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' -zstd: -- '1.5' diff --git a/.ci_support/linux_64_mpiopenmpi.yaml b/.ci_support/linux_64_mpiopenmpi.yaml deleted file mode 100644 index e584bf2c..00000000 --- a/.ci_support/linux_64_mpiopenmpi.yaml +++ /dev/null @@ -1,47 +0,0 @@ -bzip2: -- '1' -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_name: -- cos6 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '12' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -hdf4: -- 4.2.15 -hdf5: -- 1.14.2 -libaec: -- '1' -libcurl: -- '8' -libxml2: -- '2.11' -libzip: -- '1' -mpi: -- openmpi -mpich: -- '4' -openmpi: -- '4' -openssl: -- '3' -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' -zstd: -- '1.5' diff --git a/.ci_support/linux_aarch64_mpimpich.yaml b/.ci_support/linux_aarch64_mpimpich.yaml deleted file mode 100644 index 684c3556..00000000 --- a/.ci_support/linux_aarch64_mpimpich.yaml +++ /dev/null @@ -1,51 +0,0 @@ -BUILD: -- aarch64-conda_cos7-linux-gnu -bzip2: -- '1' -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_arch: -- aarch64 -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '12' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -hdf4: -- 4.2.15 -hdf5: -- 1.14.2 -libaec: -- '1' -libcurl: -- '8' -libxml2: -- '2.11' -libzip: -- '1' -mpi: -- mpich -mpich: -- '4' -openmpi: -- '4' -openssl: -- '3' -target_platform: -- linux-aarch64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' -zstd: -- '1.5' diff --git a/.ci_support/linux_aarch64_mpinompi.yaml b/.ci_support/linux_aarch64_mpinompi.yaml deleted file mode 100644 index 1148c1f5..00000000 --- a/.ci_support/linux_aarch64_mpinompi.yaml +++ /dev/null @@ -1,51 +0,0 @@ -BUILD: -- aarch64-conda_cos7-linux-gnu -bzip2: -- '1' -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_arch: -- aarch64 -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '12' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -hdf4: -- 4.2.15 -hdf5: -- 1.14.2 -libaec: -- '1' -libcurl: -- '8' -libxml2: -- '2.11' -libzip: -- '1' -mpi: -- nompi -mpich: -- '4' -openmpi: -- '4' -openssl: -- '3' -target_platform: -- linux-aarch64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' -zstd: -- '1.5' diff --git a/.ci_support/linux_aarch64_mpiopenmpi.yaml b/.ci_support/linux_aarch64_mpiopenmpi.yaml deleted file mode 100644 index c3e60b62..00000000 --- a/.ci_support/linux_aarch64_mpiopenmpi.yaml +++ /dev/null @@ -1,51 +0,0 @@ -BUILD: -- aarch64-conda_cos7-linux-gnu -bzip2: -- '1' -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_arch: -- aarch64 -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '12' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -hdf4: -- 4.2.15 -hdf5: -- 1.14.2 -libaec: -- '1' -libcurl: -- '8' -libxml2: -- '2.11' -libzip: -- '1' -mpi: -- openmpi -mpich: -- '4' -openmpi: -- '4' -openssl: -- '3' -target_platform: -- linux-aarch64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' -zstd: -- '1.5' diff --git a/.ci_support/linux_ppc64le_mpimpich.yaml b/.ci_support/linux_ppc64le_mpimpich.yaml deleted file mode 100644 index 1ea19842..00000000 --- a/.ci_support/linux_ppc64le_mpimpich.yaml +++ /dev/null @@ -1,47 +0,0 @@ -bzip2: -- '1' -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '12' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -hdf4: -- 4.2.15 -hdf5: -- 1.14.2 -libaec: -- '1' -libcurl: -- '8' -libxml2: -- '2.11' -libzip: -- '1' -mpi: -- mpich -mpich: -- '4' -openmpi: -- '4' -openssl: -- '3' -target_platform: -- linux-ppc64le -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' -zstd: -- '1.5' diff --git a/.ci_support/linux_ppc64le_mpinompi.yaml b/.ci_support/linux_ppc64le_mpinompi.yaml deleted file mode 100644 index 0893212a..00000000 --- a/.ci_support/linux_ppc64le_mpinompi.yaml +++ /dev/null @@ -1,47 +0,0 @@ -bzip2: -- '1' -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '12' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -hdf4: -- 4.2.15 -hdf5: -- 1.14.2 -libaec: -- '1' -libcurl: -- '8' -libxml2: -- '2.11' -libzip: -- '1' -mpi: -- nompi -mpich: -- '4' -openmpi: -- '4' -openssl: -- '3' -target_platform: -- linux-ppc64le -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' -zstd: -- '1.5' diff --git a/.ci_support/linux_ppc64le_mpiopenmpi.yaml b/.ci_support/linux_ppc64le_mpiopenmpi.yaml deleted file mode 100644 index eecd35af..00000000 --- a/.ci_support/linux_ppc64le_mpiopenmpi.yaml +++ /dev/null @@ -1,47 +0,0 @@ -bzip2: -- '1' -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '12' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -hdf4: -- 4.2.15 -hdf5: -- 1.14.2 -libaec: -- '1' -libcurl: -- '8' -libxml2: -- '2.11' -libzip: -- '1' -mpi: -- openmpi -mpich: -- '4' -openmpi: -- '4' -openssl: -- '3' -target_platform: -- linux-ppc64le -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' -zstd: -- '1.5' diff --git a/.ci_support/migrations/hdf51141.yaml b/.ci_support/migrations/hdf51141.yaml deleted file mode 100644 index ef6f947d..00000000 --- a/.ci_support/migrations/hdf51141.yaml +++ /dev/null @@ -1,7 +0,0 @@ -__migrator: - build_number: 1 - kind: version - migration_number: 1 -hdf5: -- 1.14.1 -migrator_ts: 1687165815.3104627 diff --git a/.ci_support/migrations/jpeg_to_libjpeg_turbo.yaml b/.ci_support/migrations/jpeg_to_libjpeg_turbo.yaml deleted file mode 100644 index 09430704..00000000 --- a/.ci_support/migrations/jpeg_to_libjpeg_turbo.yaml +++ /dev/null @@ -1,15 +0,0 @@ -migrator_ts: 1678152141 -__migrator: - kind: version - migration_number: 3 - bump_number: 1 - commit_message: "Rebuild for jpegturbo migration" - paused: false - pr_limit: 1 - -libjpeg_turbo: - - 2.1.5 -# This migration is matched with a minimigrator that will -# replace jpeg with libjpegturbo -jpeg: - - 10 diff --git a/.ci_support/osx_64_mpimpich.yaml b/.ci_support/osx_64_mpimpich.yaml deleted file mode 100644 index 87682f92..00000000 --- a/.ci_support/osx_64_mpimpich.yaml +++ /dev/null @@ -1,47 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -bzip2: -- '1' -c_compiler: -- clang -c_compiler_version: -- '15' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '15' -hdf4: -- 4.2.15 -hdf5: -- 1.14.2 -libaec: -- '1' -libcurl: -- '8' -libxml2: -- '2.11' -libzip: -- '1' -macos_machine: -- x86_64-apple-darwin13.4.0 -mpi: -- mpich -mpich: -- '4' -openmpi: -- '4' -openssl: -- '3' -target_platform: -- osx-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' -zstd: -- '1.5' diff --git a/.ci_support/osx_64_mpinompi.yaml b/.ci_support/osx_64_mpinompi.yaml deleted file mode 100644 index 0d8aaad2..00000000 --- a/.ci_support/osx_64_mpinompi.yaml +++ /dev/null @@ -1,47 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -bzip2: -- '1' -c_compiler: -- clang -c_compiler_version: -- '15' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '15' -hdf4: -- 4.2.15 -hdf5: -- 1.14.2 -libaec: -- '1' -libcurl: -- '8' -libxml2: -- '2.11' -libzip: -- '1' -macos_machine: -- x86_64-apple-darwin13.4.0 -mpi: -- nompi -mpich: -- '4' -openmpi: -- '4' -openssl: -- '3' -target_platform: -- osx-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' -zstd: -- '1.5' diff --git a/.ci_support/osx_64_mpiopenmpi.yaml b/.ci_support/osx_64_mpiopenmpi.yaml deleted file mode 100644 index 480a8d64..00000000 --- a/.ci_support/osx_64_mpiopenmpi.yaml +++ /dev/null @@ -1,47 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -bzip2: -- '1' -c_compiler: -- clang -c_compiler_version: -- '15' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '15' -hdf4: -- 4.2.15 -hdf5: -- 1.14.2 -libaec: -- '1' -libcurl: -- '8' -libxml2: -- '2.11' -libzip: -- '1' -macos_machine: -- x86_64-apple-darwin13.4.0 -mpi: -- openmpi -mpich: -- '4' -openmpi: -- '4' -openssl: -- '3' -target_platform: -- osx-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' -zstd: -- '1.5' diff --git a/.ci_support/osx_arm64_mpimpich.yaml b/.ci_support/osx_arm64_mpimpich.yaml deleted file mode 100644 index f2481161..00000000 --- a/.ci_support/osx_arm64_mpimpich.yaml +++ /dev/null @@ -1,47 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -bzip2: -- '1' -c_compiler: -- clang -c_compiler_version: -- '15' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '15' -hdf4: -- 4.2.15 -hdf5: -- 1.14.2 -libaec: -- '1' -libcurl: -- '8' -libxml2: -- '2.11' -libzip: -- '1' -macos_machine: -- arm64-apple-darwin20.0.0 -mpi: -- mpich -mpich: -- '4' -openmpi: -- '4' -openssl: -- '3' -target_platform: -- osx-arm64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' -zstd: -- '1.5' diff --git a/.ci_support/osx_arm64_mpinompi.yaml b/.ci_support/osx_arm64_mpinompi.yaml deleted file mode 100644 index cf815d0e..00000000 --- a/.ci_support/osx_arm64_mpinompi.yaml +++ /dev/null @@ -1,47 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -bzip2: -- '1' -c_compiler: -- clang -c_compiler_version: -- '15' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '15' -hdf4: -- 4.2.15 -hdf5: -- 1.14.2 -libaec: -- '1' -libcurl: -- '8' -libxml2: -- '2.11' -libzip: -- '1' -macos_machine: -- arm64-apple-darwin20.0.0 -mpi: -- nompi -mpich: -- '4' -openmpi: -- '4' -openssl: -- '3' -target_platform: -- osx-arm64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' -zstd: -- '1.5' diff --git a/.ci_support/osx_arm64_mpiopenmpi.yaml b/.ci_support/osx_arm64_mpiopenmpi.yaml deleted file mode 100644 index 14f0fb6c..00000000 --- a/.ci_support/osx_arm64_mpiopenmpi.yaml +++ /dev/null @@ -1,47 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -bzip2: -- '1' -c_compiler: -- clang -c_compiler_version: -- '15' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '15' -hdf4: -- 4.2.15 -hdf5: -- 1.14.2 -libaec: -- '1' -libcurl: -- '8' -libxml2: -- '2.11' -libzip: -- '1' -macos_machine: -- arm64-apple-darwin20.0.0 -mpi: -- openmpi -mpich: -- '4' -openmpi: -- '4' -openssl: -- '3' -target_platform: -- osx-arm64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' -zstd: -- '1.5' diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml index aa835a7f..b7b4901a 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -1,3 +1,5 @@ +aws_sdk_cpp: +- 1.11.156 bzip2: - '1' c_compiler: diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh deleted file mode 100755 index a6b09f6b..00000000 --- a/.scripts/build_steps.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env bash - -# PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here -# will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent -# 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 - - -( 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" - -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}" - 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 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 - - validate_recipe_outputs "${FEEDSTOCK_NAME}" - - ( endgroup "Validating outputs" ) 2> /dev/null - - ( startgroup "Uploading packages" ) 2> /dev/null - - if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "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/create_conda_build_artifacts.bat b/.scripts/create_conda_build_artifacts.bat new file mode 100755 index 00000000..2853cfdc --- /dev/null +++ b/.scripts/create_conda_build_artifacts.bat @@ -0,0 +1,80 @@ +setlocal enableextensions enabledelayedexpansion + +rem INPUTS (environment variables that need to be set before calling this script): +rem +rem CI (azure/github_actions/UNSET) +rem CI_RUN_ID (unique identifier for the CI job run) +rem FEEDSTOCK_NAME +rem CONFIG (build matrix configuration string) +rem SHORT_CONFIG (uniquely-shortened configuration string) +rem CONDA_BLD_DIR (path to the conda-bld directory) +rem ARTIFACT_STAGING_DIR (use working directory if unset) +rem BLD_ARTIFACT_PREFIX (prefix for the conda build artifact name, skip if unset) +rem ENV_ARTIFACT_PREFIX (prefix for the conda build environments artifact name, skip if unset) + +rem OUTPUTS +rem +rem BLD_ARTIFACT_NAME +rem BLD_ARTIFACT_PATH +rem ENV_ARTIFACT_NAME +rem ENV_ARTIFACT_PATH + +rem Check that the conda-build directory exists +if not exist %CONDA_BLD_DIR% ( + echo conda-build directory does not exist + exit 1 +) + +if not defined ARTIFACT_STAGING_DIR ( + rem Set staging dir to the working dir + set ARTIFACT_STAGING_DIR=%cd% +) + +rem Set a unique ID for the artifact(s), specialized for this particular job run +set ARTIFACT_UNIQUE_ID=%CI_RUN_ID%_%CONFIG% +if not "%ARTIFACT_UNIQUE_ID%" == "%ARTIFACT_UNIQUE_ID:~0,80%" ( + set ARTIFACT_UNIQUE_ID=%CI_RUN_ID%_%SHORT_CONFIG% +) + +rem Set a descriptive ID for the archive(s), specialized for this particular job run +set ARCHIVE_UNIQUE_ID=%CI_RUN_ID%_%CONFIG% + +rem Make the build artifact zip +if defined BLD_ARTIFACT_PREFIX ( + set BLD_ARTIFACT_NAME=%BLD_ARTIFACT_PREFIX%_%ARTIFACT_UNIQUE_ID% + echo BLD_ARTIFACT_NAME: !BLD_ARTIFACT_NAME! + + set "BLD_ARTIFACT_PATH=%ARTIFACT_STAGING_DIR%\%FEEDSTOCK_NAME%_%BLD_ARTIFACT_PREFIX%_%ARCHIVE_UNIQUE_ID%.zip" + 7z a "!BLD_ARTIFACT_PATH!" "%CONDA_BLD_DIR%" -xr^^!.git/ -xr^^!_*_env*/ -xr^^!*_cache/ -bb + if errorlevel 1 exit 1 + echo BLD_ARTIFACT_PATH: !BLD_ARTIFACT_PATH! + + if "%CI%" == "azure" ( + echo ##vso[task.setVariable variable=BLD_ARTIFACT_NAME]!BLD_ARTIFACT_NAME! + echo ##vso[task.setVariable variable=BLD_ARTIFACT_PATH]!BLD_ARTIFACT_PATH! + ) + if "%CI%" == "github_actions" ( + echo BLD_ARTIFACT_NAME=!BLD_ARTIFACT_NAME!>> !GITHUB_OUTPUT! + echo BLD_ARTIFACT_PATH=!BLD_ARTIFACT_PATH!>> !GITHUB_OUTPUT! + ) +) + +rem Make the environments artifact zip +if defined ENV_ARTIFACT_PREFIX ( + set ENV_ARTIFACT_NAME=!ENV_ARTIFACT_PREFIX!_%ARTIFACT_UNIQUE_ID% + echo ENV_ARTIFACT_NAME: !ENV_ARTIFACT_NAME! + + set "ENV_ARTIFACT_PATH=%ARTIFACT_STAGING_DIR%\%FEEDSTOCK_NAME%_%ENV_ARTIFACT_PREFIX%_%ARCHIVE_UNIQUE_ID%.zip" + 7z a "!ENV_ARTIFACT_PATH!" -r "%CONDA_BLD_DIR%"/_*_env*/ -bb + if errorlevel 1 exit 1 + echo ENV_ARTIFACT_PATH: !ENV_ARTIFACT_PATH! + + if "%CI%" == "azure" ( + echo ##vso[task.setVariable variable=ENV_ARTIFACT_NAME]!ENV_ARTIFACT_NAME! + echo ##vso[task.setVariable variable=ENV_ARTIFACT_PATH]!ENV_ARTIFACT_PATH! + ) + if "%CI%" == "github_actions" ( + echo ENV_ARTIFACT_NAME=!ENV_ARTIFACT_NAME!>> !GITHUB_OUTPUT! + echo ENV_ARTIFACT_PATH=!ENV_ARTIFACT_PATH!>> !GITHUB_OUTPUT! + ) +) \ No newline at end of file diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh index 57bc95c2..aff009f0 100644 --- a/.scripts/logging_utils.sh +++ b/.scripts/logging_utils.sh @@ -12,7 +12,7 @@ function startgroup { echo "##[group]$1";; travis ) echo "$1" - echo -en 'travis_fold:start:'"${1// /}"'\\r';; + echo -en 'travis_fold:start:'"${1// /}"'\r';; github_actions ) echo "::group::$1";; * ) @@ -28,7 +28,7 @@ function endgroup { azure ) echo "##[endgroup]";; travis ) - echo -en 'travis_fold:end:'"${1// /}"'\\r';; + echo -en 'travis_fold:end:'"${1// /}"'\r';; github_actions ) echo "::endgroup::";; esac diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh deleted file mode 100755 index 92362398..00000000 --- a/.scripts/run_docker_build.sh +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env bash - -# PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here -# will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent -# 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 )" -PROVIDER_DIR="$(basename $THISDIR)" - -FEEDSTOCK_ROOT="$( cd "$( dirname "$0" )/.." >/dev/null && 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 -# volumes, we need to run with the same id as the host machine, which is -# normally the owner of the mounted volumes, or at least has write permission -export HOST_USER_ID=$(id -u) -# Check if docker-machine is being used (normally on OSX) and get the uid from -# the VM -if hash docker-machine 2> /dev/null && docker-machine active > /dev/null; then - export HOST_USER_ID=$(docker-machine ssh $(docker-machine active) id -u) -fi - -ARTIFACTS="$FEEDSTOCK_ROOT/build_artifacts" - -if [ -z "$CONFIG" ]; then - set +x - FILES=`ls .ci_support/linux_*` - CONFIGS="" - for file in $FILES; do - CONFIGS="${CONFIGS}'${file:12:-5}' or "; - done - echo "Need to set CONFIG env variable. Value can be one of ${CONFIGS:0:-4}" - exit 1 -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. 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 quay.io/condaforge/linux-anvil-comp7" - DOCKER_IMAGE="quay.io/condaforge/linux-anvil-comp7" - fi - else - DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 quay.io/condaforge/linux-anvil-comp7 )" - fi -fi - -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}" -fi - -( endgroup "Configure Docker" ) 2> /dev/null - -( 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 \ - -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" - -# 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 deleted file mode 100755 index 3969edf3..00000000 --- a/.scripts/run_osx_build.sh +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env bash - -# -*- mode: jinja-shell -*- - -source .scripts/logging_utils.sh - -set -xe - -MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3} - -( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null - -MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" -MINIFORGE_FILE="Mambaforge-MacOSX-$(uname -m).sh" -curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" -rm -rf ${MINIFORGE_HOME} -bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} - -( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null - -( startgroup "Configuring conda" ) 2> /dev/null - -source ${MINIFORGE_HOME}/etc/profile.d/conda.sh -conda activate base - -mamba install --update-specs --quiet --yes --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 -mamba update --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 - - - -echo -e "\n\nSetting up the condarc and mangling the compiler." -setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml - -if [[ "${CI:-}" != "" ]]; then - mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml -fi - -if [[ "${CI:-}" != "" ]]; then - echo -e "\n\nMangling homebrew in the CI to avoid conflicts." - /usr/bin/sudo mangle_homebrew - /usr/bin/sudo -k -else - echo -e "\n\nNot mangling homebrew as we are not running in CI" -fi - -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 - -if [[ -f LICENSE.txt ]]; then - cp LICENSE.txt "recipe/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}" - fi - conda debug ./recipe -m ./.ci_support/${CONFIG}.yaml \ - ${EXTRA_CB_OPTIONS:-} \ - --clobber-file ./.ci_support/clobber_${CONFIG}.yaml - - # Drop into an interactive shell - /bin/bash -else - - if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" - fi - - conda mambabuild ./recipe -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" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then - upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml - fi - - ( endgroup "Uploading packages" ) 2> /dev/null -fi \ No newline at end of file diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat new file mode 100755 index 00000000..07d34456 --- /dev/null +++ b/.scripts/run_win_build.bat @@ -0,0 +1,115 @@ +:: PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here +:: will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent +:: changes to this script, consider a proposal to conda-smithy so that other feedstocks can also +:: benefit from the improvement. + +:: Note: we assume a Miniforge installation is available + +:: INPUTS (required environment variables) +:: CONFIG: name of the .ci_support/*.yaml file for this job +:: CI: azure, github_actions, or unset +:: UPLOAD_PACKAGES: true or false +:: UPLOAD_ON_BRANCH: true or false + +setlocal enableextensions enabledelayedexpansion + +call :start_group "Configuring conda" + +:: Activate the base conda environment +call activate base + +:: 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 +if !errorlevel! neq 0 exit /b !errorlevel! + +:: Set basic configuration +echo Setting up configuration +setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml +if !errorlevel! neq 0 exit /b !errorlevel! +echo Running build setup +CALL run_conda_forge_build_setup + + +if !errorlevel! neq 0 exit /b !errorlevel! + +if EXIST LICENSE.txt ( + echo Copying feedstock license + copy LICENSE.txt "recipe\\recipe-scripts-license.txt" +) +if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" +) + +call :end_group + +:: Build the recipe +echo Building recipe +conda.exe mambabuild "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 +if /i "%CI%" == "github_actions" ( + set "FEEDSTOCK_NAME=%GITHUB_REPOSITORY:*/=%" + set "GIT_BRANCH=%GITHUB_REF:refs/heads/=%" + if /i "%GITHUB_EVENT_NAME%" == "pull_request" ( + set "IS_PR_BUILD=True" + ) else ( + set "IS_PR_BUILD=False" + ) + set "TEMP=%RUNNER_TEMP%" +) +if /i "%CI%" == "azure" ( + set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" + set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" + if /i "%BUILD_REASON%" == "PullRequest" ( + set "IS_PR_BUILD=True" + ) else ( + set "IS_PR_BUILD=False" + ) + set "TEMP=%UPLOAD_TEMP%" +) + +:: Validate +call :start_group "Validating outputs" +validate_recipe_outputs "%FEEDSTOCK_NAME%" +if !errorlevel! neq 0 exit /b !errorlevel! +call :end_group + +if /i "%UPLOAD_PACKAGES%" == "true" ( + if /i "%IS_PR_BUILD%" == "false" ( + call :start_group "Uploading packages" + if not exist "%TEMP%\" md "%TEMP%" + set "TMP=%TEMP%" + upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml + if !errorlevel! neq 0 exit /b !errorlevel! + call :end_group + ) +) + +exit + +:: Logging subroutines + +:start_group +if /i "%CI%" == "github_actions" ( + echo ::group::%~1 + exit /b +) +if /i "%CI%" == "azure" ( + echo ##[group]%~1 + exit /b +) +echo %~1 +exit /b + +:end_group +if /i "%CI%" == "github_actions" ( + echo ::endgroup:: + exit /b +) +if /i "%CI%" == "azure" ( + echo ##[endgroup] + exit /b +) +exit /b \ No newline at end of file diff --git a/README.md b/README.md index 7d20ed53..b8e6ab1d 100644 --- a/README.md +++ b/README.md @@ -29,111 +29,6 @@ Current build status - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VariantStatus
linux_64_mpimpich - - variant - -
linux_64_mpinompi - - variant - -
linux_64_mpiopenmpi - - variant - -
linux_aarch64_mpimpich - - variant - -
linux_aarch64_mpinompi - - variant - -
linux_aarch64_mpiopenmpi - - variant - -
linux_ppc64le_mpimpich - - variant - -
linux_ppc64le_mpinompi - - variant - -
linux_ppc64le_mpiopenmpi - - variant - -
osx_64_mpimpich - - variant - -
osx_64_mpinompi - - variant - -
osx_64_mpiopenmpi - - variant - -
osx_arm64_mpimpich - - variant - -
osx_arm64_mpinompi - - variant - -
osx_arm64_mpiopenmpi - - variant - -
win_64 diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6b346f50..93cf692b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -3,6 +3,4 @@ # -*- mode: yaml -*- jobs: - - template: ./.azure-pipelines/azure-pipelines-linux.yml - - template: ./.azure-pipelines/azure-pipelines-win.yml - - template: ./.azure-pipelines/azure-pipelines-osx.yml \ No newline at end of file + - template: ./.azure-pipelines/azure-pipelines-win.yml \ No newline at end of file diff --git a/conda-forge.yml b/conda-forge.yml index 092b9fdf..e99f8cf7 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -12,3 +12,5 @@ provider: linux_aarch64: default linux_ppc64le: default test_on_native_only: true +azure: + store_build_artifacts: true diff --git a/recipe/bld.bat b/recipe/bld.bat index b08e68ad..6c919d7d 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -1,9 +1,11 @@ +@echo on + mkdir %SRC_DIR%\build cd %SRC_DIR%\build -set BUILD_TYPE=Release +:: set BUILD_TYPE=Release :: set BUILD_TYPE=RelWithDebInfo -:: set BUILD_TYPE=Debug +set BUILD_TYPE=Debug rem to be filled with mpi options set PARALLEL="" @@ -22,6 +24,7 @@ cmake -LAH -G "NMake Makefiles" ^ -DENABLE_DAP=ON ^ -DENABLE_DAP_REMOTE_TESTS=OFF ^ -DENABLE_HDF4=ON ^ + -DENABLE_LOGGING=ON ^ -DENABLE_NETCDF_4=ON ^ -DENABLE_PLUGIN_INSTALL=ON ^ -DPLUGIN_INSTALL_DIR=YES ^ @@ -29,9 +32,11 @@ cmake -LAH -G "NMake Makefiles" ^ -DENABLE_BYTERANGE=ON ^ -DENABLE_NCZARR=on ^ -DENABLE_NCZARR_ZIP=on ^ - -DENABLE_NCZARR_S3=off ^ - -DENABLE_NCZARR_S3_TESTS=off ^ + -DENABLE_NCZARR_S3=on ^ + -DENABLE_NCZARR_S3_TESTS=on ^ -DENABLE_S3_SDK=off ^ + -DENABLE_S3=on ^ + -DENABLE_S3_INTERNAL=on ^ -DHDF5_C_LIBRARY="%LIBRARY_LIB:\=/%/hdf5.lib" ^ -DHDF5_HL_LIBRARY="%LIBRARY_LIB:\=/%/hdf5_hl.lib" ^ -DHDF5_INCLUDE_DIR="%LIBRARY_INC:\=/%" ^ diff --git a/recipe/build.sh b/recipe/build.sh index c69d7d64..2b3372b2 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -80,9 +80,9 @@ cmake ${CMAKE_ARGS} \ -DENABLE_BYTERANGE=ON \ -DENABLE_NCZARR=on \ -DENABLE_NCZARR_ZIP=on \ - -DENABLE_NCZARR_S3=off \ - -DENABLE_NCZARR_S3_TESTS=off \ - -DENABLE_S3_SDK=off \ + -DENABLE_NCZARR_S3=on \ + -DENABLE_NCZARR_S3_TESTS=on \ + -DENABLE_S3_SDK=on \ ${PARALLEL} \ ${SRC_DIR} make install -j${CPU_COUNT} ${VERBOSE_CM} diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9d275a89..eff49521 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set version = "4.9.2" %} -{% set build = 12 %} +{% set build = 13 %} # recipe-lint fails if mpi is undefined {% set mpi = mpi or 'nompi' %} @@ -22,10 +22,11 @@ source: - patches/do_not_use_16_processes_in_tests.patch # [ppc64le] - patches/0001-Fix-issue-2674.patch - patches/0001-Switch-custom-Bzip2-cmake-module-to-standard.patch + - patches/s3logging.patch build: number: {{ build }} - skip: true # [win and vc<14] + skip: true # [not win] {% if mpi != "nompi" %} {% set mpi_prefix = "mpi_" + mpi %} {% else %} @@ -84,6 +85,7 @@ requirements: - openssl # [unix] - zlib - zstd + - aws-sdk-cpp run: # In principle, zlib should *not* be a run requirement since only libz.so.1 # is needed which is provided by libzlib, which in turn gets added to the @@ -96,7 +98,12 @@ requirements: - zlib test: + files: + - test_netcdf.py + requires: + - netcdf4 commands: + - python -c "import test_netcdf; test_netcdf.test_netcdf()" - test ! -f ${PREFIX}/lib/libnetcdf.a # [not win] - test -f ${PREFIX}/lib/libnetcdf${SHLIB_EXT} # [not win] - nc-config --all # [not win] diff --git a/recipe/patches/s3logging.patch b/recipe/patches/s3logging.patch new file mode 100644 index 00000000..05b27ce0 --- /dev/null +++ b/recipe/patches/s3logging.patch @@ -0,0 +1,11 @@ +diff -ruN -x __pycache__ -x obj -x '*~' -x tags -x TAGS -x autom4te.cache netcdf-c-4.9.2.orig/libdispatch/ncs3sdk.cpp netcdf-c-4.9.2/libdispatch/ncs3sdk.cpp +--- netcdf-c-4.9.2.orig/libdispatch/ncs3sdk.cpp 2023-09-18 17:09:14.876220002 +0200 ++++ netcdf-c-4.9.2/libdispatch/ncs3sdk.cpp 2023-09-18 17:10:40.963717783 +0200 +@@ -72,6 +72,7 @@ + ncs3_initialized = 1; + ncs3_finalized = 0; + NCTRACE(11,NULL); ++ ncs3options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Debug; + Aws::InitAPI(ncs3options); + } + return NCUNTRACE(NC_NOERR); diff --git a/recipe/run_test.bat b/recipe/run_test.bat new file mode 100644 index 00000000..c096b74b --- /dev/null +++ b/recipe/run_test.bat @@ -0,0 +1,3 @@ +set NETCDF_LOG_LEVEL=15 + +%PYTHON% -c "import test_netcdf; test_netcdf.test_netcdf()" diff --git a/recipe/test_netcdf.py b/recipe/test_netcdf.py new file mode 100644 index 00000000..be1786e2 --- /dev/null +++ b/recipe/test_netcdf.py @@ -0,0 +1,6 @@ +from netCDF4 import Dataset + + +def test_netcdf(): + nc = Dataset("test_netcdf4_python.nc", mode="w") + nc.close()