Type object
Schema URL https://catalog.lintel.tools/schemas/schemastore/conda-forge/_shared/latest--cf_tick_schema.json
Parent schema conda-forge
Type: object

Dictates the behavior of the conda-forge auto-tick bot which issues automatic version updates/migrations for feedstocks.

A valid example is:

bot:
    # can the bot automerge PRs it makes on this feedstock
    automerge: true
    # only automerge on successful version PRs, migrations are not automerged
    automerge: 'version'
    # only automerge on successful migration PRs, versions are not automerged
    automerge: 'migration'

    # only open PRs if resulting environment is solvable, useful for tightly coupled packages
    check_solvable: true

    # The bot.inspection key in the conda-forge.yml can have one of seven possible values and controls
    # the bots behaviour for automatic dependency updates:
    inspection: hint  # generate hints using source code (backwards compatible)
    inspection: hint-all  # generate hints using all methods
    inspection: hint-source  # generate hints using only source code
    inspection: hint-grayskull  # generate hints using only grayskull
    inspection: update-all  # update recipe using all methods
    inspection: update-source  # update recipe using only source code
    inspection: update-grayskull  # update recipe using only grayskull
    inspection: disabled # don't update recipe, don't generate hints

    # any branches listed in this section will get bot migration PRs in addition
    # to the default branch
    abi_migration_branches:
        - 'v1.10.x'

    version_updates:
        # use this for packages that are updated too frequently
        random_fraction_to_keep: 0.1  # keeps 10% of versions at random
        exclude:
            - '08.14'
        # even/odd version filtering for unstable versions
        even_odd_versions: true
        allowed_tag_globs: 'python-*'
        sources:
            - rawurl
        use_curl: true

The abi_migration_branches feature is useful to, for example, add a long-term support (LTS) branch for a package.

Properties

automerge boolean | BotConfigAutoMergeChoice | null

Automatically merge PRs if possible

Default: false
check_solvable boolean | null

Open PRs only if resulting environment is solvable.

Default: true
inspection BotConfigInspectionChoice | null

Method for generating hints or updating recipe

Default: "hint"
abi_migration_branches string[] | null

List of branches for additional bot migration PRs. Make sure branch names are str by quoting the value.

Default:
[]
run_deps_from_wheel boolean | null

Update run dependencies from the pip wheel

Default: false
version_updates BotConfigVersionUpdates | null

Bot config for version update PRs

update_static_libs boolean | null

Update packages in host that are used for static linking. For bot to issue update PRs, you must have both an abstract specification of the library (e.g., llvmdev 15.0.*) and a concrete specification (e.g., llvmdev 15.0.7 *_5). The bot will find the latest package that satisfies the abstract specification and update the concrete specification to this latest package.

Default: false
remake_prs_with_conflicts boolean | null

Automatically remake untouched bot PRs with conflicts.

Default: true

Definitions

BotConfigAutoMergeChoice string
BotConfigInspectionChoice string
BotConfigVersionUpdates object

Dictates the behavior of the conda-forge auto-tick bot for version updates.

random_fraction_to_keep number | null

Fraction of versions to keep for frequently updated packages

Default: null
exclude string[] | null

List of versions to exclude. Make sure branch names are str by quoting the value.

Default:
[]

List of sources to find new versions (i.e. the strings like 1.2.3) for the package. The following sources are available:

  • cran: Update from CRAN
  • github: Update from the GitHub releases RSS feed (includes pre-releases)
  • githubreleases: Get the latest version by following the redirect of <https://github.com/{owner}/{repo}/releases/latest> (excludes pre-releases)
  • gittags: Update from the listing of tags for sources that use git URLS.
  • incrementalpharawurl: If this source is run for a specific small selection of feedstocks, it acts like the rawurl source but also increments letters in the version string (e.g. 2024a -> 2024b). If the source is run for other feedstocks (even if selected manually), it does nothing.
  • librariesio: Update from Libraries.io RSS feed
  • npm: Update from the npm registry
  • nvidia: Update from the NVIDIA download page
  • pypi: Update from the PyPI registry
  • rawurl: Update from a raw URL by trying to bump the version number in different ways and checking if the URL exists (e.g. 1.2.3 -> 1.2.4, 1.3.0, 2.0.0, etc.)
  • rosdistro: Update from a ROS distribution Common issues:
  • If you are using a GitHub-based source in your recipe and the bot issues PRs for pre-releases, restrict the sources to githubreleases to avoid pre-releases.
  • If you use source tarballs that are uploaded manually by the maintainers a significant time after a GitHub release, you may want to restrict the sources to rawurl to avoid the bot attempting to update the recipe before the tarball is uploaded.
Default: null
skip boolean | null

Skip automatic version updates. Useful in cases where the source project's version numbers don't conform to PEP440.

Default: false
even_odd_versions boolean | null

For projects that follow even/odd versioning schemes (like GNOME), set to true to only accept stable versions (even minor numbers: 1.2.x, 1.4.x) and ignore development versions (odd minor numbers: 1.1.x, 1.3.x). Leave unset for projects that don't follow this versioning scheme.

Default: null
allowed_tag_globs string | string[] | null

For version sources that parse repo/vcs tags (e.g., gittags, github, githubreleases), the list of glob patterns that define which tags are allowed. This field can be used to filter the set of tags to only those relevant for the feedstock.

Default: null

Bot config for version update PRs using the NVIDIA updater.

use_curl boolean | null

If True, use curl to test if URLs exist, otherwise use wget.

Default: null
BotConfigVersionUpdatesNVIDIA object

Dictates the behavior of the conda-forge auto-tick bot for version updates using the NVIDIA source.

compute_subdir string | null

For sources from developer.download.nvidia.com/compute, this stringdefines the subdirectory in which to find the JSON blob containing metadataabout the latest releases of a package.

Default: null
json_name string | null

For sources from developer.download.nvidia.com/compute, this stringdefines the name of the package in the JSON blob containing metadataabout the latest releases of a package.

Default: null
BotConfigVersionUpdatesSourcesChoice string