You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+48-1Lines changed: 48 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,45 @@
1
+
# Contributing to SIPNET
1
2
3
+
We welcome contributions to SIPNET. This document outlines the process for contributing to the SIPNET project.
4
+
5
+
All contributors are expected to adhere to the PEcAn Project [Code of Conduct](https://github.com/PecanProject/pecan/blob/develop/CODE_OF_CONDUCT.md).
6
+
7
+
## GitHub Workflow
8
+
9
+
#### Branches
10
+
11
+
The `master` branch is the default branch for SIPNET. Development should be done in feature branches. Feature branches should be named according to the following convention: `ISSUE#-feature-name`. For example, if you are working on issue #23, your branch should be named `23-event-handler`.
12
+
13
+
#### Pull Requests
14
+
15
+
Pull requests should be made from feature branches to the `master` branch.
16
+
17
+
Pull request descriptions should include a brief summary of the changes and a list of any issues that are resolved by the pull request.
18
+
19
+
Expectations for merging:
20
+
- Pass all integration tests
21
+
- Approved by at least one other developer before being merged.
22
+
- Include updates and additions to
23
+
- Documentation
24
+
- Tests
25
+
- CHANGELOG.md
26
+
2
27
## Style Guide
3
28
4
-
## Compiling
29
+
#### Clang
30
+
31
+
TBD #31
32
+
33
+
#### Documentation
34
+
35
+
What goes in **Doxygen**:
36
+
- Documentation for functions, classes, and parameters.
37
+
38
+
What goes in **docs/*md**:
39
+
- User guides and tutorials.
40
+
- Documentation of equations, theoretical basis, and parameters.
41
+
42
+
## Compiling SIPNET binaries
5
43
6
44
SIPNET uses `make` to build the model and documentation. There are also miscellaneous targets for running analysis workflows:
7
45
@@ -17,6 +55,8 @@ make help
17
55
```
18
56
## Testing
19
57
58
+
Any new features (that are worth keeping!) should be covered by tests.
59
+
20
60
SIPNET also uses `make` to build and run its unit tests. This can be done with the following commands:
21
61
```shell
22
62
# Compile tests
@@ -32,3 +72,10 @@ If changes are made to the `modelStructure.h` file and unit tests are failing, t
32
72
# Run this command from the root directory to update unit test versions of modelStructures.h
33
73
tests/update_model_structures.sh
34
74
```
75
+
76
+
## Releases
77
+
78
+
- Use [Semantic Versioning v2](https://semver.org/) for SIPNET releases.
0 commit comments