version: 2
updates:

  - package-ecosystem: github-actions
    directory: /
    schedule:
      interval: "daily"

  # Maintain dependencies for Dockerfiles used in build pipeline
  - package-ecosystem: docker
    directory: /docker
    schedule:
      interval: "daily"

  # Maintain dependencies for workflows checking the markdown files
  - package-ecosystem: npm
    directory: /
    schedule:
      interval: "daily"

 
  - package-ecosystem: nuget
    directory: /build
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /examples/demo/Client
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /examples/demo/Service
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /examples/playground/AspNetCoreMvc
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /src
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /src/OpenTelemetry.AutoInstrumentation
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20
    ignore:
      - dependency-name: "MySql.Data"
      - dependency-name: "StackExchange.Redis"
      - dependency-name: "Pipelines.Sockets.Unofficial" # Pipelines.Sockets.Unofficial is tranistive dependency required by OpenTelemetry.Instrumentation.StackExchangeRedis

  - package-ecosystem: nuget
    directory: /src/OpenTelemetry.AutoInstrumentation.AdditionalDeps
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /src/OpenTelemetry.AutoInstrumentation.Loader
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /src/OpenTelemetry.AutoInstrumentation.Native
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /src/OpenTelemetry.AutoInstrumentation.StartupHook
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /test
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /test/IntegrationTests
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /test/OpenTelemetry.AutoInstrumentation.Bootstrapping.Tests
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /test/OpenTelemetry.AutoInstrumentation.Loader.Tests
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /test/OpenTelemetry.AutoInstrumentation.Native.Tests
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /test/OpenTelemetry.AutoInstrumentation.Tests
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /test/test-applications/integrations/dependency-libs/TestApplication.ExampleLibrary
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20
    labels:
      - "dependencies"
      - ".NET"
      - "do NOT merge"

  - package-ecosystem: nuget
    directory: /test/test-applications/integrations/dependency-libs/TestApplication.ExampleLibraryTracer
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20
    labels:
      - "dependencies"
      - ".NET"
      - "do NOT merge"

  - package-ecosystem: nuget
    directory: /test/test-applications/integrations/TestApplication.AspNet.NetFramework
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20

  - package-ecosystem: nuget
    directory: /test/test-applications/integrations/TestApplication.GraphQL
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20
    labels:
      - "dependencies"
      - ".NET"
      - "do NOT merge"
    ignore:
      # The instrumentation only supports specific versions of GraphQL and the test app needs to test against a specific version
      - dependency-name: "GraphQL*"

  - package-ecosystem: nuget
    directory: /test/test-applications/integrations/TestApplication.Http
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20
    labels:
      - "dependencies"
      - ".NET"
      - "do NOT merge"

  - package-ecosystem: nuget
    directory: /test/test-applications/integrations/TestApplication.Quartz
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20
    labels:
      - "dependencies"
      - ".NET"
      - "do NOT merge"
      
  - package-ecosystem: nuget
    directory: /test/test-applications/integrations/TestApplication.MassTransit
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20
    labels:
      - "dependencies"
      - ".NET"
      - "do NOT merge"

  - package-ecosystem: nuget
    directory: /test/test-applications/integrations/TestApplication.MongoDB
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20
    labels:
      - "dependencies"
      - ".NET"
      - "do NOT merge"

  - package-ecosystem: nuget
    directory: /test/test-applications/integrations/TestApplication.MySqlData
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20
    labels:
      - "dependencies"
      - ".NET"
      - "do NOT merge"

  - package-ecosystem: nuget
    directory: /test/test-applications/integrations/TestApplication.Npgsql
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20
    labels:
      - "dependencies"
      - ".NET"
      - "do NOT merge"

  - package-ecosystem: nuget
    directory: /test/test-applications/integrations/TestApplication.Plugins
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20
    labels:
      - "dependencies"
      - ".NET"
      - "do NOT merge"

  - package-ecosystem: nuget
    directory: /test/test-applications/integrations/TestApplication.Smoke
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20
    labels:
      - "dependencies"
      - ".NET"
      - "do NOT merge"

  - package-ecosystem: nuget
    directory: /test/test-applications/integrations/TestApplication.SqlClient
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20
    labels:
      - "dependencies"
      - ".NET"
      - "do NOT merge"

  - package-ecosystem: nuget
    directory: /test/test-applications/integrations/TestApplication.StackExchangeRedis
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20
    labels:
      - "dependencies"
      - ".NET"
      - "do NOT merge"

  - package-ecosystem: nuget
    directory: /test/test-applications/mocks/OpenTelemetry.AutoInstrumentation.Mock
    schedule:
      interval: "daily"
    open-pull-requests-limit: 20
    labels:
      - "dependencies"
      - ".NET"
      - "do NOT merge"
