Skip to content

Commit ee63f7b

Browse files
authored
Merge pull request #110 from nulib/versioning-draft-doc
Add script versioning process
2 parents 49b6e59 + fbb6213 commit ee63f7b

File tree

1 file changed

+36
-1
lines changed

1 file changed

+36
-1
lines changed

docs/script-dev-process.md

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,43 @@ Summer quarter should be relatively quiet and used for reviewing scripts and thi
2222

2323
Production scripts should be on Github and clearly identified as the official versions
2424
A folder named “Staging” should be used for all scripts that are in development/testing
25-
25+
26+
## Versioning
27+
28+
Versioning should follow the semantic versioning format (ex. 1.4.10) where numbers correspond to major update, minor update, and patch (left to right).
29+
2630
## Development Process
31+
32+
**Major update**: adds new functionality and breaks old functionality
33+
**Minor update**: adds new functionality without breaking old functionality
34+
**Patch**: no new functionality, just a fix or small change
35+
36+
### Minor and Major Updates
37+
38+
1. Create a new branch with the name of the prerelease version.
39+
- preminor example : 8.4.1 -> 8.5.0a0
40+
- premajor example: 8.4.1 -> 9.0.0a0
41+
2. Update the poetry project version with `poetry version preminor`, `poetry version premajor`, or `poetry version prerelease`
42+
3. Merge work into prerelease branch.
43+
- Note: it may be helpful to move to break up the update into multiple prereleases as work is done.
44+
- example: 8.5.0a0 -> 8.5.0a1
45+
4. Proceed with testing when ready.
46+
- If testing fails, go back to step 3 and work on fixes.
47+
5. When testing passes, create a pull request into main and merge when reviews pass.
48+
49+
### Patches
50+
Note: This section is only relevant if no prerelease is currently being worked on.
51+
52+
1. Create a new branch with the name of the patch. Be consise and descriptive, use all lowercase, no special characters except dashes
53+
- patch example : 8.4.1 -> 8.4.2
54+
2. Update the version in this branch with `poetry version patch`
55+
3. Merge work into patch branch.
56+
4. Proceed with testing when ready.
57+
- If testing fails, go back to step 3 and work on fixes.
58+
5. When testing passes, create a pull request into main and merge when reviews pass.
59+
60+
### Testing
61+
2762
The development process should involve two types of review:
2863

2964
1. Review by another person doing scripting

0 commit comments

Comments
 (0)