Skip to content
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

README updated with release process instructions #40

Merged
merged 2 commits into from
May 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 27 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
WORK IN PROGRESS - DO NOT USE

# dp-python-tools

_Simple_ reusable python classes and functions for digital publishing.

The key word is _simple_. If the desired functionality is more than a script or two (or existing functionality sprawls beyond that) please consider separating it into it's own repository.
The key word is _simple_. If the desired functionality is more than a script or two (or existing functionality sprawls beyond that) please consider separating it into its own repository.

Given this pattern, each distinct thing should be clearly separated out within `./pytools` with each having its own README with example usage.
Given this pattern, each distinct tool should be clearly separated out within `./dpytools`, with each tool having its own README with example usage.

TLDR: Try and enforce decent logical separation between the tools in this toolbag against the eventuality/likelyhood of separating them out at a later date.

## Installation
This repository is provided as an installable python package

1. **Install the package**
This repository is provided as an installable python package.

1. **To install the package**

Open your terminal and run the following command:

Expand All @@ -23,10 +22,31 @@ This repository is provided as an installable python package

## Development

All commits that make it to PR should have black and ruff already ran against them, you can do this via `make fmt` and you can lint via `make lint`.
All commits that make it to PR should have had `black` and `ruff` already run against them, you can do this via `make fmt` and you can lint via `make lint`.

Given this is a lower level resource to be relied on by other things, all classes and functions should have good unit test coverage. You can run the unit tests via `make test`.

## Release process

This package follows standard [semantic versioning](https://semver.org/) for its release process. Releases are tagged as vX.Y.Z, where:

- X denotes the MAJOR version (significant new functionality released which is not backwards-compatible with earlier versions).
- Y denotes the MINOR version (new functionality released which is backwards-compatible with earlier versions).
- Z denotes the PATCH version (no new functionality, backwards-compatible, primarily used for bug fixes).

To release a new version of `dpytools`:

1. In the `[tool.poetry]` section of `pyproject.toml`, update the `version` number as appropriate, following the semantic versioning rules listed above.
2. Commit the `pyproject.toml` changes to git, and merge to the `develop` branch.
3. In the GitHub repository, click "Releases" in the right-hand column.
4. Click the "Draft a new release" button in the top right corner of the Releases page.
5. Click the "Choose a tag" dropdown, and enter the new version number, **ensuring that this matches the updated version number in `pyproject.toml`**. Click "Create new tag".
6. Ensure that "Target" is set to "develop".
7. Click the "Previous tag" dropdown and select the most recent release tag from the list.
8. Click "Generate release notes" to automatically generate a description for the release. This is essentially a list of all branches merged since the previous release. You can manually edit these notes to make it easier to read for end users, if desired.
9. By default, the "Release title" defaults to the version tag - add a short description of changes that have been made in the new version.
10. Click "Publish release" to release the new version of the package.

Licence
-------

Expand Down
Loading
Loading