ARROW-12034: [Developer Tools] Formalize Minor PRs
Closes #9763 from emkornfield/trivial_prs
Lead-authored-by: Micah Kornfield <emkornfield@gmail.com>
Co-authored-by: emkornfield <micahk@google.com>
Signed-off-by: Micah Kornfield <emkornfield@gmail.com>
diff --git a/.github/workflows/dev_pr/title_check.js b/.github/workflows/dev_pr/title_check.js
index 2a8d654..c1ebd9d 100644
--- a/.github/workflows/dev_pr/title_check.js
+++ b/.github/workflows/dev_pr/title_check.js
@@ -21,6 +21,9 @@
if (!title) {
return false;
}
+ if (title.startsWith("MINOR: ")) {
+ return true;
+ }
return /^(WIP:?\s*)?(ARROW|PARQUET)-\d+/.test(title);
}
diff --git a/.github/workflows/dev_pr/title_check.md b/.github/workflows/dev_pr/title_check.md
index f008f55..f38af6a 100644
--- a/.github/workflows/dev_pr/title_check.md
+++ b/.github/workflows/dev_pr/title_check.md
@@ -19,13 +19,18 @@
Thanks for opening a pull request!
-Could you open an issue for this pull request on JIRA?
-https://issues.apache.org/jira/browse/ARROW
+If this is not a [minor PR](https://github.com/apache/arrow/blob/master/.github/CONTRIBUTING.md#Minor-Fixes). Could you open an issue for this pull request on JIRA? https://issues.apache.org/jira/browse/ARROW
+
+Opening JIRAs ahead of time contributes to the [Openness](http://theapacheway.com/open/#:~:text=Openness%20allows%20new%20users%20the,must%20happen%20in%20the%20open.) of the Apache Arrow project.
Then could you also rename pull request title in the following format?
ARROW-${JIRA_ID}: [${COMPONENT}] ${SUMMARY}
+or
+
+ MINOR: [${COMPONENT}] ${SUMMARY}
+
See also:
* [Other pull requests](https://github.com/apache/arrow/pulls/)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 3808868..3e636d9 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -53,6 +53,16 @@
Respecting this convention makes it easier for us to process the backlog
of submitted Pull Requests.
+### Minor Fixes
+
+Any functionality change should have a JIRA opened. For minor changes that
+affect documentation, you do not need to open up a JIRA. Instead you can
+prefix the title of your PR with "MINOR: " if meets the following guidelines:
+
+* Grammar, usage and spelling fixes that affect no more than 2 files
+* Documentation updates affecting no more than 2 files and not more
+ than 500 words.
+
## Do you want to propose a significant new feature or an important refactoring?
We ask that all discussions about major changes in the codebase happen
diff --git a/dev/merge_arrow_pr.py b/dev/merge_arrow_pr.py
index 9036c01..373ceb8 100755
--- a/dev/merge_arrow_pr.py
+++ b/dev/merge_arrow_pr.py
@@ -316,7 +316,10 @@
print("\n=== Pull Request #%s ===" % self.number)
print("title\t%s\nsource\t%s\ntarget\t%s\nurl\t%s"
% (self.title, self.description, self.target_ref, self.url))
- self.jira_issue.show()
+ if self.jira_issue is not None:
+ self.jira_issue.show()
+ else:
+ print("Minor PR. Please ensure it meets guidelines for minor.\n")
@property
def is_merged(self):
@@ -334,7 +337,7 @@
jira_id = m.group(1)
break
- if jira_id is None:
+ if jira_id is None and not self.title.startswith("MINOR:"):
options = ' or '.join('{0}-XXX'.format(project)
for project in SUPPORTED_PROJECTS)
self.cmd.fail("PR title should be prefixed by a jira id "
@@ -585,6 +588,10 @@
# merged hash not used
pr.merge()
+ if pr.jira_issue is None:
+ print("Minor PR. No JIRA issue to update.\n")
+ return
+
cmd.continue_maybe("Would you like to update the associated JIRA?")
jira_comment = (
"Issue resolved by pull request %s\n[%s/%s]"