annotate WORKFLOW.md @ 1202:d13b73e9f65e

Update manifest for docs and tests
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 02 Feb 2023 22:53:11 +0100
parents 48cbcbc7a40b
children
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
1166
6970bffad843 Add some exmples of branch names
Jonatan Werpers <jonatan@werpers.com>
parents: 1165
diff changeset
11 Some examples:
6970bffad843 Add some exmples of branch names
Jonatan Werpers <jonatan@werpers.com>
parents: 1165
diff changeset
12 * refactor/grids: Branch to refactor the grids module
6970bffad843 Add some exmples of branch names
Jonatan Werpers <jonatan@werpers.com>
parents: 1165
diff changeset
13 * bugfix/lazy_tensors/lazyfunctionarray: Branch to fix a bug in LazyFunctionArray
6970bffad843 Add some exmples of branch names
Jonatan Werpers <jonatan@werpers.com>
parents: 1165
diff changeset
14
1165
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
15 ## Merging a branch into `default`
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
16 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
17
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
18 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
19
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
20 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
21 ```shell
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
22 hg merge default
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
23 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
24 hg update default
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
25 hg merge development/branch
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
26 hg commit -m "Merge development/branch"
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
27 ```
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
28
1161
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29 # Review
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 ## Checklist for review
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 * Push and pull new changes
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 * Search and check TODOs
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34 * Search and check TBDs
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
35 * Search and check REVIEWs
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
36 * Review code
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
37 * Review tests
1165
32b4d324fd98 Add some text about the branch model
Jonatan Werpers <jonatan@werpers.com>
parents: 1161
diff changeset
38 * Review docstrings
1161
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
39 * Render Documenter and check docstrings in browser
74c09b5f63eb Start writing a file discribing the development workflow
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
40 * Run full tests
1168
48cbcbc7a40b Add a few lines about special comments
Jonatan Werpers <jonatan@werpers.com>
parents: 1166
diff changeset
41
48cbcbc7a40b Add a few lines about special comments
Jonatan Werpers <jonatan@werpers.com>
parents: 1166
diff changeset
42 # Special comments
48cbcbc7a40b Add a few lines about special comments
Jonatan Werpers <jonatan@werpers.com>
parents: 1166
diff changeset
43 The following special comments are used:
48cbcbc7a40b Add a few lines about special comments
Jonatan Werpers <jonatan@werpers.com>
parents: 1166
diff changeset
44 * `# TODO: `: Something that should be done at some point.
48cbcbc7a40b Add a few lines about special comments
Jonatan Werpers <jonatan@werpers.com>
parents: 1166
diff changeset
45 * `# TBD: `: "To be determined", i.e a decision that has to be made.
48cbcbc7a40b Add a few lines about special comments
Jonatan Werpers <jonatan@werpers.com>
parents: 1166
diff changeset
46 * `# REVIEW: `: A review comment. Should only exist on development branches.