diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index cf605a5..2a14a08 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -17,13 +17,9 @@ jobs: UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 + variables: {} steps: - - script: | - rm -rf /opt/ghc - df -h - displayName: Manage disk space - # configure qemu binfmt-misc running. This allows us to run docker containers # embedded qemu-static - script: | @@ -34,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/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/.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..2f3df6c 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,10 @@ 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 "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 f8eb6e7..93dcb22 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,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." ) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 6ee761f..5030e25 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '1.1.0' %} +{% set version = "1.2.0" %} {% set posix = 'm2-' if win else '' %} {% set native = 'm2w64-' if win else '' %} @@ -10,11 +10,11 @@ source: url: - {{ cran_mirror }}/src/contrib/finetune_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/finetune/finetune_{{ version }}.tar.gz - sha256: d18fa031546241b4a9d0a8e3aa0a5388eafeeb8fdc93e03230dd5dd8a674acab + sha256: d72ebfddd33a70d9d6078265094e08ab8f90e827b0ce4597f75a5197a3432c00 build: - merge_build_host: True # [win] - number: 1 + merge_build_host: true # [win] + number: 0 noarch: generic rpaths: - lib/R/lib/ @@ -36,7 +36,7 @@ requirements: - r-tibble - r-tidyr - r-tidyselect - - r-tune >=1.1.1 + - r-tune >=1.2.0 - r-vctrs - r-workflows >=0.2.6 run: @@ -51,24 +51,37 @@ requirements: - r-tibble - r-tidyr - r-tidyselect - - r-tune >=1.1.1 + - r-tune >=1.2.0 - r-vctrs - r-workflows >=0.2.6 test: + requires: + - r-testthat + - r-discrim + - r-kknn + - r-klar + - r-lme4 + - r-matrix + - r-modeldata + - r-ranger + - r-rpart + - r-rsample + - r-yardstick + source_files: + - tests/ commands: - - $R -e "library('finetune')" # [not win] - - "\"%R%\" -e \"library('finetune')\"" # [win] + - $R -e "library('finetune')" # [not win] + - $R -e "testthat::test_file('tests/testthat.R', stop_on_failure=TRUE)" # [not win] + - "\"%R%\" -e \"library('finetune')\"" # [win] + - "\"%R%\" -e \"testthat::test_file('tests/testthat.R', stop_on_failure=TRUE)\"" # [win] about: home: https://finetune.tidymodels.org dev_url: https://github.com/tidymodels/finetune license: MIT - summary: The ability to tune models is important. 'finetune' enhances the 'tune' package by - providing more specialized methods for finding reasonable values of model tuning - parameters. Two racing methods described by Kuhn (2014) are included. - An iterative search method using generalized simulated annealing (Bohachevsky, Johnson - and Stein, 1986) is also included. + summary: The ability to tune models is important. 'finetune' enhances the 'tune' package by providing more specialized methods for finding reasonable values of model tuning parameters. Two racing methods described by Kuhn (2014) are included. An iterative search method using generalized simulated annealing + (Bohachevsky, Johnson and Stein, 1986) is also included. license_family: MIT license_file: - {{ environ["PREFIX"] }}/lib/R/share/licenses/MIT @@ -77,26 +90,3 @@ about: extra: recipe-maintainers: - conda-forge/r - -# Package: finetune -# Title: Additional Functions for Model Tuning -# Version: 1.1.0 -# Authors@R: c( person("Max", "Kuhn", , "max@posit.co", role = c("aut", "cre"), comment = c(ORCID = "0000-0003-2402-136X")), person("Posit Software, PBC", role = c("cph", "fnd")) ) -# Description: The ability to tune models is important. 'finetune' enhances the 'tune' package by providing more specialized methods for finding reasonable values of model tuning parameters. Two racing methods described by Kuhn (2014) are included. An iterative search method using generalized simulated annealing (Bohachevsky, Johnson and Stein, 1986) is also included. -# License: MIT + file LICENSE -# URL: https://github.com/tidymodels/finetune, https://finetune.tidymodels.org -# BugReports: https://github.com/tidymodels/finetune/issues -# Depends: R (>= 3.5), tune (>= 1.1.1) -# Imports: cli, dials (>= 0.1.0), dplyr (>= 1.1.1), ggplot2, parsnip (>= 1.1.0), purrr, rlang, tibble, tidyr, tidyselect, utils, vctrs, workflows (>= 0.2.6) -# Suggests: BradleyTerry2, covr, discrim, kknn, klaR, lme4, modeldata, ranger, recipes (>= 0.2.0), rpart, rsample, spelling, testthat, yardstick -# Config/Needs/website: tidyverse/tidytemplate -# Config/testthat/edition: 3 -# Encoding: UTF-8 -# Language: en-US -# RoxygenNote: 7.2.3 -# NeedsCompilation: no -# Packaged: 2023-04-18 23:16:32 UTC; max -# Author: Max Kuhn [aut, cre] (), Posit Software, PBC [cph, fnd] -# Maintainer: Max Kuhn -# Repository: CRAN -# Date/Publication: 2023-04-19 07:40:02 UTC