Skip to content

Gerrit Submit Requirements

Jonas Termansen edited this page Jun 8, 2023 · 7 revisions

In addition to requiring reviews from OWNERS our Gerrit instance applies a number of additional requirements to specific CLs.

Commit-Message-Has-TEST

All CLs touching one of the Dart VM source directories require a line TEST=... or a footer Tested:... describing how the change was tested.

# New test was added to cover the issue and prevent regressions.
TEST=vm/cc/IL_Canonicalize_RepresentationChange
# There is a reason to believe CI tests already cover newly added code.
TEST=ci
# Some debug code was added which is not worth testing on CI.
TEST=manually by running a test with debug flags

Rationale for this requirement is to encourage both the author and reviewers to consider if the change comes with adequate test coverage.

Core-Library-Review

All CLs changing core libraries sources (i.e. Dart files residing in sdk/lib directory with the exception of _http and _internal sub-directories) require either:

  • CR+1 from representatives of all backend teams (g2/dart-core-library-change-approvers-vm, g2/dart-core-library-change-approvers-wasm, g2/dart-core-library-change-approvers-web) and Core Library API owners (g2/dart-core-library-change-approvers-api);
  • or CoreLibraryReviewExempt: ... footer which explains why this change is exempt from the requirement.

Rationale for this requirement is to avoid API or implementation changes which have negative impact on one of the platforms.

Changelog

All CLs to the stable branch must modify the CHANGELOG.md file to explain the changes. The beta branch does not have CHANGELOG.md entries.

If changes are important enough to cherry-pick to stable, they are important enough to tell our users about. Infrastructure changes that are invisible to users can be exempted using the Changelog-Exempt: ... footer explaining why a CHANGELOG entry isn't needed.

See the instructions for writing stable changelogs for more information.

Clone this wiki locally