# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

# docs
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
version: 2
updates:
  - package-ecosystem: "cargo"
    directory: "/"
    schedule:
      interval: "weekly"
      # We release on Tuesdays and open dependabot PRs will rebase after the
      # version bump and thus consume unnecessary workers during release, thus
      # let's open new ones on Wednesday
      day: "wednesday"
    ignore:
      - dependency-name: "*"
        update-types: ["version-update:semver-patch"]
    groups:
      # Only update polars as a whole as there are many subcrates that need to
      # be updated at once. We explicitly depend on some of them, so batch their
      # updates to not take up dependabot PR slots with dysfunctional PRs
      polars:
        patterns:
          - "polars"
          - "polars-*"
      # uutils/coreutils also versions all their workspace crates the same at the moment
      # Most of them have bleeding edge version requirements (some not)
      # see: https://github.com/uutils/coreutils/blob/main/Cargo.toml
      uutils:
        patterns:
          - "uucore"
          - "uu_*"
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
      day: "wednesday"
