Skip to content

Commit 85bd632

Browse files
Merge pull request #8 from freedomofpress/release-mgmt
Update release management guidelines
2 parents ed94a5e + a74db7d commit 85bd632

File tree

4 files changed

+41
-19
lines changed

4 files changed

+41
-19
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
SecureDrop is an open-source whistleblower submission system that media organizations can use to securely accept documents from, and communicate with anonymous sources. It was originally created by the late Aaron Swartz and is currently managed by the [Freedom of the Press Foundation](https://freedom.press).
66

7-
This is repository is still in beta. It will eventually be used to build the [public documentation](https://docs.securedrop.org/en/stable/) for SecureDrop.
7+
This repository is used to build the [public documentation](https://docs.securedrop.org/en/stable/) for SecureDrop.
88

99
## Quickstart
1010

docs/development/documentation_guidelines.rst

+7-7
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ To get started editing the docs:
2525
2626
pip install --no-deps --require-hashes -r securedrop/requirements/python3/develop-requirements.txt
2727
28-
.. include:: ../includes/virtualenv.txt
28+
.. include:: ../includes/virtualenv.txt
2929

3030
3. Build the docs for viewing in your web browser:
3131

@@ -75,13 +75,13 @@ To update these screenshots automatically you can run:
7575

7676
.. code:: sh
7777
78-
make update-user-guides
78+
DOCS_REPO_DIR=/path/to/docs make update-user-guides
7979
8080
This will generate screenshots for each page in the web application and copy
81-
them to the folder under ``docs/images/manual/screenshots`` where they will
82-
replace the existing screenshots. Stage for commit any screenshots you wish to
83-
update. If you wish to update all screenshots, simply stage for commit all
84-
changed files in that directory.
81+
them to the folder ``docs/images/manual/screenshots`` in your documentation
82+
repository checkout, where they will replace the existing screenshots. Stage for
83+
commit any screenshots you wish to update. If you wish to update all screenshots,
84+
simply stage for commit all changed files in that directory.
8585

8686
Integration with Read the Docs
8787
------------------------------
@@ -190,4 +190,4 @@ Capitalize all section headings in title case:
190190
================
191191
192192
Read the docs
193-
-------------
193+
-------------

docs/development/i18n.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ repo root:
207207
208208
$ git checkout -b i18n-merge origin/develop
209209
$ securedrop/bin/dev-shell ./i18n_tool.py --verbose update-from-weblate
210-
$ securedrop/bin/dev-shell ./i18n_tool.py --verbose update-docs
210+
$ securedrop/bin/dev-shell ./i18n_tool.py --verbose update-docs --docs-repo-dir /path/to/documentation
211211
212212
You now have the latest translations on your ``i18n-merge`` branch.
213213

docs/development/release_management.rst

+32-10
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,14 @@ Pre-Release
176176
is done, ensure that no changes involving string changes are
177177
backported into the release branch.
178178

179-
* Ensure that a draft of the release notes are prepared and shared
180-
with the community for feedback.
179+
* Work with the Communications Manager to ensure that a draft of the release
180+
notes are prepared and shared for review, and that a draft PR is prepared
181+
into the ``securedrop-docs`` repository which:
182+
183+
- bumps the SecureDrop version of the documentation using the ``update_version.sh``
184+
script in that repository;
185+
- adds upgrade instructions and other release-specific technical documentation;
186+
- updates the screenshots, if warranted;
181187

182188
Release Process
183189
---------------
@@ -262,16 +268,32 @@ Release Process
262268
``apt.freedom.press``.
263269
#. The reviewer must delete the ``release`` branch so that it can be re-created
264270
during the next release.
265-
#. Update the `public documentation <https://docs.securedrop.org/en/stable>`_ by
266-
synchronising the ``stable`` branch with the release branch:
271+
#. Update the `public documentation <https://docs.securedrop.org/>`_:
272+
273+
* Review and merge the ``securedrop-docs`` PR that bumps the version and adds
274+
the upgrade documentation for this release.
275+
276+
* Verify that there are no changes on the ``main`` branch of ``securedrop-docs``
277+
that should not be released into the stable version of the documentation.
278+
279+
If necessary, you can create a branch from an earlier commit. Follow the
280+
``release/<major>.<minor>.<patch>`` convention for the branch name in
281+
``securedrop-docs``, and cherry-pick at least the changes from the PR above
282+
onto it via a backport PR.
283+
284+
* Create a tag signed with your developer key in the format
285+
``<major>.<minor>.<patch>`` on the ``HEAD`` of the ``main`` branch or of the
286+
docs release branch you created in the previous step. ::
287+
288+
git tag -as <major>.<minor>.<patch>
289+
git push origin <major>.<minor>.<patch>
267290

268-
* If a repository maintainer is available, remove the branch protection on
269-
the ``stable`` branch, hard-reset it to the release branch, and force push
270-
``stable``. Then restore branch protection on ``stable``.
291+
This will update the stable version of the documentation.
271292

272-
* If a maintainer is not available, create a PR with the release branch
273-
changes using ``stable`` as the base. Version number updates will cause
274-
conflicts which must be resolved manually before issuing the PR.
293+
* Subsequent changes to the stable version should be tagged with PEP-440
294+
conformant `post-release separators <https://www.python.org/dev/peps/pep-0440/#post-release-separators>`__
295+
in the format ``<major>.<minor>.<patch>-1``, ``<major>.<minor>.<patch>-2``,
296+
and so on.
275297

276298
#. Verify that the public documentation has been updated, by checking the
277299
`ReadTheDocs build history <https://readthedocs.org/projects/securedrop/builds/>`_.

0 commit comments

Comments
 (0)