Skip to content

Commit ee0cd1d

Browse files
committed
Add policy on pull request review and merge
1 parent 8efae25 commit ee0cd1d

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Policy on pull request review and merging in the Astropy Project
2+
3+
## Astropy core
4+
5+
In the astropy core package the requirements are as follows:
6+
7+
- At least one contributor with relevant expertise must review the pull request
8+
in detail.
9+
- New or updated code is logically correct and achieves the desired effect of
10+
either fixing a bug or making an enhancement.
11+
- New tests or modifications to tests are adequate to cover the code changes.
12+
- There are no API changes or the API changes are well-understood and
13+
acceptable and beneficial on the whole to the astropy user community.
14+
- The expected level of review is detailed, including review and suggestions
15+
at the line-by-line level. Formatting and style are acceptable points for
16+
comment, in particular to maintain the existing style of a package and to
17+
maintain readability of the code base for future developers.
18+
- A maintainer of sub-packages that the contribution affects is required to
19+
approve the pull request for changes that require specific knowledge of a
20+
sub-package. Other less complex cases, for example a documentation
21+
improvement, may be reviewed by any astropy core package maintainer.
22+
- While a maintainer does not have to be the one doing the detailed review, if
23+
the detailed review is by someone else, the maintainer is responsible for
24+
ensuring the contributor review is sufficiently detailed and follows these
25+
guidelines.
26+
- After successful review, maintainers should formally approve the pull
27+
request.
28+
- A release manager or other maintainer checks that the selected release
29+
milestone is suitable for the scope of the change. In particular bug-fix
30+
backports are considered where feasible and sensible.
31+
- A matrix of CI checks ensure that all existing tests pass on supported
32+
platforms.
33+
- A bot checks that the change log mentions the change and that the changelog
34+
section used matches the selected release milestone.
35+
- Merging the pull request can be done by any core package maintainer once
36+
approved by relevant maintainers (as described above). In practice this is
37+
sometimes the PR developer and sometimes the reviewer.
38+
39+
## Astropy coordinated and infrastructure packages
40+
41+
The process should in general be similar to the core package, although since a
42+
number of coordinated and infrastructure packages have fewer maintainers, the
43+
concept of sub-packages is not relevant. Nevertheless, all coordinated and
44+
infrastructure packages should have at least two maintainers with push access.
45+
All changes to these packages should be done via pull requests, and approved by
46+
at least one of the other maintainers (any maintainer can then merge the pull
47+
request provided it is approved).
48+
49+
## Astropy affiliated packages
50+
51+
The change process required by the Astropy Project for affiliated packages are
52+
substantially less rigid than in the Astropy core package. However, each
53+
affiliated package may make their requirements as rigorous as they’d like.
54+
- It is required to maintain the code under version control on a publicly
55+
available site.
56+
- In most cases packages are hosted on GitHub or GitLab and updated via pull
57+
requests, but this is not a requirement.
58+
- Independent review is encouraged but is at the discretion of the package
59+
maintainer(s). In particular some packages may be largely developed by a
60+
single maintainer.

0 commit comments

Comments
 (0)