name: Bug report
description: File a bug report
labels: ["type: bug", "untriaged"]
assignees:
  - rakshitasingh05
  - 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?
