# Configuration for angular-robot

#options for the size plugin
size:
  disabled: false
  maxSizeIncrease: 1000
  circleCiStatusName: "ci/circleci: build-packages-dist"
  status:
    disabled: false
    context: "ci/angular: size"

# options for the merge plugin
merge:
  # the status will be added to your pull requests
  status:
    # set to true to disable
    disabled: false
    # the name of the status
    context: "ci/angular: merge status"
    # text to show when all checks pass
    successText: "All checks passed!"
    # text to show when some checks are failing
    failureText: "The following checks are failing:"

  # the g3 status will be added to your pull requests if they include files that match the patterns
  g3Status:
    # set to true to disable
    disabled: false
    # the name of the status
    context: "google3"
    # text to show when the status is pending, {{PRNumber}} will be replaced by the PR number
    pendingDesc: "Googler: run g3sync presubmit {{PRNumber}}"
    # text to show when the status is success
    successDesc: "Does not affect google3"
    # link to use for the details
    url: "http://go/angular-g3sync"
    # list of patterns to check for the files changed by the PR
    # this list must be manually kept in sync with google3/third_party/javascript/angular2/copy.bara.sky
    include:
      - "LICENSE"
      - "modules/**"
      - "packages/**"
    # list of patterns to ignore for the files changed by the PR
    exclude:
      - "packages/language-service/**"
      - "**/.gitignore"
      - "**/.gitkeep"
      - "**/package.json"
      - "**/tsconfig-build.json"
      - "**/tsconfig.json"
      - "**/rollup.config.js"
      - "**/BUILD.bazel"
      - "packages/**/integrationtest/**"
      - "packages/**/test/**"

  # comment that will be added to a PR when there is a conflict, leave empty or set to false to disable
  mergeConflictComment: "Hi @{{PRAuthor}}! This PR has merge conflicts due to recent upstream merges.
\nPlease help to unblock it by resolving these conflicts. Thanks!"

  # label to monitor
  mergeLabel: "PR action: merge"

  # list of checks that will determine if the merge label can be added
  checks:
    # whether the PR shouldn't have a conflict with the base branch
    noConflict: true
    # list of labels that a PR needs to have, checked with a regexp (e.g. "PR target:" will work for the label "PR target: master")
    requiredLabels:
      - "PR target: *"
      - "cla: yes"

    # list of labels that a PR shouldn't have, checked after the required labels with a regexp
    forbiddenLabels:
      - "PR target: TBD"
      - "PR action: cleanup"
      - "PR action: review"
      - "PR state: blocked"
      - "cla: no"

    # list of PR statuses that need to be successful
    requiredStatuses:
      - "continuous-integration/travis-ci/pr"
      - "code-review/pullapprove"
      - "ci/circleci: build"
      - "ci/circleci: lint"

  # the comment that will be added when the merge label is added despite failing checks, leave empty or set to false to disable
  # {{MERGE_LABEL}} will be replaced by the value of the mergeLabel option
  # {{PLACEHOLDER}} will be replaced by the list of failing checks
  mergeRemovedComment: "I see that you just added the `{{MERGE_LABEL}}` label, but the following checks are still failing:
\n{{PLACEHOLDER}}
\n
\n**If you want your PR to be merged, it has to pass all the CI checks.**
\n
\nIf you can't get the PR to a green state due to flakes or broken master, please try rebasing to master and/or restarting the CI job. If that fails and you believe that the issue is not due to your change, please contact the caretaker and ask for help."

# options for the triage plugin
triage:
  # number of the milestone to apply when the issue has not been triaged yet
  needsTriageMilestone: 83,
  # number of the milestone to apply when the issue is triaged
  defaultMilestone: 82,
  # arrays of labels that determine if an issue has been triaged by the caretaker
  l1TriageLabels:
    -
      - "comp: *"
  # arrays of labels that determine if an issue has been fully triaged
  l2TriageLabels:
    -
      - "type: bug/fix"
      - "severity*"
      - "freq*"
      - "comp: *"
    -
      - "type: feature"
      - "comp: *"
    -
      - "type: refactor"
      - "comp: *"
    -
      - "type: RFC / Discussion / question"
      - "comp: *"
