contributing:core_committer_process
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
contributing:core_committer_process [2025/02/25 14:37] – tmccanna | contributing:core_committer_process [2025/03/20 12:23] (current) – jdavis | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Core Committer Process ====== | ====== Core Committer Process ====== | ||
- | These instructions are meant as an introductory, | + | These instructions are meant as an introductory, |
- **Choose a Launchpad Ticket** | - **Choose a Launchpad Ticket** | ||
Line 7: | Line 7: | ||
* If it only has the pullrequest tag, you will be responsible for the testing and signoff stage as well as the committing stage. | * If it only has the pullrequest tag, you will be responsible for the testing and signoff stage as well as the committing stage. | ||
- **Review, Install, Test** | - **Review, Install, Test** | ||
- | - Review the Code | + | - **Review the Code** |
* Code formatting - whitespace, etc.? | * Code formatting - whitespace, etc.? | ||
* Consistency with other code? | * Consistency with other code? | ||
Line 17: | Line 17: | ||
* Does it need to be rebased to current main? You may do this yourself or ask the original submitter to do so (add the “needsrebase” tag if so). | * Does it need to be rebased to current main? You may do this yourself or ask the original submitter to do so (add the “needsrebase” tag if so). | ||
* Are there multiple commits? Some patches may be intentionally split into multiple logical commits, but other patches may just have minor changes and corrections in multiple commits that can be squashed for clarity. Creating a local branch to handle the squashing can be useful, or you may wish to refer it back to the original submitter (add the " | * Are there multiple commits? Some patches may be intentionally split into multiple logical commits, but other patches may just have minor changes and corrections in multiple commits that can be squashed for clarity. Creating a local branch to handle the squashing can be useful, or you may wish to refer it back to the original submitter (add the " | ||
- | - Install the Code | + | - **Install the Code** |
* This will vary depending upon your development environment. | * This will vary depending upon your development environment. | ||
- | - Test the Code | + | - **Test the Code** |
* Your level of testing will vary depending on code complexity and how well you understand what it is doing. | * Your level of testing will vary depending on code complexity and how well you understand what it is doing. | ||
* Does it work in the UI? | * Does it work in the UI? | ||
Line 25: | Line 25: | ||
* Are there Perl/ | * Are there Perl/ | ||
* Are there any error messages generated in the server logs? | * Are there any error messages generated in the server logs? | ||
- | | + | * Does ng lint report any issues? |
+ | | ||
- git checkout main | - git checkout main | ||
- git pull origin main | - git pull origin main | ||
Line 36: | Line 37: | ||
- Add Release Note line if needed: | - Add Release Note line if needed: | ||
* Release-note: | * Release-note: | ||
- | - | + | - **Handle Upgrade Script (if relevant)** |
+ | - When a database upgrade script is needed, it should be located in Open-ILS/ | ||
+ | - Look at current repo to see the next upgrade number (if backporting, | ||
+ | - Post in IRC that you will be using the next number: | ||
+ | * " | ||
+ | - Make sure that the upgrade script includes the deps_block line and update it with the new number: | ||
+ | * SELECT evergreen.upgrade_deps_block_check(' | ||
+ | - Change the file name from XXXX to new number | ||
+ | * git mv oldfilename newfilename | ||
+ | - Update 002.schema.config.sql line 95 (or so) with new number and the current patch' | ||
+ | * INSERT INTO config.upgrade_log (version, applied_to) VALUES (' | ||
+ | - Double-check everything: | ||
+ | * git status | ||
+ | * git diff | ||
+ | - Stage the changes: | ||
+ | * git add . | ||
+ | - Create a commit that just includes the Launchpad number and "Stamp upgrade script": | ||
+ | * git commit -sm " | ||
+ | - **Rebase** | ||
+ | * git pull --rebase | ||
+ | * This isn't always necessary, but it's a good idea especially when other people may be merging commits at the same time (such as during Bug Squashing Weeks) | ||
+ | - **Merge** | ||
+ | * You can do a dry run first: git push --dry-run | ||
+ | * Do the merge: git push | ||
+ | - **Backport? | ||
+ | * Decide whether or not the change should be backported. If so, repeat process for whichever actively supported versions it needs to go into (rel_3_12, etc.). | ||
+ | * Good reasons to backport: | ||
+ | * It is a fix for a bug that was present in a previous release. | ||
+ | * It has security implications. | ||
+ | * Good reasons not to backport: | ||
+ | * It is a fix for a bug that has only appeared in the current release. | ||
+ | * It is a new feature. | ||
+ | * It does not backport cleanly. | ||
+ | * It changes workflow or display in a disruptive way. | ||
+ | - **Update Launchpad** | ||
+ | * Make sure that Launchpad lists each of the versions that you merged the commit to. | ||
+ | * Update the status of each to Fix Committed. | ||
+ | * Add a comment indicating that you've merged the change (and it's always nice to thank the contributor and testers!) | ||
+ | * Remove yourself from the assignment. | ||
+ | |||
+ | |||
contributing/core_committer_process.1740512266.txt.gz · Last modified: 2025/02/25 14:37 by tmccanna