-
Notifications
You must be signed in to change notification settings - Fork 96
prerelease pipeline work #1123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
prerelease pipeline work #1123
Changes from 3 commits
31b68f3
1f92569
eb1aeea
f5507e5
7bf6304
e6a4d84
6905a50
7eee077
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,18 +16,43 @@ The SDK follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html) and t | |
|
||
1. Create a new GitHub release: | ||
* From the GitHub UI: | ||
* Navigate to the releases UI | ||
* Set tag to release version | ||
* Set target to `main` | ||
* Navigate to the [releases UI](https://github.com/planetlabs/planet-client-python/releases), and select "Draft a new release". | ||
* Choose or create a tag for the release version. The is expected to simply be the [PEP 440](https://peps.python.org/pep-0440/) | ||
compliant semantic version number, without any prefix or other adornments. Examples, from most to least mature: | ||
* Production release: `2.3.4` | ||
* Release candidate: `2.3.4rc1` | ||
* Beta release: `2.3.4b1` | ||
* Alpha release: `2.3.4a1` | ||
* Alpha development pre-release build: `2.3.4a1.dev1` | ||
* Set target the release branch. This should normally be `main` for production releases. | ||
* Set title to tag release version | ||
* Describe the change(s) that are shipping with this version in the release description | ||
* Alternatively, create a release from the GitHub CLI: | ||
* Make sure the pre-requisite [gh](https://cli.github.com/manual/gh) CLI is installed, and optionally review the docs for CLI command [gh release create](https://cli.github.com/manual/gh_release_create) | ||
* By default, `gh release create` will automatically tag releases from the latest state of the default branch | ||
* Run CLI command `gh release create {VERSION} --notes "{RELEASE NOTES}"` where `VERSION` is the release version and `RELEASE NOTES` is the description of changes | ||
2. Verify the successful run of the Github Action `Autopublish to TestPyPI` and validate the test release on [test.pypi.org](https://test.pypi.org/project/planet/) | ||
3. Run the Github Action `Publish on PyPI` | ||
2. Verify the successful run of the Github Action [`Autopublish to TestPyPI`](https://github.com/planetlabs/planet-client-python/actions/workflows/autopublish-testpypi.yml) and validate the test release on [test.pypi.org](https://test.pypi.org/project/planet/) | ||
3. Run the Github Action [`Publish on PyPI`](https://github.com/planetlabs/planet-client-python/actions/workflows/publish-pypi.yml) | ||
4. Verify the successful run of the Github Action `Publish on PyPI` and validate the release on [pypi.org](https://pypi.org/project/planet/) | ||
5. Verify the successful and correct publishing of documentation to Read the Docs. | ||
Read the Docs publishing should be triggered automatically by github | ||
carl-adams-planet marked this conversation as resolved.
Show resolved
Hide resolved
|
||
[project webhooks](https://github.com/planetlabs/planet-client-python/settings/hooks). | ||
Correct publishing includes verifying that the `default`, `stable`, and `latest` | ||
versions of the documentation point to the correct versions, and that the version | ||
specific documentation URL also works as expected. The management of these | ||
symbolic documentation versions is handled by Read the Docs | ||
[automation rules](https://app.readthedocs.org/dashboard/planet-sdk-for-python/rules/). | ||
* Published to [planet-sdk-for-python](https://planet-sdk-for-python.readthedocs.io/en/latest/) (Note the new version-less project slug in DNS name). | ||
* `default`: [https://planet-sdk-for-python.readthedocs.io/](https://planet-sdk-for-python.readthedocs.io/) - Should point to same version as `stable`. | ||
* `stable`: [https://planet-sdk-for-python.readthedocs.io/en/stable/](https://planet-sdk-for-python.readthedocs.io/en/stable/) - Should point to the highest stable release version. | ||
* `latest`: [https://planet-sdk-for-python.readthedocs.io/en/latest/](https://planet-sdk-for-python.readthedocs.io/en/latest/) - Should point to the most recent build from `main`. | ||
* _version_ : [https://planet-sdk-for-python.readthedocs.io/en/X.YY.ZZ/](https://planet-sdk-for-python.readthedocs.io/en/X.YY.Z/) - Should point to version `X.YY.ZZ`. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should version have backticks? E.g. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Heh. That's not the nit I was wondering here. I was wondering...
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I think that sometimes renders funny.
This is why Ora books have a whole preface on type conventions. (and as your response shows, markdown is finicky as to the order of wrapping. That amuses me because that's exactly why Ye Olde HTML of 1994 evolved into more rigorous XML variants. I've always harbored a believe that Markdown forgot that history.) No strong feelings. Consistency over nit picking here for me. What does the rest of the doc site do? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Change applied. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Aha! Your explanation about stable/latest vs version being a placeholder makes a lot of sense! My original comment is about consistency with the other properties in the list. I think keeping version as is makes a lot of sense now. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yeah. Markdown isn't LaTeX. Sadly. |
||
* Pre-release versions should _not_ impact the default version of the documentation. Pre-release version may be published as the `latest` version. | ||
* Published to [planet-sdk-for-python-v2](https://planet-sdk-for-python-v2.readthedocs.io/en/latest/) (Note the older "v2" in the project slug in the DNS name). | ||
* `default`: [https://planet-sdk-for-python-v2.readthedocs.io/](https://planet-sdk-for-python-v2.readthedocs.io/) - Should point to same version as `stable`. | ||
* `stable`: [https://planet-sdk-for-python-v2.readthedocs.io/en/stable/](https://planet-sdk-for-python-v2.readthedocs.io/en/stable/) - Should point to the highest stable release version. | ||
* `latest`: [https://planet-sdk-for-python-v2.readthedocs.io/en/latest/](https://planet-sdk-for-python-v2.readthedocs.io/en/latest/) - Should point to the most recent build from `main`. | ||
* _version_ : [https://planet-sdk-for-python-v2.readthedocs.io/en/X.YY.ZZ/](https://planet-sdk-for-python-v2.readthedocs.io/en/X.YY.ZZ/) - Should point to version `X.YY.ZZ`. | ||
|
||
|
||
## Local publishing | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# _ReadTheDocs.io_ Content Management | ||
|
||
## Overview | ||
Pursuant to the [Content Plan](./content-plan.md) developed as part of the | ||
v2.0 release of the SDK, [ReadTheDocs.io](https://planet-sdk-for-python.readthedocs.io/) | ||
is used to host the single source of truth for SDK documentation. SDK documentation | ||
is largely confined to the specifics of using the SDK. More general Planet Platform | ||
narrative and HTTP API documentation should be hosted on the Planet documentation site | ||
at [docs.planet.com](https://docs.planet.com/). | ||
carl-adams-planet marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Version Management | ||
_ReadTheDocs.io_ hosts multiple versions of the documentation simultaneously. | ||
Additionally, the following symbolic names are maintained: | ||
* [**default**](https://planet-sdk-for-python.readthedocs.io/) - Should point to same version as `stable`. | ||
* [**stable**](https://planet-sdk-for-python.readthedocs.io/en/stable/) - Should point to the highest stable release version. | ||
* [**latest**](https://planet-sdk-for-python.readthedocs.io/en/latest/) - Should point to the most recent build from the current mainline major version branch. | ||
asonnenschein marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
Version management is handled by _ReadTheDocs.io_ [automation rules](https://app.readthedocs.org/dashboard/planet-sdk-for-python/rules/). | ||
|
||
## _ReadTheDocs.io_ Planet PBC Account | ||
Planet currently publishes to _ReadTheDocs.io_ as a [community](https://about.readthedocs.com/pricing/#/community) | ||
project. It is understood that this means that ads may be displayed on hosted documentation. (Ref: cleared | ||
with Planet Engineering Management in April 2025.) | ||
|
||
---- |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
from planet import __version__ as _pl_sdk_version | ||
|
||
def on_config(config): | ||
""" | ||
This is for injecting the package version into mkdocs | ||
config so it can be used in templates. | ||
""" | ||
config["extra"]["planet_sdk_version"] = _pl_sdk_version | ||
return config |
Uh oh!
There was an error while loading. Please reload this page.