From e897a04951e4451733f60d1fbd6635223de0aa33 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 1 Aug 2024 04:40:12 +0000 Subject: [PATCH 1/9] Rebuild for r-base 4.4 and UCRT mingw toolchain --- .../migrations/r-base44_and_m2w64-ucrt.yaml | 50 +++++++++++++++++++ recipe/meta.yaml | 7 ++- 2 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 .ci_support/migrations/r-base44_and_m2w64-ucrt.yaml diff --git a/.ci_support/migrations/r-base44_and_m2w64-ucrt.yaml b/.ci_support/migrations/r-base44_and_m2w64-ucrt.yaml new file mode 100644 index 0000000..ee9f9ba --- /dev/null +++ b/.ci_support/migrations/r-base44_and_m2w64-ucrt.yaml @@ -0,0 +1,50 @@ +migrator_ts: 1718391654 +__migrator: + kind: version + migration_number: 1 + bump_number: 1 + commit_message: "Rebuild for r-base 4.4 and UCRT mingw toolchain" + primary_key: r_base + automerge: True + longterm: True + include_noarch: True + pr_limit: 40 + override_cbc_keys: + - r-base + - r_base + - m2w64_c_compiler_stub + - m2w64_cxx_compiler_stub + - m2w64_fortran_compiler_stub + ordering: + m2w64_c_compiler: + - m2w64-toolchain + - gcc + m2w64_cxx_compiler: + - m2w64-toolchain + - gxx + m2w64_fortran_compiler: + - m2w64-toolchain + - gfortran + m2w64_c_stdlib: + - m2w64-toolchain + - m2w64-sysroot + +r_base: + - 4.3 + - 4.4 +m2w64_c_compiler: # [win] + - gcc # [win] +m2w64_c_compiler_version: # [win] + - 13 # [win] +m2w64_cxx_compiler: # [win] + - gxx # [win] +m2w64_cxx_compiler_version: # [win] + - 13 # [win] +m2w64_fortran_compiler: # [win] + - gfortran # [win] +m2w64_fortran_compiler_version: # [win] + - 13 # [win] +m2w64_c_stdlib: # [win] + - m2w64-sysroot # [win] +m2w64_c_stdlib_version: # [win] + - 12 # [win] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ec378af..6bdd6e2 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,6 +1,5 @@ {% set version = "3.16.0" %} {% set posix = 'm2-' if win else '' %} -{% set native = 'm2w64-' if win else '' %} package: name: r-mice @@ -13,8 +12,7 @@ source: sha256: 29f0285185a540337e9dde2357690c82d174f115be701ee2f0a7083173a44040 build: - merge_build_host: true # [win] - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -22,7 +20,9 @@ build: requirements: build: - {{ compiler('c') }} # [not win] + - {{ stdlib("c") }} # [not win] - {{ compiler('m2w64_c') }} # [win] + - {{ stdlib("m2w64_c") }} # [win] - {{ compiler('cxx') }} # [not win] - {{ compiler('m2w64_cxx') }} # [win] - {{ posix }}filesystem # [win] @@ -47,7 +47,6 @@ requirements: - r-tidyr run: - r-base - - {{ native }}gcc-libs # [win] - r-rcpp - r-broom - r-cpp11 From f835bd356b37b971630d811cb9f2180f09a70f74 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 1 Aug 2024 04:41:47 +0000 Subject: [PATCH 2/9] MNT: Re-rendered with conda-build 24.5.1, conda-smithy 3.37.1, and conda-forge-pinning 2024.07.31.04.56.44 --- .azure-pipelines/azure-pipelines-linux.yml | 12 +- .azure-pipelines/azure-pipelines-osx.yml | 12 +- .azure-pipelines/azure-pipelines-win.yml | 63 +++------ .ci_support/linux_64_r_base4.3.yaml | 8 +- ...r_base4.2.yaml => linux_64_r_base4.4.yaml} | 10 +- .ci_support/linux_aarch64_r_base4.3.yaml | 6 + ...e4.2.yaml => linux_aarch64_r_base4.4.yaml} | 8 +- .ci_support/linux_ppc64le_r_base4.3.yaml | 6 + ...e4.2.yaml => linux_ppc64le_r_base4.4.yaml} | 8 +- .ci_support/migrations/r_base43.yaml | 17 --- .ci_support/osx_64_r_base4.3.yaml | 12 +- ...4_r_base4.2.yaml => osx_64_r_base4.4.yaml} | 14 +- .../{win_64_.yaml => win_64_r_base4.3.yaml} | 14 +- .ci_support/win_64_r_base4.4.yaml | 26 ++++ .gitattributes | 4 +- .gitignore | 25 +++- .scripts/build_steps.sh | 22 ++- .scripts/logging_utils.sh | 4 +- .scripts/run_docker_build.sh | 9 ++ .scripts/run_osx_build.sh | 26 +++- .scripts/run_win_build.bat | 125 ++++++++++++++++++ .travis.yml | 15 ++- README.md | 39 +++--- azure-pipelines.yml | 4 +- build-locally.py | 5 +- 25 files changed, 362 insertions(+), 132 deletions(-) rename .ci_support/{linux_64_r_base4.2.yaml => linux_64_r_base4.4.yaml} (81%) rename .ci_support/{linux_aarch64_r_base4.2.yaml => linux_aarch64_r_base4.4.yaml} (84%) rename .ci_support/{linux_ppc64le_r_base4.2.yaml => linux_ppc64le_r_base4.4.yaml} (83%) delete mode 100644 .ci_support/migrations/r_base43.yaml rename .ci_support/{osx_64_r_base4.2.yaml => osx_64_r_base4.4.yaml} (76%) rename .ci_support/{win_64_.yaml => win_64_r_base4.3.yaml} (61%) create mode 100644 .ci_support/win_64_r_base4.4.yaml create mode 100755 .scripts/run_win_build.bat diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index c22a584..14df0dd 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,15 +8,16 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_r_base4.2: - CONFIG: linux_64_r_base4.2 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 linux_64_r_base4.3: CONFIG: linux_64_r_base4.3 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_r_base4.4: + CONFIG: linux_64_r_base4.4 + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 + variables: {} steps: # configure qemu binfmt-misc running. This allows us to run docker containers @@ -29,6 +30,9 @@ jobs: - script: | export CI=azure + export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) + export remote_url=$(Build.Repository.Uri) + export sha=$(Build.SourceVersion) export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index cd91459..d69d55b 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,21 +5,25 @@ jobs: - job: osx pool: - vmImage: macOS-11 + vmImage: macOS-12 strategy: matrix: - osx_64_r_base4.2: - CONFIG: osx_64_r_base4.2 - UPLOAD_PACKAGES: 'True' osx_64_r_base4.3: CONFIG: osx_64_r_base4.3 UPLOAD_PACKAGES: 'True' + osx_64_r_base4.4: + CONFIG: osx_64_r_base4.4 + UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 + variables: {} steps: # TODO: Fast finish on azure pipelines? - script: | export CI=azure + export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) + export remote_url=$(Build.Repository.Uri) + export sha=$(Build.SourceVersion) export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 75da5df..b68455a 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,8 +8,11 @@ jobs: vmImage: windows-2022 strategy: matrix: - win_64_: - CONFIG: win_64_ + win_64_r_base4.3: + CONFIG: win_64_r_base4.3 + UPLOAD_PACKAGES: 'True' + win_64_r_base4.4: + CONFIG: win_64_r_base4.4 UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: @@ -17,6 +20,7 @@ jobs: UPLOAD_TEMP: D:\\tmp steps: + - task: PythonScript@0 displayName: 'Download Miniforge' inputs: @@ -35,52 +39,17 @@ 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" - ) - 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 + flow_run_id: azure_$(Build.BuildNumber).$(System.JobAttempt) + remote_url: $(Build.Repository.Uri) + sha: $(Build.SourceVersion) + UPLOAD_PACKAGES: $(UPLOAD_PACKAGES) + UPLOAD_TEMP: $(UPLOAD_TEMP) BINSTAR_TOKEN: $(BINSTAR_TOKEN) 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 + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.ci_support/linux_64_r_base4.3.yaml b/.ci_support/linux_64_r_base4.3.yaml index 0cdbcdc..20cdcf4 100644 --- a/.ci_support/linux_64_r_base4.3.yaml +++ b/.ci_support/linux_64_r_base4.3.yaml @@ -2,8 +2,12 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_name: -- cos6 +- cos7 channel_sources: - conda-forge channel_targets: @@ -27,3 +31,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/linux_64_r_base4.2.yaml b/.ci_support/linux_64_r_base4.4.yaml similarity index 81% rename from .ci_support/linux_64_r_base4.2.yaml rename to .ci_support/linux_64_r_base4.4.yaml index d0d7b63..39d42ef 100644 --- a/.ci_support/linux_64_r_base4.2.yaml +++ b/.ci_support/linux_64_r_base4.4.yaml @@ -2,8 +2,12 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_name: -- cos6 +- cos7 channel_sources: - conda-forge channel_targets: @@ -21,9 +25,11 @@ pin_run_as_build: min_pin: x.x max_pin: x.x r_base: -- '4.2' +- '4.4' target_platform: - linux-64 zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/linux_aarch64_r_base4.3.yaml b/.ci_support/linux_aarch64_r_base4.3.yaml index 52f44ec..cb5f1c6 100644 --- a/.ci_support/linux_aarch64_r_base4.3.yaml +++ b/.ci_support/linux_aarch64_r_base4.3.yaml @@ -4,6 +4,10 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_arch: - aarch64 cdt_name: @@ -31,3 +35,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/linux_aarch64_r_base4.2.yaml b/.ci_support/linux_aarch64_r_base4.4.yaml similarity index 84% rename from .ci_support/linux_aarch64_r_base4.2.yaml rename to .ci_support/linux_aarch64_r_base4.4.yaml index 8baaddf..a1e88ee 100644 --- a/.ci_support/linux_aarch64_r_base4.2.yaml +++ b/.ci_support/linux_aarch64_r_base4.4.yaml @@ -4,6 +4,10 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_arch: - aarch64 cdt_name: @@ -25,9 +29,11 @@ pin_run_as_build: min_pin: x.x max_pin: x.x r_base: -- '4.2' +- '4.4' target_platform: - linux-aarch64 zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/linux_ppc64le_r_base4.3.yaml b/.ci_support/linux_ppc64le_r_base4.3.yaml index 776024e..eeb952d 100644 --- a/.ci_support/linux_ppc64le_r_base4.3.yaml +++ b/.ci_support/linux_ppc64le_r_base4.3.yaml @@ -2,6 +2,10 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_name: - cos7 channel_sources: @@ -27,3 +31,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/linux_ppc64le_r_base4.2.yaml b/.ci_support/linux_ppc64le_r_base4.4.yaml similarity index 83% rename from .ci_support/linux_ppc64le_r_base4.2.yaml rename to .ci_support/linux_ppc64le_r_base4.4.yaml index d8595b4..d90907a 100644 --- a/.ci_support/linux_ppc64le_r_base4.2.yaml +++ b/.ci_support/linux_ppc64le_r_base4.4.yaml @@ -2,6 +2,10 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_name: - cos7 channel_sources: @@ -21,9 +25,11 @@ pin_run_as_build: min_pin: x.x max_pin: x.x r_base: -- '4.2' +- '4.4' target_platform: - linux-ppc64le zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/migrations/r_base43.yaml b/.ci_support/migrations/r_base43.yaml deleted file mode 100644 index ec19ef3..0000000 --- a/.ci_support/migrations/r_base43.yaml +++ /dev/null @@ -1,17 +0,0 @@ -migrator_ts: 1682187595 -__migrator: - kind: version - migration_number: 1 - bump_number: 1 - operation: key_add - commit_message: "Rebuild for r-base 4.3" - primary_key: r_base - automerge: True - longterm: True - include_noarch: True - pr_limit: 40 - conda_forge_yml_patches: - provider.win_64: win_disabled - -r_base: - - 4.3 # [not win] diff --git a/.ci_support/osx_64_r_base4.3.yaml b/.ci_support/osx_64_r_base4.3.yaml index 8656efd..f96428e 100644 --- a/.ci_support/osx_64_r_base4.3.yaml +++ b/.ci_support/osx_64_r_base4.3.yaml @@ -1,9 +1,15 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' c_compiler: - clang c_compiler_version: -- '15' +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' channel_sources: - conda-forge channel_targets: @@ -13,7 +19,7 @@ cran_mirror: cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' macos_machine: - x86_64-apple-darwin13.4.0 pin_run_as_build: diff --git a/.ci_support/osx_64_r_base4.2.yaml b/.ci_support/osx_64_r_base4.4.yaml similarity index 76% rename from .ci_support/osx_64_r_base4.2.yaml rename to .ci_support/osx_64_r_base4.4.yaml index 34ce370..03f6f03 100644 --- a/.ci_support/osx_64_r_base4.2.yaml +++ b/.ci_support/osx_64_r_base4.4.yaml @@ -1,9 +1,15 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' c_compiler: - clang c_compiler_version: -- '15' +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' channel_sources: - conda-forge channel_targets: @@ -13,7 +19,7 @@ cran_mirror: cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' macos_machine: - x86_64-apple-darwin13.4.0 pin_run_as_build: @@ -21,7 +27,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x r_base: -- '4.2' +- '4.4' target_platform: - osx-64 zip_keys: diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_r_base4.3.yaml similarity index 61% rename from .ci_support/win_64_.yaml rename to .ci_support/win_64_r_base4.3.yaml index 459915c..67843d5 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_r_base4.3.yaml @@ -5,14 +5,22 @@ channel_targets: cran_mirror: - https://cran.r-project.org m2w64_c_compiler: -- m2w64-toolchain +- gcc +m2w64_c_compiler_version: +- '13' +m2w64_c_stdlib: +- m2w64-sysroot +m2w64_c_stdlib_version: +- '12' m2w64_cxx_compiler: -- m2w64-toolchain +- gxx +m2w64_cxx_compiler_version: +- '13' pin_run_as_build: r-base: min_pin: x.x max_pin: x.x r_base: -- '4.1' +- '4.3' target_platform: - win-64 diff --git a/.ci_support/win_64_r_base4.4.yaml b/.ci_support/win_64_r_base4.4.yaml new file mode 100644 index 0000000..45d508a --- /dev/null +++ b/.ci_support/win_64_r_base4.4.yaml @@ -0,0 +1,26 @@ +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cran_mirror: +- https://cran.r-project.org +m2w64_c_compiler: +- gcc +m2w64_c_compiler_version: +- '13' +m2w64_c_stdlib: +- m2w64-sysroot +m2w64_c_stdlib_version: +- '12' +m2w64_cxx_compiler: +- gxx +m2w64_cxx_compiler_version: +- '13' +pin_run_as_build: + r-base: + min_pin: x.x + max_pin: x.x +r_base: +- '4.4' +target_platform: +- win-64 diff --git a/.gitattributes b/.gitattributes index 7f32763..18f114a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -20,8 +20,8 @@ bld.bat text eol=crlf .travis.yml linguist-generated=true .scripts/* linguist-generated=true .woodpecker.yml linguist-generated=true -LICENSE.txt linguist-generated=true -README.md linguist-generated=true +/LICENSE.txt linguist-generated=true +/README.md linguist-generated=true azure-pipelines.yml linguist-generated=true build-locally.py linguist-generated=true shippable.yml linguist-generated=true diff --git a/.gitignore b/.gitignore index c89ecb7..179afe5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,24 @@ -*.pyc +# User content belongs under recipe/. +# Feedstock configuration goes in `conda-forge.yml` +# Everything else is managed by the conda-smithy rerender process. +# Please do not modify + +# Ignore all files and folders in root +* +!/conda-forge.yml + +# Don't ignore any files/folders if the parent folder is 'un-ignored' +# This also avoids warnings when adding an already-checked file with an ignored parent. +!/**/ +# Don't ignore any files/folders recursively in the following folders +!/recipe/** +!/.ci_support/** -build_artifacts +# Since we ignore files/folders recursively, any folders inside +# build_artifacts gets ignored which trips some build systems. +# To avoid that we 'un-ignore' all files/folders recursively +# and only ignore the root build_artifacts folder. +!/build_artifacts/** +/build_artifacts + +*.pyc diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 595f8b5..6c805a9 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -28,14 +28,15 @@ conda-build: pkgs_dirs: - ${FEEDSTOCK_ROOT}/build_artifacts/pkg_cache - /opt/conda/pkgs +solver: libmamba CONDARC +export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 - -mamba install --update-specs --yes --quiet --channel conda-forge \ - 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 +mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ + pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" +mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ + pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -64,9 +65,16 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + conda-build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ + --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" + ( startgroup "Inspecting artifacts" ) 2> /dev/null + + # inspect_artifacts was only added in conda-forge-ci-setup 4.6.0 + command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0" + + ( endgroup "Inspecting artifacts" ) 2> /dev/null ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh index 57bc95c..aff009f 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 index 9236239..00f377a 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -21,6 +21,12 @@ if [ -z ${FEEDSTOCK_NAME} ]; then export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) fi +if [[ "${sha:-}" == "" ]]; then + pushd "${FEEDSTOCK_ROOT}" + sha=$(git rev-parse HEAD) + popd +fi + docker info # In order for the conda-build process in the container to write to the mounted @@ -91,6 +97,9 @@ docker run ${DOCKER_RUN_ARGS} \ -e CPU_COUNT \ -e BUILD_WITH_CONDA_DEBUG \ -e BUILD_OUTPUT_ID \ + -e flow_run_id \ + -e remote_url \ + -e sha \ -e BINSTAR_TOKEN \ -e FEEDSTOCK_TOKEN \ -e STAGING_BINSTAR_TOKEN \ diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 5ef2a19..0c9e992 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -22,11 +22,13 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base +export CONDA_SOLVER="libmamba" +export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 -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 +mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \ + pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" +mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ + pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" @@ -45,6 +47,10 @@ else echo -e "\n\nNot mangling homebrew as we are not running in CI" fi +if [[ "${sha:-}" == "" ]]; then + sha=$(git rev-parse HEAD) +fi + echo -e "\n\nRunning the build setup script." source run_conda_forge_build_setup @@ -71,9 +77,17 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then /bin/bash else - conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ + conda-build ./recipe -m ./.ci_support/${CONFIG}.yaml \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file ./.ci_support/clobber_${CONFIG}.yaml + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ + --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" + + ( startgroup "Inspecting artifacts" ) 2> /dev/null + + # inspect_artifacts was only added in conda-forge-ci-setup 4.6.0 + command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0" + + ( endgroup "Inspecting artifacts" ) 2> /dev/null ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat new file mode 100755 index 0000000..24ef201 --- /dev/null +++ b/.scripts/run_win_build.bat @@ -0,0 +1,125 @@ +:: 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 +:: Configure the solver +set "CONDA_SOLVER=libmamba" +if !errorlevel! neq 0 exit /b !errorlevel! +set "CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1" + +:: Provision the necessary dependencies to build the recipe later +echo Installing dependencies +mamba.exe install "python=3.10" pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" -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 [%flow_run_id%] == [] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% remote_url=%remote_url% sha=%sha%" +) + +call :end_group + +:: Build the recipe +echo Building recipe +conda-build.exe "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +if !errorlevel! neq 0 exit /b !errorlevel! + +call :start_group "Inspecting artifacts" +:: inspect_artifacts was only added in conda-forge-ci-setup 4.6.0 +WHERE inspect_artifacts >nul 2>nul && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0" +call :end_group + +:: 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/.travis.yml b/.travis.yml index c0511b1..0b3a437 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,28 +1,28 @@ # This file was generated automatically from conda-smithy. To update this configuration, # update the conda-forge.yml and/or the recipe/meta.yaml. -language: generic +language: shell -matrix: +jobs: include: - - env: CONFIG=linux_aarch64_r_base4.2 UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 + - env: CONFIG=linux_aarch64_r_base4.3 UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 os: linux arch: arm64 dist: focal - - env: CONFIG=linux_aarch64_r_base4.3 UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 + - env: CONFIG=linux_aarch64_r_base4.4 UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 os: linux arch: arm64 dist: focal - - env: CONFIG=linux_ppc64le_r_base4.2 UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le + - env: CONFIG=linux_ppc64le_r_base4.3 UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le os: linux arch: ppc64le dist: focal - - env: CONFIG=linux_ppc64le_r_base4.3 UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le + - env: CONFIG=linux_ppc64le_r_base4.4 UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le os: linux arch: ppc64le dist: focal @@ -30,6 +30,9 @@ matrix: script: - export CI=travis - export GIT_BRANCH="$TRAVIS_BRANCH" + - export flow_run_id="travis_$TRAVIS_JOB_ID" + - export sha="$TRAVIS_COMMIT" + - export remote_url="https://github.com/$TRAVIS_REPO_SLUG" - export FEEDSTOCK_NAME=$(basename ${TRAVIS_REPO_SLUG}) - if [[ "${TRAVIS_PULL_REQUEST:-}" == "false" ]]; then export IS_PR_BUILD="False"; else export IS_PR_BUILD="True"; fi diff --git a/README.md b/README.md index 4e42e45..9a792b3 100644 --- a/README.md +++ b/README.md @@ -47,13 +47,6 @@ Current build status - - - - + @@ -75,10 +68,10 @@ Current build status - + @@ -89,10 +82,10 @@ Current build status - + @@ -103,10 +96,24 @@ Current build status - + + + + + + + @@ -190,7 +197,7 @@ available continuous integration services. Thanks to the awesome service provide [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/) +[conda-forge](https://anaconda.org/conda-forge) [anaconda.org](https://anaconda.org/) channel for Linux, Windows and OSX respectively. To manage the continuous integration and simplify feedstock maintenance diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6b346f5..e5306da 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -4,5 +4,5 @@ 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-osx.yml + - template: ./.azure-pipelines/azure-pipelines-win.yml \ No newline at end of file diff --git a/build-locally.py b/build-locally.py index 3f4b7a7..e0d408d 100755 --- a/build-locally.py +++ b/build-locally.py @@ -64,8 +64,9 @@ def verify_config(ns): 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=SDKs' " - "to download the SDK automatically to 'SDKs/MacOSX.sdk'. " + "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." ) From cbd89e14aeb04ade5ed0d2955038b7dd1c4465fd Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Sun, 4 Aug 2024 10:49:39 +0200 Subject: [PATCH 3/9] cross-compile; add osx-arm64 --- conda-forge.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/conda-forge.yml b/conda-forge.yml index 5494e18..937d0b4 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,5 +1,9 @@ bot: automerge: true +build_platform: + linux_aarch64: linux_64 + linux_ppc64le: linux_64 + osx_arm64: osx_64 conda_build: pkg_format: '2' conda_forge_output_validation: true @@ -7,6 +11,7 @@ github: branch_name: main tooling_branch_name: main provider: - linux_aarch64: default - linux_ppc64le: default + linux_aarch64: azure + linux_ppc64le: azure win: azure +test: native_and_emulated From 3960598fb683d582cbc0be3fa3d91fb175e028f1 Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Sun, 4 Aug 2024 10:54:32 +0200 Subject: [PATCH 4/9] cross-compile; tidy --- recipe/meta.yaml | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 6bdd6e2..3d2a030 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -19,21 +19,32 @@ build: requirements: build: - - {{ compiler('c') }} # [not win] - - {{ stdlib("c") }} # [not win] - - {{ compiler('m2w64_c') }} # [win] - - {{ stdlib("m2w64_c") }} # [win] - - {{ compiler('cxx') }} # [not win] - - {{ compiler('m2w64_cxx') }} # [win] + - cross-r-base {{ r_base }} # [build_platform != target_platform] + - r-rcpp # [build_platform != target_platform] + - r-broom # [build_platform != target_platform] + - r-cpp11 # [build_platform != target_platform] + - r-dplyr # [build_platform != target_platform] + - r-generics # [build_platform != target_platform] + - r-glmnet # [build_platform != target_platform] + - r-lattice # [build_platform != target_platform] + - r-mitml # [build_platform != target_platform] + - r-nnet # [build_platform != target_platform] + - r-rlang # [build_platform != target_platform] + - r-rpart # [build_platform != target_platform] + - r-tidyr # [build_platform != target_platform] + - {{ compiler('c') }} # [not win] + - {{ stdlib("c") }} # [not win] + - {{ compiler('m2w64_c') }} # [win] + - {{ stdlib("m2w64_c") }} # [win] + - {{ compiler('cxx') }} # [not win] + - {{ compiler('m2w64_cxx') }} # [win] - {{ posix }}filesystem # [win] - {{ posix }}make - {{ posix }}sed # [win] - {{ posix }}coreutils # [win] - {{ posix }}zip # [win] - - cross-r-base {{ r_base }} # [build_platform != target_platform] host: - r-base - - r-rcpp - r-broom - r-cpp11 - r-dplyr @@ -42,12 +53,12 @@ requirements: - r-lattice - r-mitml - r-nnet + - r-rcpp - r-rlang - r-rpart - r-tidyr run: - r-base - - r-rcpp - r-broom - r-cpp11 - r-dplyr @@ -56,6 +67,7 @@ requirements: - r-lattice - r-mitml - r-nnet + - r-rcpp - r-rlang - r-rpart - r-tidyr @@ -66,13 +78,16 @@ test: - "\"%R%\" -e \"library('mice')\"" # [win] about: - home: http://stefvanbuuren.github.io/mice/ , http://www.stefvanbuuren.name , http://www.stefvanbuuren.name/fimd/ + home: https://www.stefvanbuuren.name , https://www.stefvanbuuren.name/fimd/ + dev_url: https://github.com/stefvanbuuren/mice/ + doc_url: https://stefvanbuuren.github.io/mice/ license: GPL-2.0-or-later summary: Multiple imputation using Fully Conditional Specification (FCS) implemented by the MICE algorithm as described in Van Buuren and Groothuis-Oudshoorn (2011) . Each variable has its own imputation model. Built-in imputation models are provided for continuous data (predictive mean matching, normal), binary data (logistic regression), unordered categorical data (polytomous logistic regression) and ordered categorical data (proportional odds). MICE can also impute continuous two-level data (normal model, pan, second-level variables). Passive imputation can be used to maintain consistency between variables. Various diagnostic plots are available to inspect the quality of the imputations. license_family: GPL3 license_file: + - {{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2 - {{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3 extra: From 501094f79055ea2cf39f3e747a05589e93ea1a14 Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Sun, 4 Aug 2024 10:54:48 +0200 Subject: [PATCH 5/9] Update build.sh --- recipe/build.sh | 38 +++++--------------------------------- 1 file changed, 5 insertions(+), 33 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index afaa0ea..b24c5a2 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -1,34 +1,6 @@ #!/bin/bash -if [[ $target_platform =~ linux.* ]] || [[ $target_platform == win-32 ]] || [[ $target_platform == win-64 ]] || [[ $target_platform == osx-64 ]]; then - export DISABLE_AUTOBREW=1 - $R CMD INSTALL --build . -else - mkdir -p $PREFIX/lib/R/library/mice - mv * $PREFIX/lib/R/library/mice - if [[ $target_platform == osx-64 ]]; then - pushd $PREFIX - for libdir in lib/R/lib lib/R/modules lib/R/library lib/R/bin/exec sysroot/usr/lib; do - pushd $libdir || exit 1 - for SHARED_LIB in $(find . -type f -iname "*.dylib" -or -iname "*.so" -or -iname "R"); do - echo "fixing SHARED_LIB $SHARED_LIB" - install_name_tool -change /Library/Frameworks/R.framework/Versions/3.5.0-MRO/Resources/lib/libR.dylib "$PREFIX"/lib/R/lib/libR.dylib $SHARED_LIB || true - install_name_tool -change /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libR.dylib "$PREFIX"/lib/R/lib/libR.dylib $SHARED_LIB || true - install_name_tool -change /usr/local/clang4/lib/libomp.dylib "$PREFIX"/lib/libomp.dylib $SHARED_LIB || true - install_name_tool -change /usr/local/gfortran/lib/libgfortran.3.dylib "$PREFIX"/lib/libgfortran.3.dylib $SHARED_LIB || true - install_name_tool -change /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libquadmath.0.dylib "$PREFIX"/lib/libquadmath.0.dylib $SHARED_LIB || true - install_name_tool -change /usr/local/gfortran/lib/libquadmath.0.dylib "$PREFIX"/lib/libquadmath.0.dylib $SHARED_LIB || true - install_name_tool -change /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libgfortran.3.dylib "$PREFIX"/lib/libgfortran.3.dylib $SHARED_LIB || true - install_name_tool -change /usr/lib/libgcc_s.1.dylib "$PREFIX"/lib/libgcc_s.1.dylib $SHARED_LIB || true - install_name_tool -change /usr/lib/libiconv.2.dylib "$PREFIX"/sysroot/usr/lib/libiconv.2.dylib $SHARED_LIB || true - install_name_tool -change /usr/lib/libncurses.5.4.dylib "$PREFIX"/sysroot/usr/lib/libncurses.5.4.dylib $SHARED_LIB || true - install_name_tool -change /usr/lib/libicucore.A.dylib "$PREFIX"/sysroot/usr/lib/libicucore.A.dylib $SHARED_LIB || true - install_name_tool -change /usr/lib/libexpat.1.dylib "$PREFIX"/lib/libexpat.1.dylib $SHARED_LIB || true - install_name_tool -change /usr/lib/libcurl.4.dylib "$PREFIX"/lib/libcurl.4.dylib $SHARED_LIB || true - install_name_tool -change /usr/lib/libc++.1.dylib "$PREFIX"/lib/libc++.1.dylib $SHARED_LIB || true - install_name_tool -change /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libc++.1.dylib "$PREFIX"/lib/libc++.1.dylib $SHARED_LIB || true - done - popd - done - popd - fi -fi + +export DISABLE_AUTOBREW=1 + +# shellcheck disable=SC2086 +${R} CMD INSTALL --build . ${R_ARGS} From f883e266d7c56cd5f9425bb79a69535d4d56b443 Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Sun, 4 Aug 2024 10:55:29 +0200 Subject: [PATCH 6/9] Update bld.bat --- recipe/bld.bat | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/bld.bat b/recipe/bld.bat index b7e1203..01bc5ea 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -1,2 +1,2 @@ -"%R%" CMD INSTALL --build . -IF %ERRORLEVEL% NEQ 0 exit 1 +"%R%" CMD INSTALL --build . %R_ARGS% +IF %ERRORLEVEL% NEQ 0 exit /B 1 From fcf8caa7a0e14eee7244701a457fb41c58ef11de Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Sun, 4 Aug 2024 08:57:09 +0000 Subject: [PATCH 7/9] MNT: Re-rendered with conda-build 24.7.1, conda-smithy 3.37.2, and conda-forge-pinning 2024.08.03.16.02.50 --- .azure-pipelines/azure-pipelines-linux.yml | 16 +++++++++ .azure-pipelines/azure-pipelines-osx.yml | 6 ++++ .azure-pipelines/azure-pipelines-win.yml | 2 +- .ci_support/linux_aarch64_r_base4.3.yaml | 2 +- .ci_support/linux_aarch64_r_base4.4.yaml | 2 +- .ci_support/linux_ppc64le_r_base4.3.yaml | 2 +- .ci_support/linux_ppc64le_r_base4.4.yaml | 2 +- .ci_support/osx_arm64_r_base4.3.yaml | 35 +++++++++++++++++++ .ci_support/osx_arm64_r_base4.4.yaml | 35 +++++++++++++++++++ .scripts/build_steps.sh | 3 ++ .scripts/run_osx_build.sh | 6 +++- .scripts/run_win_build.bat | 5 +++ .travis.yml | 40 ---------------------- README.md | 37 ++++++++++++++------ build-locally.py | 4 +-- 15 files changed, 138 insertions(+), 59 deletions(-) create mode 100644 .ci_support/osx_arm64_r_base4.3.yaml create mode 100644 .ci_support/osx_arm64_r_base4.4.yaml delete mode 100644 .travis.yml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 14df0dd..f436469 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -16,6 +16,22 @@ jobs: CONFIG: linux_64_r_base4.4 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_r_base4.3: + CONFIG: linux_aarch64_r_base4.3 + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_r_base4.4: + CONFIG: linux_aarch64_r_base4.4 + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_ppc64le_r_base4.3: + CONFIG: linux_ppc64le_r_base4.3 + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_ppc64le_r_base4.4: + CONFIG: linux_ppc64le_r_base4.4 + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 variables: {} diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index d69d55b..8844d99 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -14,6 +14,12 @@ jobs: osx_64_r_base4.4: CONFIG: osx_64_r_base4.4 UPLOAD_PACKAGES: 'True' + osx_arm64_r_base4.3: + CONFIG: osx_arm64_r_base4.3 + UPLOAD_PACKAGES: 'True' + osx_arm64_r_base4.4: + CONFIG: osx_arm64_r_base4.4 + UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: {} diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index b68455a..5a5c8ff 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -27,7 +27,7 @@ jobs: scriptSource: inline script: | import urllib.request - url = 'https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Windows-x86_64.exe' + url = 'https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Windows-x86_64.exe' path = r"$(Build.ArtifactStagingDirectory)/Miniforge.exe" urllib.request.urlretrieve(url, path) diff --git a/.ci_support/linux_aarch64_r_base4.3.yaml b/.ci_support/linux_aarch64_r_base4.3.yaml index cb5f1c6..7514016 100644 --- a/.ci_support/linux_aarch64_r_base4.3.yaml +++ b/.ci_support/linux_aarch64_r_base4.3.yaml @@ -23,7 +23,7 @@ cxx_compiler: cxx_compiler_version: - '12' docker_image: -- quay.io/condaforge/linux-anvil-aarch64 +- quay.io/condaforge/linux-anvil-cos7-x86_64 pin_run_as_build: r-base: min_pin: x.x diff --git a/.ci_support/linux_aarch64_r_base4.4.yaml b/.ci_support/linux_aarch64_r_base4.4.yaml index a1e88ee..a4141b3 100644 --- a/.ci_support/linux_aarch64_r_base4.4.yaml +++ b/.ci_support/linux_aarch64_r_base4.4.yaml @@ -23,7 +23,7 @@ cxx_compiler: cxx_compiler_version: - '12' docker_image: -- quay.io/condaforge/linux-anvil-aarch64 +- quay.io/condaforge/linux-anvil-cos7-x86_64 pin_run_as_build: r-base: min_pin: x.x diff --git a/.ci_support/linux_ppc64le_r_base4.3.yaml b/.ci_support/linux_ppc64le_r_base4.3.yaml index eeb952d..8526324 100644 --- a/.ci_support/linux_ppc64le_r_base4.3.yaml +++ b/.ci_support/linux_ppc64le_r_base4.3.yaml @@ -19,7 +19,7 @@ cxx_compiler: cxx_compiler_version: - '12' docker_image: -- quay.io/condaforge/linux-anvil-ppc64le +- quay.io/condaforge/linux-anvil-cos7-x86_64 pin_run_as_build: r-base: min_pin: x.x diff --git a/.ci_support/linux_ppc64le_r_base4.4.yaml b/.ci_support/linux_ppc64le_r_base4.4.yaml index d90907a..0bb4aae 100644 --- a/.ci_support/linux_ppc64le_r_base4.4.yaml +++ b/.ci_support/linux_ppc64le_r_base4.4.yaml @@ -19,7 +19,7 @@ cxx_compiler: cxx_compiler_version: - '12' docker_image: -- quay.io/condaforge/linux-anvil-ppc64le +- quay.io/condaforge/linux-anvil-cos7-x86_64 pin_run_as_build: r-base: min_pin: x.x diff --git a/.ci_support/osx_arm64_r_base4.3.yaml b/.ci_support/osx_arm64_r_base4.3.yaml new file mode 100644 index 0000000..a3046f9 --- /dev/null +++ b/.ci_support/osx_arm64_r_base4.3.yaml @@ -0,0 +1,35 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +MACOSX_SDK_VERSION: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cran_mirror: +- https://cran.r-project.org +cxx_compiler: +- clangxx +cxx_compiler_version: +- '16' +macos_machine: +- arm64-apple-darwin20.0.0 +pin_run_as_build: + r-base: + min_pin: x.x + max_pin: x.x +r_base: +- '4.3' +target_platform: +- osx-arm64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version diff --git a/.ci_support/osx_arm64_r_base4.4.yaml b/.ci_support/osx_arm64_r_base4.4.yaml new file mode 100644 index 0000000..cde9411 --- /dev/null +++ b/.ci_support/osx_arm64_r_base4.4.yaml @@ -0,0 +1,35 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +MACOSX_SDK_VERSION: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cran_mirror: +- https://cran.r-project.org +cxx_compiler: +- clangxx +cxx_compiler_version: +- '16' +macos_machine: +- arm64-apple-darwin20.0.0 +pin_run_as_build: + r-base: + min_pin: x.x + max_pin: x.x +r_base: +- '4.4' +target_platform: +- osx-arm64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 6c805a9..ba4b251 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -46,6 +46,9 @@ source run_conda_forge_build_setup # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" +if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]] && [[ "${HOST_PLATFORM}" != linux-* ]] && [[ "${BUILD_WITH_CONDA_DEBUG:-0}" != 1 ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" +fi ( endgroup "Configuring conda" ) 2> /dev/null diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 0c9e992..420f051 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -11,7 +11,7 @@ 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" +MINIFORGE_FILE="Miniforge3-MacOSX-$(uname -m).sh" curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" rm -rf ${MINIFORGE_HOME} bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} @@ -77,6 +77,10 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then /bin/bash else + if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" + fi + conda-build ./recipe -m ./.ci_support/${CONFIG}.yaml \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 24ef201..65650bf 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -41,6 +41,11 @@ if EXIST LICENSE.txt ( echo Copying feedstock license copy LICENSE.txt "recipe\\recipe-scripts-license.txt" ) +if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( + if [%CROSSCOMPILING_EMULATOR%] == [] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" + ) +) if NOT [%flow_run_id%] == [] ( set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% remote_url=%remote_url% sha=%sha%" diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0b3a437..0000000 --- a/.travis.yml +++ /dev/null @@ -1,40 +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. - -language: shell - - - -jobs: - include: - - env: CONFIG=linux_aarch64_r_base4.3 UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 - os: linux - arch: arm64 - dist: focal - - - env: CONFIG=linux_aarch64_r_base4.4 UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 - os: linux - arch: arm64 - dist: focal - - - env: CONFIG=linux_ppc64le_r_base4.3 UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le - os: linux - arch: ppc64le - dist: focal - - - env: CONFIG=linux_ppc64le_r_base4.4 UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le - os: linux - arch: ppc64le - dist: focal - -script: - - export CI=travis - - export GIT_BRANCH="$TRAVIS_BRANCH" - - export flow_run_id="travis_$TRAVIS_JOB_ID" - - export sha="$TRAVIS_COMMIT" - - export remote_url="https://github.com/$TRAVIS_REPO_SLUG" - - export FEEDSTOCK_NAME=$(basename ${TRAVIS_REPO_SLUG}) - - if [[ "${TRAVIS_PULL_REQUEST:-}" == "false" ]]; then export IS_PR_BUILD="False"; else export IS_PR_BUILD="True"; fi - - - - if [[ ${PLATFORM} =~ .*linux.* ]]; then CONDA_FORGE_DOCKER_RUN_ARGS="--network=host --security-opt=seccomp=unconfined" ./.scripts/run_docker_build.sh; fi \ No newline at end of file diff --git a/README.md b/README.md index 9a792b3..f2bfec7 100644 --- a/README.md +++ b/README.md @@ -7,33 +7,34 @@ Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/r-mice-feedstoc About r-mice ------------ -Home: http://stefvanbuuren.github.io/mice/ , http://www.stefvanbuuren.name , http://www.stefvanbuuren.name/fimd/ +Home: https://www.stefvanbuuren.name , https://www.stefvanbuuren.name/fimd/ Package license: GPL-2.0-or-later Summary: Multiple imputation using Fully Conditional Specification (FCS) implemented by the MICE algorithm as described in Van Buuren and Groothuis-Oudshoorn (2011) . Each variable has its own imputation model. Built-in imputation models are provided for continuous data (predictive mean matching, normal), binary data (logistic regression), unordered categorical data (polytomous logistic regression) and ordered categorical data (proportional odds). MICE can also impute continuous two-level data (normal model, pan, second-level variables). Passive imputation can be used to maintain consistency between variables. Various diagnostic plots are available to inspect the quality of the imputations. +Development: https://github.com/stefvanbuuren/mice/ + +Documentation: https://stefvanbuuren.github.io/mice/ + About r-mice ------------ -Home: http://stefvanbuuren.github.io/mice/ , http://www.stefvanbuuren.name , http://www.stefvanbuuren.name/fimd/ +Home: https://www.stefvanbuuren.name , https://www.stefvanbuuren.name/fimd/ Package license: GPL-2.0-or-later Summary: Multiple imputation using Fully Conditional Specification (FCS) implemented by the MICE algorithm as described in Van Buuren and Groothuis-Oudshoorn (2011) . Each variable has its own imputation model. Built-in imputation models are provided for continuous data (predictive mean matching, normal), binary data (logistic regression), unordered categorical data (polytomous logistic regression) and ordered categorical data (proportional odds). MICE can also impute continuous two-level data (normal model, pan, second-level variables). Passive imputation can be used to maintain consistency between variables. Various diagnostic plots are available to inspect the quality of the imputations. +Development: https://github.com/stefvanbuuren/mice/ + +Documentation: https://stefvanbuuren.github.io/mice/ + Current build status ==================== -
VariantStatus
linux_64_r_base4.2 - - variant - -
linux_64_r_base4.3 @@ -61,10 +54,10 @@ Current build status
linux_aarch64_r_base4.2linux_64_r_base4.4 - variant + variant
linux_ppc64le_r_base4.2linux_aarch64_r_base4.4 - variant + variant
osx_64_r_base4.2linux_ppc64le_r_base4.4 - variant + variant
win_64osx_64_r_base4.4 + + variant + +
win_64_r_base4.3 + + variant + +
win_64_r_base4.4 - variant + variant
- - - +
Travis - - linux - -
@@ -102,6 +103,20 @@ Current build status variant + + + + + + - - - - - -
Azure
osx_arm64_r_base4.3 + + variant + +
osx_arm64_r_base4.4 + + variant + +
win_64_r_base4.3 @@ -245,6 +260,6 @@ In order to produce a uniquely identifiable distribution: Feedstock Maintainers ===================== -* [@conda-forge/r](https://github.com/conda-forge/r/) +* [@conda-forge/r](https://github.com/orgs/conda-forge/teams/r/) * [@slacalle](https://github.com/slacalle/) diff --git a/build-locally.py b/build-locally.py index e0d408d..d78427b 100755 --- a/build-locally.py +++ b/build-locally.py @@ -3,11 +3,11 @@ # This file has been generated by conda-smithy in order to build the recipe # locally. # -import os import glob +import os +import platform import subprocess from argparse import ArgumentParser -import platform def setup_environment(ns): From 439d381913eb299b2c88dce0023af23fcf5dc796 Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Sun, 4 Aug 2024 11:06:31 +0200 Subject: [PATCH 8/9] no osx-arm64 yet --- conda-forge.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/conda-forge.yml b/conda-forge.yml index 937d0b4..026d6f7 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -3,7 +3,6 @@ bot: build_platform: linux_aarch64: linux_64 linux_ppc64le: linux_64 - osx_arm64: osx_64 conda_build: pkg_format: '2' conda_forge_output_validation: true From 9736406d93f64df361f43a0b868d89abd0b38789 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Sun, 4 Aug 2024 09:08:17 +0000 Subject: [PATCH 9/9] MNT: Re-rendered with conda-build 24.7.1, conda-smithy 3.37.2, and conda-forge-pinning 2024.08.03.16.02.50 --- .azure-pipelines/azure-pipelines-osx.yml | 6 ---- .ci_support/osx_arm64_r_base4.3.yaml | 35 ------------------------ .ci_support/osx_arm64_r_base4.4.yaml | 35 ------------------------ README.md | 14 ---------- 4 files changed, 90 deletions(-) delete mode 100644 .ci_support/osx_arm64_r_base4.3.yaml delete mode 100644 .ci_support/osx_arm64_r_base4.4.yaml diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 8844d99..d69d55b 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -14,12 +14,6 @@ jobs: osx_64_r_base4.4: CONFIG: osx_64_r_base4.4 UPLOAD_PACKAGES: 'True' - osx_arm64_r_base4.3: - CONFIG: osx_arm64_r_base4.3 - UPLOAD_PACKAGES: 'True' - osx_arm64_r_base4.4: - CONFIG: osx_arm64_r_base4.4 - UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: {} diff --git a/.ci_support/osx_arm64_r_base4.3.yaml b/.ci_support/osx_arm64_r_base4.3.yaml deleted file mode 100644 index a3046f9..0000000 --- a/.ci_support/osx_arm64_r_base4.3.yaml +++ /dev/null @@ -1,35 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -MACOSX_SDK_VERSION: -- '11.0' -c_compiler: -- clang -c_compiler_version: -- '16' -c_stdlib: -- macosx_deployment_target -c_stdlib_version: -- '11.0' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cran_mirror: -- https://cran.r-project.org -cxx_compiler: -- clangxx -cxx_compiler_version: -- '16' -macos_machine: -- arm64-apple-darwin20.0.0 -pin_run_as_build: - r-base: - min_pin: x.x - max_pin: x.x -r_base: -- '4.3' -target_platform: -- osx-arm64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version diff --git a/.ci_support/osx_arm64_r_base4.4.yaml b/.ci_support/osx_arm64_r_base4.4.yaml deleted file mode 100644 index cde9411..0000000 --- a/.ci_support/osx_arm64_r_base4.4.yaml +++ /dev/null @@ -1,35 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -MACOSX_SDK_VERSION: -- '11.0' -c_compiler: -- clang -c_compiler_version: -- '16' -c_stdlib: -- macosx_deployment_target -c_stdlib_version: -- '11.0' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cran_mirror: -- https://cran.r-project.org -cxx_compiler: -- clangxx -cxx_compiler_version: -- '16' -macos_machine: -- arm64-apple-darwin20.0.0 -pin_run_as_build: - r-base: - min_pin: x.x - max_pin: x.x -r_base: -- '4.4' -target_platform: -- osx-arm64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version diff --git a/README.md b/README.md index f2bfec7..eeabcbb 100644 --- a/README.md +++ b/README.md @@ -103,20 +103,6 @@ Current build status variant
osx_arm64_r_base4.3 - - variant - -
osx_arm64_r_base4.4 - - variant - -
win_64_r_base4.3