@@ -172,3 +172,37 @@ We use `HTMX <https://htmx.org/>`_ for dynamically loading content, and
172172`Hyperscript <https://hyperscript.org/ >`_ for most interactions rather than raw
173173JavaScript. If you can accomplish what you need with these tools, please use them
174174rather than adding JS.
175+
176+
177+ Cutting a release
178+ -----------------
179+
180+ In order to make a release of Takahē, follow these steps:
181+
182+ * Create or update the release document (in ``/docs/releases ``) for the
183+ release; major versions get their own document, minor releases get a
184+ subheading in the document for their major release.
185+
186+ * Go through the git commit history since the last release in order to write
187+ a reasonable summary of features.
188+
189+ * Be sure to include the little paragraphs at the end about contributing and
190+ the docker tag, and an Upgrade Notes section that at minimum mentions
191+ migrations and if they're normal or weird (even if there aren't any, it's
192+ nice to call that out).
193+
194+ * If it's a new doc, make sure you include it in ``docs/releases/index.rst ``!
195+
196+ * Update the version number in ``/takahe/__init__.py ``
197+
198+ * Update the version number in ``README.md ``
199+
200+ * Make a commit containing these changes called ``Releasing 1.23.45 ``.
201+
202+ * Tag that commit with a tag in the format ``1.23.45 ``.
203+
204+ * Wait for the GitHub Actions to run and publish the docker images (around 20
205+ minutes as the ARM build is a bit slow)
206+
207+ * Post on the official account announcing the relase and linking to the
208+ now-published release notes.
0 commit comments