From 87723fe7aa0a377048d330730418429d9b39eaf8 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 18 Jul 2024 10:26:08 +0000 Subject: [PATCH 1/2] Rebuild for r-base 4.4 and UCRT mingw toolchain --- .../migrations/r-base44_and_m2w64-ucrt.yaml | 50 +++++++++++++++++++ recipe/meta.yaml | 4 +- 2 files changed, 51 insertions(+), 3 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..278dd21 --- /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: 20 + 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 bee848c..d3b4d26 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,6 +1,5 @@ {% set version = '2.0.0' %} {% set posix = 'm2-' if win else '' %} -{% set native = 'm2w64-' if win else '' %} package: name: r-rsyncrosim @@ -13,8 +12,7 @@ source: sha256: 880efd889e6b9aa32151967955313f28d17206189cdcdd0960f5948d84dd4cf0 build: - merge_build_host: True # [win] - number: 0 + number: 1 noarch: generic rpaths: From bfb04e0d6485c1d8522aaf117a44bd5c2462ea77 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 18 Jul 2024 10:26:46 +0000 Subject: [PATCH 2/2] MNT: Re-rendered with conda-build 24.5.1, conda-smithy 3.37.1, and conda-forge-pinning 2024.07.18.05.06.15 --- .azure-pipelines/azure-pipelines-linux.yml | 16 ++++++------ .ci_support/linux_64_r_base4.2.yaml | 14 ----------- .ci_support/linux_64_r_base4.3.yaml | 2 +- ...r_base4.1.yaml => linux_64_r_base4.4.yaml} | 4 +-- .ci_support/migrations/r_base43.yaml | 17 ------------- .gitattributes | 4 +-- .gitignore | 25 +++++++++++++++++-- .scripts/build_steps.sh | 22 ++++++++++------ .scripts/logging_utils.sh | 4 +-- .scripts/run_docker_build.sh | 9 +++++++ README.md | 4 +-- build-locally.py | 5 ++-- 12 files changed, 67 insertions(+), 59 deletions(-) delete mode 100644 .ci_support/linux_64_r_base4.2.yaml rename .ci_support/{linux_64_r_base4.1.yaml => linux_64_r_base4.4.yaml} (93%) delete mode 100644 .ci_support/migrations/r_base43.yaml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 9918e51..14df0dd 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,19 +8,16 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_r_base4.1: - CONFIG: linux_64_r_base4.1 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - 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 @@ -33,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/.ci_support/linux_64_r_base4.2.yaml b/.ci_support/linux_64_r_base4.2.yaml deleted file mode 100644 index aecd0dc..0000000 --- a/.ci_support/linux_64_r_base4.2.yaml +++ /dev/null @@ -1,14 +0,0 @@ -cdt_name: -- cos6 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -pin_run_as_build: - r-base: - min_pin: x.x - max_pin: x.x -r_base: -- '4.2' diff --git a/.ci_support/linux_64_r_base4.3.yaml b/.ci_support/linux_64_r_base4.3.yaml index 91a0f95..61d4f13 100644 --- a/.ci_support/linux_64_r_base4.3.yaml +++ b/.ci_support/linux_64_r_base4.3.yaml @@ -1,5 +1,5 @@ cdt_name: -- cos6 +- cos7 channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/linux_64_r_base4.1.yaml b/.ci_support/linux_64_r_base4.4.yaml similarity index 93% rename from .ci_support/linux_64_r_base4.1.yaml rename to .ci_support/linux_64_r_base4.4.yaml index bad9614..2044fac 100644 --- a/.ci_support/linux_64_r_base4.1.yaml +++ b/.ci_support/linux_64_r_base4.4.yaml @@ -1,5 +1,5 @@ cdt_name: -- cos6 +- cos7 channel_sources: - conda-forge channel_targets: @@ -11,4 +11,4 @@ pin_run_as_build: min_pin: x.x max_pin: x.x r_base: -- '4.1' +- '4.4' 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/.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/README.md b/README.md index 0e7576e..f676f0c 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Home: https://syncrosim.github.io/rsyncrosim/ Package license: MIT -Summary: 'SyncroSim' is a generalized framework for managing scenario-based datasets (). 'rsyncrosim' provides an interface to 'SyncroSim'. Simulation models can be added to 'SyncroSim' in order to transform these datasets, taking advantage of general features such as defining scenarios of model inputs, running Monte Carlo simulations, and summarizing model outputs. 'rsyncrosim' requires 'SyncroSim' 2.3.5 or higher (API documentation: ). +Summary: 'SyncroSim' is a generalized framework for managing scenario-based datasets (). 'rsyncrosim' provides an interface to 'SyncroSim'. Simulation models can be added to 'SyncroSim' in order to transform these datasets, taking advantage of general features such as defining scenarios of model inputs, running Monte Carlo simulations, and summarizing model outputs. 'rsyncrosim' requires 'SyncroSim' 3.0.00 or higher (API documentation: ). Current build status ==================== @@ -95,7 +95,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/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." )