Skip to content

Commit

Permalink
Add GitHub issue template for incompatible changes
Browse files Browse the repository at this point in the history
  • Loading branch information
meteorcloudy committed Jul 16, 2024
1 parent f806a2a commit c61f76a
Showing 1 changed file with 91 additions and 0 deletions.
91 changes: 91 additions & 0 deletions .github/ISSUE_TEMPLATE/incompatible_change.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Incompatible Change
description: Use this template to track the rollout of an incompatible change in Bazel
title: '[Incompatible Flag] OR [Incompatible Change Title]'
labels: ["untriaged", "incompatible-change"]
assignees:
- meteorcloudy

body:
- type: markdown
attributes:
value: >
**Attention:**
Please read https://bazel.build/release/backward-compatibility
and https://bazel.build/contribute/breaking-changes for best practices of rolling out
incompatible changes in Bazel.
- type: textarea
id: motivation
attributes:
label: Motivation
description: Describe the motivation behind this change. Why is this change needed? What problem does it solve?
validations:
required: true

- type: textarea
id: description
attributes:
label: Description
description: Provide a clear and concise description of the incompatible change. Explain what the incompatible change is and what impact it will have.
validations:
required: true

- type: input
id: incompatible_flag
attributes:
label: Incompatible Flag
description: The incompatible flag used to guard this change, if incompatible flag is not used, briefly explain why (e.g. minor incompatible change that's trivial to migrate for).
validations:
required: true

- type: textarea
id: migration
attributes:
label: Migration Guide
description: Provide guidance on how users can migrate to the new behavior. Include examples, code snippets, or links to relevant documentation.
validations:
required: true

- type: dropdown
id: bazel_version
attributes:
label: In which Bazel LTS version will this incompatible change be enabled?
multiple: false
options:
- Bazel 8
- Bazel 9
- Bazel 10

- type: textarea
id: additional_context
attributes:
label: Additional Context
description: Add any other context about the incompatible change here.

- type: textarea
id: todo_list
attributes:
label: TODO List
description: >
Choose a todo list based whether incompatible flag is used, feel free to edit based on your needs.
With incompatible flag (highly recommend for incompatible changes having large impact):
\- \[ \] Implement the incompatible change at Bazel HEAD and guard it behind a flag.
\- \[ \] Backport the incompatible flag to the latest LTS release.
\- \[ \] Test the incompatible change with [downstream projects](https://github.com/bazelbuild/continuous-integration/blob/master/docs/downstream-testing.md#bazel-downstream-testing) and inform broken projects.
\- \[ \] Flip the incompatible flag at Bazel HEAD.
\- \[ \] Delete the incompatible flag and the old behavior at Bazel HEAD.
Without incompatible flag (good for minor incompatible changes that are trivial to migrate for):
\- \[ \] Implement the incompatible change at Bazel HEAD.
\- \[ \] Check the [downstream pipeline](https://github.com/bazelbuild/continuous-integration/blob/master/docs/downstream-testing.md#bazel-downstream-testing) result and inform broken projects.

0 comments on commit c61f76a

Please sign in to comment.