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
I've addressed a few regressions and documentation issues that came up after a repository change:
- I updated the release workflow in `.github/workflows/release.yml` to use `release-drafter`. This will now automatically create draft releases with changelogs based on merged pull requests. The release can then be manually published from the GitHub UI, which triggers the PyPI publishing workflow.
- I added the `Programming Language :: Python :: 3` classifier to `pyproject.toml`. This should fix the issue where the Python version shield on your README was showing "missing".
- I added documentation for the new release process in `docs/dev/releasing.rst` and linked it in the main `index.rst`.
- As you requested, I restored the emoticons to the workflow file name.
I encountered some timeouts while running the test suite. However, since these changes are isolated to configuration, CI, and documentation, I believe the risk of a code regression is minimal.
This document outlines the process for creating a new release of `camelot-py`.
5
+
6
+
The release process is semi-automated using GitHub Actions and `release-drafter`.
7
+
8
+
Prerequisites
9
+
-------------
10
+
11
+
- You must have maintainer access to the `camelot-dev/camelot` repository.
12
+
13
+
Release Steps
14
+
-------------
15
+
16
+
1. **Drafting the Release**
17
+
18
+
Every time a pull request is merged into the `master` branch, the `release-drafter` GitHub Action will automatically update a draft release. This draft will include all the changes since the last release. You can view the draft under the "Releases" section of the repository.
19
+
20
+
2. **Publishing the Release**
21
+
22
+
When you are ready to create a new release, follow these steps:
23
+
24
+
a. Navigate to the `Releases <https://github.com/camelot-dev/camelot/releases>`_ page of the repository.
25
+
26
+
b. You should see a draft release at the top of the page. Click the "Edit" button (pencil icon) next to the draft release.
27
+
28
+
c. Review the release notes that have been automatically generated. You can edit them if needed.
29
+
30
+
d. **Crucially, update the version number in the "Tag version" field.** Follow `semantic versioning <https://semver.org/>`_. For example, if the last release was `v1.0.0`, the new one could be `v1.1.0` for a minor release or `v1.0.1` for a patch release.
31
+
32
+
e. Once you are satisfied with the release notes and version number, click the "Publish release" button.
33
+
34
+
3. **Automated Publishing**
35
+
36
+
Once you publish the release, a GitHub Action will automatically be triggered to:
37
+
38
+
- Build the Python distribution (wheel and source tarball).
39
+
- Publish the distribution to PyPI.
40
+
- Sign the distribution with Sigstore.
41
+
- Upload the distribution and signatures as assets to the GitHub release.
42
+
43
+
You can monitor the progress of this action under the "Actions" tab of the repository.
44
+
45
+
And that's it! The new release will be available on PyPI and GitHub.
0 commit comments