name: Bug report
description: File a bug report
labels: ["type: bug", "untriaged"]
assignees:
  - sgowroji
  - iancha1992
body:
  - type: markdown
    attributes:
      value: >
        **Attention:** if this is a _question_ about how to build / test / query / deploy using
        Bazel, or a _discussion starter_, please start a new thread at Bazel's
        [GitHub Discussions](https://github.com/bazelbuild/bazel/discussions), send it to
        bazel-discuss@googlegroups.com, or discuss on [Bazel Slack](https://slack.bazel.build/)
        instead!
  - type: textarea
    id: desc
    attributes:
      label: >
        Description of the bug:
  - type: dropdown
    id: subteam
    attributes:
      label: Which category does this issue belong to?
      description: Help us triage this issue faster and more accurately to the relevant team(s).
      multiple: true
      options:
        - Android
        - C++ Rules
        - Objective-C Rules
        - CLI
        - Configurability
        - Core
        - Documentation
        - External Dependency
        - Java Rules
        - Loading API
        - Local Execution
        - Performance
        - Python Rules
        - Remote Execution
        - Rules API
        - Server-Side Rules
        - Starlark Integration
        - Starlark Interpreter
  - type: textarea
    id: repro
    attributes:
      label: >
        What's the simplest, easiest way to reproduce this bug? Please provide a minimal example if
        possible.
  - type: input
    id: os
    attributes:
      label: >
        Which operating system are you running Bazel on?
  - type: input
    id: version
    attributes:
      label: >
        What is the output of `bazel info release`?
  - type: textarea
    id: version-follow-up
    attributes:
      label: >
        If `bazel info release` returns `development version` or `(@non-git)`, tell us how you built
        Bazel.
  - type: textarea
    id: source
    attributes:
      label: >
        What's the output of `git remote get-url origin; git rev-parse HEAD` ?
      render: text
  - type: textarea
    id: bisect
    attributes:
      label: >
        Is this a regression? If yes, please try to identify the Bazel commit where the bug was
        introduced.
      description: >
        If the problem is specific to the most recent release or the Bazel@HEAD version and it
        doesn't occur in earlier versions, you can use the `bazelisk --bisect=<GOOD>..<BAD>`
        command to identify the specific version or commit where the issue was introduced. For more
        information, visit https://github.com/bazelbuild/bazelisk#--bisect.
  - type: textarea
    id: relevant-info
    attributes:
      label: Have you found anything relevant by searching the web?
      description: >
        Places to look:

         * StackOverflow: http://stackoverflow.com/questions/tagged/bazel
         * GitHub issues: https://github.com/bazelbuild/bazel/issues
         * Email threads on https://groups.google.com/forum/#!forum/bazel-discuss
  - type: textarea
    id: extras
    attributes:
      label: Any other information, logs, or outputs that you want to share?
