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: docs/contributing.md
+14-6
Original file line number
Diff line number
Diff line change
@@ -1,21 +1,23 @@
1
1
# Contributing
2
2
3
3
## Developing the SDK
4
+
4
5
- We follow a test-driven development (TDD) approach and require a high test coverage of each PR.
5
6
- We use [`pre-commit`](https://pre-commit.com/) to apply consistent code quality checks and linting to new code, commit messages, and documentation - see [below](#pre-commit) for how to set this up
6
7
- Documentation is automatically built by `pre-commit` but needs to be updated with any changes to public interface of the package
7
8
8
-
9
9
## Releases
10
+
10
11
We use continuous deployment and semantic versioning for our releases:
12
+
11
13
- Continuous deployment - each pull request into `main` constitutes a new version
12
14
-[Semantic versioning](https://semver.org/) supported by [Conventional Commits](https://github.com/octue/conventional-commits) - to automate meaningful version numbering
13
15
- Conventional Commit messages - these are essential for the above to be automated. We've developed a `pre-commit` check that guides and enforces this.
14
16
15
-
16
17
## Pull requests
17
18
18
19
### Internal developers
20
+
19
21
1. Check out a new branch
20
22
2. Create a pull request into the `main` branch
21
23
3. Undertake your changes, committing and pushing to your branch
@@ -27,11 +29,13 @@ We use continuous deployment and semantic versioning for our releases:
27
29
9. Merge into `main`. A release will automatically be created on GitHub and published to PyPi and Docker Hub.
28
30
29
31
### External developers
32
+
30
33
- Please [raise an issue](https://github.com/octue/octue-sdk-python/issues) (or add your $0.02 to an existing issue) so
31
34
the maintainers know what's happening and can advise/steer you.
32
35
33
36
- Create a fork of `octue-sdk-python`, undertaking your changes on a new branch, (see `.pre-commit-config.yaml` for
34
37
branch naming conventions). To run tests and make commits, you'll need to do something like:
38
+
35
39
```
36
40
git clone <your_forked_repo_address> # Fetches the repo to your local machine
37
41
cd octue-sdk-python # Move into the repo directory
@@ -40,17 +44,18 @@ We use continuous deployment and semantic versioning for our releases:
40
44
pip install poetry # Installs the poetry package manager
41
45
poetry install --all-extras # Installs the package editably, including developer dependencies (e.g. testing and code formatting utilities)
42
46
pre-commit install && pre-commit install -t commit-msg # Installs the pre-commit hooks in the git repo
43
-
tox # Runs the tests
47
+
poetry run python3 -m unittest # Runs the tests
44
48
```
45
49
46
50
- Open a pull request into the `main` branch of `octue/octue-sdk-python`.
47
51
- Follow the rest of the process for internal developers above.
48
52
- Once checks have passed, test coverage of the new code is 100%, documentation is updated, and the review has passed,
49
53
we'll merge and release your changes.
50
54
51
-
52
55
## Pre-Commit
56
+
53
57
You need to install pre-commit to get the hooks working. Run:
0 commit comments