mirror of https://github.com/OISF/suricata
doc: GitHub PRs workflow
parent
435d74d744
commit
e30f4943ae
@ -0,0 +1,46 @@
|
|||||||
|
GitHub Pull Request Workflow
|
||||||
|
============================
|
||||||
|
|
||||||
|
Draft Pull Requests
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
A Pull Request (PR) should be marked as `draft` if it is not intended to be merged as is,
|
||||||
|
but is waiting for some sort of feedback.
|
||||||
|
The author of the PR should be explicit with what kind of feedback is expected
|
||||||
|
(CI/QA run, discussion on the code, etc...)
|
||||||
|
|
||||||
|
GitHub filter is ``is:pr is:open draft:true sort:updated-asc``
|
||||||
|
|
||||||
|
A draft may be closed if it has not been updated in two months.
|
||||||
|
|
||||||
|
Mergeable Pull Requests
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
When a Pull Request is intended to be merged as is, the workflow is the following:
|
||||||
|
1. get reviewed, and either request changes or get approved
|
||||||
|
2. if approved, get staged in a next branch (with other PRs), wait for CI validation
|
||||||
|
(and eventually request changes if CI finds anything)
|
||||||
|
3. get merged and closed
|
||||||
|
|
||||||
|
A newly created PR should match the filter
|
||||||
|
``is:pr is:open draft:false review:none sort:updated-asc no:assignee``
|
||||||
|
The whole team is responsible to assign a PR to someone precise within 2 weeks.
|
||||||
|
|
||||||
|
When someone gets assigned a PR, the PR should get a review status within 2 weeks:
|
||||||
|
either changes requested, approved, or assigned to someone else if more
|
||||||
|
expertise is needed.
|
||||||
|
|
||||||
|
GitHub filter for changes-requested PRs is ``is:pr is:open draft:false sort:
|
||||||
|
updated-asc review:changes-requested``
|
||||||
|
|
||||||
|
Such a PR may be closed if it has not been updated in two months.
|
||||||
|
It is expected that the author creates a new PR with a new version of the patch
|
||||||
|
as described in :ref:`Pull Requests Criteria <pull-requests-criteria>`.
|
||||||
|
|
||||||
|
Command to get approved PRs is ``gh pr list --json number,reviewDecision --search
|
||||||
|
"state:open type:pr -review:none" | jq '.[] | select(.reviewDecision=="")'``
|
||||||
|
|
||||||
|
Web UI filter does not work cf https://github.com/orgs/community/discussions/55826
|
||||||
|
|
||||||
|
Once in approved state, the PRs are in the responsibility of the merger, along
|
||||||
|
with the next branches/PRs.
|
Loading…
Reference in New Issue