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
+22-39Lines changed: 22 additions & 39 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,11 +15,32 @@ In the issue, provide the following:
15
15
1. Installed dependencies / versions
16
16
1. Error traceback
17
17
18
+
### Development
19
+
20
+
#### Development Branch
21
+
22
+
Most work should start with the latest instance of the `main` branch and be performed in a development branch:
23
+
24
+
```console
25
+
git checkout main
26
+
git pull
27
+
git checkout -b new-branch-name
28
+
```
29
+
30
+
#### Branch Naming
31
+
32
+
Please use the following naming convention for development branchs:
33
+
34
+
`{up to 3-word summary of topic, separated by a dash)-{ticket number}`
35
+
36
+
For example: `release-contributing-691` for [ticket 691](https://github.com/planetlabs/planet-client-python/issues/691).
37
+
18
38
### Pull Requests
19
39
20
40
Pull Request (PR) Requirements:
21
41
22
42
1. Must have a descriptive title. This populates the release changelog.
43
+
1. Must provide a summary of changes and examples of usage input / output in the case of user-interface changes.
23
44
1. Must include updates to relative documentation in docstrings and `docs` folder. See [Documentation](#documentation) section for information on docstring formatting and building.
24
45
1. Must pass all Continuous Integration (CI) checks. See below for more information on CI checks.
25
46
1. Must have at least one approval by a planet maintainer.
@@ -39,45 +60,7 @@ To minimize the feedback loop, we have configured Nox so that it can be used to
39
60
40
61
### Releasing
41
62
42
-
*Planet maintainers only*
43
-
44
-
Releasing is a two-step process: (1) releasing on Github and test.pypi and (2) releasing to pypi. Releasing on Github will automatically trigger a release on test.pypi via a Github Action. Following manual confirmation of a successful and satisfactory release on test.py, release on pypi is triggered manually with the Github Action "Automatically Publish on TestPyPi".
45
-
46
-
###### Step 1: Release on Github
47
-
48
-
1. Create a PR with the following:
49
-
* Update `CHANGES.txt` (**PROPOSAL**: change this to `docs/CHANGELOG.md`)
50
-
* Include added, changed, depricated or removed features and bug fixes.
51
-
A list of merged PRs and their titles since the last release can be obtained with `git log <RELEASE_TAG>..HEAD | awk '/Merge pull request/{print;getline;getline;print}`
52
-
* Sort according to importance
53
-
***PROPOSAL**: Adhere to [Keep a Changelog](https://keepachangelog.com/)
54
-
* Bump version in `planet/__version__.py`
55
-
***PROPOSAL**: Version number is determined by [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
56
-
1. Merge the PR
57
-
1. Create a new github release:
58
-
* Set Tag to the version number specified in `planet/__version__.py`
59
-
* Copy Description from the new entry in `docs/CHANGELOG.md`
60
-
* Select "This is a pre-release" if applicable
61
-
* Select "Create a discussion for this release"
62
-
63
-
###### Step 2: Release on pypi
64
-
65
-
1. Verify the test release on [test.pypi.org](https://test.pypi.org/project/planet/)
66
-
1. Run the Github Action "Publish on PyPi"
67
-
68
-
###### Local publishing
69
-
70
-
Publishing to testpypi and pypi can also be performed locally with:
71
-
72
-
```console
73
-
$ nox -s build publish-testpypi
74
-
```
75
-
then
76
-
```console
77
-
$ nox -s publish-pypi
78
-
```
79
-
this approach requires specifying the pypi/testpypi api token as the password at the prompt.
80
-
63
+
The release process is outlined in [RELEASE.md](RELEASE.md).
Releasing is a two-step process: (1) releasing on Github and test.pypi and (2) releasing to pypi. Releasing on Github will automatically trigger a release on test.pypi via a Github Action. Following manual confirmation of a successful and satisfactory release on test.pypi, release on pypi is triggered manually with the Github Action "Automatically Publish on TestPyPi".
6
+
7
+
#### Release Naming Conventions
8
+
9
+
The following are the release naming conventions:
10
+
11
+
1. Current dev version: Bumped version of last release with `dev` added to the end
12
+
***PROPOSAL**: Version number is determined by [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
13
+
1. Release version: Remove `dev` from current dev version
14
+
15
+
Example:
16
+
* If
17
+
* Previous Release Version == `1.0.0`
18
+
* Then
19
+
* Current Dev Version: `1.0.1dev`
20
+
* Release Version: `1.0.1`
21
+
* Next Dev Version: `1.0.2dev`
22
+
23
+
## Release Workflow
24
+
25
+
#### Step 1: Release on Github
26
+
*NOTE: This section refers to version names given in Release Naming Conventions section above.*
27
+
1. Create a release branch named `release-{Release Version}`
28
+
1. Make the following changes for the release
29
+
* Update `CHANGES.txt` (**PROPOSAL**: change this to `docs/CHANGELOG.md`)
30
+
* Include added, changed, depricated or removed features and bug fixes.
31
+
A list of merged PRs and their titles since the last release can be obtained with `git log <RELEASE_TAG>..HEAD | awk '/Merge pull request/{print;getline;getline;print}`
32
+
* Sort according to importance
33
+
***PROPOSAL**: Adhere to [Keep a Changelog](https://keepachangelog.com/)
34
+
* Update `planet/__version__.py` to Release Version
35
+
1. Create a PR for the release branch (named after release branch), wait for CI to pass
36
+
1. Create a new github release:
37
+
* Set Tag to the version number specified in `planet/__version__.py`, aka Release Version
38
+
* Copy Description from the new entry in `docs/CHANGELOG.md`
39
+
* Select "This is a pre-release" if applicable
40
+
* Select "Create a discussion for this release"
41
+
1. Update `planet/__version__.py` to Next Dev Version
42
+
1. Merge PR for release branch
43
+
44
+
###### Step 2: Release on pypi
45
+
46
+
1. Verify the test release on [test.pypi.org](https://test.pypi.org/project/planet/)
47
+
1. Run the Github Action "Publish on PyPi"
48
+
49
+
###### Local publishing
50
+
51
+
Publishing to testpypi and pypi can also be performed locally with:
52
+
53
+
```console
54
+
$ nox -s build publish-testpypi
55
+
```
56
+
then
57
+
```console
58
+
$ nox -s publish-pypi
59
+
```
60
+
this approach requires specifying the pypi/testpypi api token as the password at the prompt.
0 commit comments