Skip to content

Backport Guidelines

Tyera edited this page Sep 5, 2024 · 3 revisions

Agave Backport Review Guidelines

Code changes to Agave are normally made to the master branch. Bug fixes can be backported directly to the beta and stable branches if the benefit of doing so outweighs the risk. Backports must be approved by a member of the Backport Reviewers group.

Backports must:

  • Fix a bug, or facilitate debugging of a known / suspected bug
  • Be the smallest / simplest solution that can reasonably address the bug. Often a bug fix involves refactoring or code cleanup. In those cases the work should be done in at least 2 PRs:
    • The smallest / simplest solution to the bug, which is eligible to be backported.
    • The rest of the changes, which should not be backported.
    • Ask the Backport Reviewers for feedback on your master PR if you're unsure about this criteria.
  • Be merged to all newer branches first (master before beta, beta before stable).
  • Have been run on a node on a suitable public cluster unless inappropriate to do so.

Backports to stable must:

  • Be audited before being merged, if they modify a portion of the code that we typically audit

Criteria for reviewing backports:

  1. The severity of the bug being fixed
  2. How much complexity the change introduces
  3. How thoroughly the change has been tested
  4. If a new bug is introduced, how severe could it be, and how long until it will be recommended for mainnet-beta. Commits to the stable branch ship to mainnet-beta weekly, leaving very little opportunity to discover a newly introduced bug. Commits to the beta branch ship to mainnet-beta at the end of the stabilization cycle. Backports to beta late in the stabilization cycle carry more risk and should be reviewed more stringently. ​​​