version: 2
updates:
  # Python dependencies
  - package-ecosystem: "pip"
    directory: "/"
    schedule:
      interval: "weekly"
      day: "monday"
    open-pull-requests-limit: 10
    labels:
      - "dependencies"
      - "python"
    versioning-strategy: auto
    ignore:
      # Ignore patch updates for black, as formatting changes might be disruptive
      - dependency-name: "black"
        update-types: ["version-update:semver-patch"]
    commit-message:
      prefix: "pip"
      include: "scope"

  # Docker dependencies in Containerfile
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"
      day: "tuesday"
    open-pull-requests-limit: 5
    labels:
      - "dependencies"
      - "docker"
    commit-message:
      prefix: "docker"
      include: "scope"

  # GitHub Actions
  - package-ecosystem: "github-actions"
    directory: "/.github/workflows"
    schedule:
      interval: "weekly"
      day: "wednesday"
    open-pull-requests-limit: 5
    labels:
      - "dependencies"
      - "github-actions"
    commit-message:
      prefix: "github-actions"
      include: "scope"

  # Test requirements
  - package-ecosystem: "pip"
    directory: "/tests"
    schedule:
      interval: "monthly"
    open-pull-requests-limit: 5
    labels:
      - "dependencies"
      - "testing"
    versioning-strategy: auto
    commit-message:
      prefix: "test-deps"
      include: "scope"
