annotate WORKFLOW.md @ 1165:32b4d324fd98 worklowdocs

Add some text about the branch model
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 07 Dec 2022 21:42:18 +0100
parents 74c09b5f63eb
children 6970bffad843
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1161
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 # Branch model
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2
1165
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
3 The `default` branch contains stable code and the goal is that all tests should be passing on this branch. Version of the code are marked with mercurial tags. Changes in the code are developed in named branches which are closed and merged into `default` when the code is ready. During development merging `default` into the development branch is encouraged to avoid complicated conflicts.
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
4
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
5 Branches are named using slash separated keywords. The first keyword describes the type of change being pursued in the branch. Important type keywords are
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
6 * feature
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
7 * bugfix
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
8 * refactor
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
9 Further keywords may describe where, e.g. what sub package, the change happens. The last keyword should describe the change.
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
10
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
11 ## Merging a branch into `default`
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
12 The changes in a branch has been reviewed and deemed ready to merge the branch is closed and then merged.
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
13
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
14 Before merging a development branch, `default` should be merge into the development branch to make sure the whole state of the code is reviewed and tested before it ends up on `default`.
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
15
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
16 With the development branch active the following commands can be used to complete the merging of a development branch.
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
17 ```shell
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
18 hg merge default
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
19 hg commit --close-branch -m "Close before merge"
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
20 hg update default
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
21 hg merge development/branch
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
22 hg commit -m "Merge development/branch"
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
23 ```
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
24
1161
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 # Review
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27 ## Checklist for review
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 * Push and pull new changes
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29 * Search and check TODOs
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 * Search and check TBDs
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 * Search and check REVIEWs
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 * Review code
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 * Review tests
1165
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
34 * Review docstrings
1161
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
35 * Render Documenter and check docstrings in browser
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
36 * Run full tests