-
Notifications
You must be signed in to change notification settings - Fork 133
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1696 from OceanParcels/v/docs
Add Parcels versioning/deprecation policies and maintainer docs
- Loading branch information
Showing
9 changed files
with
107 additions
and
23 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
Community | ||
========= | ||
|
||
These sections contain documentation relevant to the Parcels community. | ||
See the sections in the primary sidebar and below to explore. | ||
|
||
.. toctree:: | ||
:caption: User documentation | ||
:maxdepth: 1 | ||
|
||
contributing | ||
Versioning and Deprecation Policies <policies> | ||
|
||
|
||
|
||
.. toctree:: | ||
:caption: Maintainer documentation | ||
:maxdepth: 1 | ||
|
||
maintainer |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# Maintainers notes | ||
|
||
> Workflow information mainly relevant to maintainers | ||
## PR review workflow | ||
|
||
- Submit a PR (mark as draft if your feature isn't ready yet, but still want to share your work) | ||
- Request PR to be reviewed by at least one maintainer. Other users are also welcome to submit reviews on PRs. | ||
- Implement or discuss suggested edits | ||
- Once PR is approved: | ||
- Original author merges the PR (if original author has sufficient permissions) | ||
- Wait for maintainer to merge | ||
- If more edits are required: Implement edits and re-request review if changes are significant | ||
- Close linked issue | ||
|
||
--- | ||
|
||
- If PR is automated (i.e., from dependabot or similar), maintainer can review and merge. | ||
|
||
## Release checklist | ||
|
||
- Go to GitHub, draft new release. Enter name of version and "create new tag" if it doesn't already exist. Click "Generate Release Notes". Currate release notes as needed. Look at a previous version release to match the format (title, header, section organisation etc.) | ||
- Go to [conda-forge/parcels-feedstock](https://github.com/conda-forge/parcels-feedstock), create new issue with `@conda-forge-admin, please update version`. This will prompt a build, otherwise there can be a delay in the build. | ||
- Approve PR and merge on green | ||
- Update version in `CITATION.cff` file | ||
- Check "publish to PyPI" workflow succeeded | ||
- Update oceanparcels.org | ||
- Parcels development status | ||
- Check feature tiles | ||
- Check for broken links on oceanparcels using [this tracking issue](https://github.com/OceanParcels/oceanparcels_website/issues/85) | ||
- (once package is available on conda) Re-build the Binder |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Policies | ||
|
||
Parcels, as of v3.1.0, has adopted versioning and deprecation policies. | ||
|
||
## Versioning | ||
|
||
Parcels mostly follows [semantic versioning](https://semver.org/), where the version number (e.g., v2.1.0) is thought of as `MAJOR.MINOR.PATCH`. | ||
|
||
> MAJOR version for incompatible API changes<br> | ||
> MINOR version for added functionality in a backward compatible manner<br> | ||
> PATCH version for backward compatible bug fixes<br> | ||
Parcels doesn't implement strict backwards compatibility between minor versions. We may make small changes that deprecate elements of the codebase (e.g., an obscure parameter that is no longer needed). Such deprecations will follow our deprecation policy. | ||
|
||
Note when conducting research we highly recommend documenting which version of Parcels (and other packages) you are using. This can be as easy as doing `conda env export > environment.yml` alongside your project code. The Parcels version used to generate an output file is also stored as metadata entry in the `.zarr` output file. | ||
|
||
## Deprecation policy | ||
|
||
Deprecations in the Parcels codebase between minor releases will be handled using the following 6-month timeline: | ||
|
||
- Functionality is marked for deprecation (e.g., in v2.1.0). This will include a warning to the user, instructions on how to update their scripts, and a note about when the feature will be removed. At this point the functionality still works as before. | ||
- One minor release later (e.g., in v2.2.0), or at least 3 months later, the functionality will be replaced with `NotImplementedError`. | ||
- One minor release later (e.g., in v2.3.0), or at least 3 months later, the functionality will be removed entirely. | ||
|
||
These changes will be communicated in release notes. | ||
|
||
Deprecations of classes or modules between minor releases will be avoided, except in the instance where it is deemed to have little to no impact on the end user (e.g., if the class/module was mistakenly included in the Public API to begin with, and isn't used in any user scripts or tutorial notebooks). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters