Skip to content

Commit c0c5853

Browse files
docs: Add README section on how to create releases (#92)
Co-authored-by: Justin Mayer <[email protected]>
1 parent 5b13403 commit c0c5853

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

README.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,46 @@ To start contributing to this plugin, review the [Contributing to Pelican][] doc
504504
[existing issues]: https://github.com/pelican-plugins/image-process/issues
505505
[Contributing to Pelican]: https://docs.getpelican.com/en/latest/contribute.html
506506

507+
### Documenting Changes for Releases
508+
509+
When you include a `RELEASE.md` file in your pull request, we use
510+
[AutoPub](https://justinmayer.com/projects/autopub/) to automatically update
511+
the changelog and issue a new plugin release when your pull request is merged.
512+
This `RELEASE.md` file is automatically deleted during the release process, so
513+
it should not persistently exist in the repository, and thus you should create
514+
it in the project root. This is a standard Markdown file, so you can add
515+
Markdown as needed to concisely describe your changes.
516+
517+
When a release is issued, the description in the `RELEASE.md` file will be added to
518+
the changelog and used to create release notes for the GitHub release.
519+
520+
You must specify a `Release type` line at the top of your `RELEASE.md`, which
521+
is used to determine how to increment the release version number. It is
522+
therefore important that you do not manually increment the version number in
523+
the `pyproject.toml` file, as that will be handled automatically.
524+
525+
The format of a `RELEASE.md` file is therefore:
526+
527+
```md
528+
Release type: patch
529+
530+
[details of changes]
531+
```
532+
533+
Valid release types are: `patch`, `minor`, or `major`. Generally, we try and
534+
follow [Semantic Versioning](https://semver.org/), which means:
535+
536+
- a **patch** (or bug-fix) release is one that fixes a bug in the project, but
537+
does not add features or require users to make any configuration changes.
538+
- a **minor** (or feature) release is one that adds new features or
539+
configuration options to the project. It may also include bug fixes.
540+
- a **major** (or “breaking”) release is one that changes how the end user
541+
interacts with the plugin, in a non-backwards-compatible way.
542+
543+
Generally speaking, the idea is to “ship early and often”. We therefore do not
544+
hesitate to issue releases, even if they are small, so that we can ship new
545+
features and fixes to users in a timely fashion.
546+
507547
### Regenerating Test Images
508548

509549
If you need to regenerate the transformed images used by the test suite, there

0 commit comments

Comments
 (0)