-
Notifications
You must be signed in to change notification settings - Fork 53
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: add 0003-release-management.rst decision
- Loading branch information
1 parent
da59e72
commit ddb27ec
Showing
1 changed file
with
67 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
Translation Releses branches and tags | ||
##################################### | ||
|
||
Status | ||
****** | ||
|
||
Pending. | ||
|
||
Context | ||
******* | ||
Open edX platform uses release branches and tags to make reproducible builds. | ||
Branching and versioning strategy varies between repos such as ``edx-platform``, ``tutor`` | ||
and other repositories with `Named Releases <https://docs.openedx.org/en/latest/community/release_notes/named_release_branches_and_tags.html>`_ | ||
being the common theme across all repositories. | ||
|
||
Problem | ||
******* | ||
With `OEP-58`, translations are de-coupled from code and lives in its own versioned repository -- this ``openedx/openedx-translations`` repository. | ||
|
||
Therefore, translations are constantly updated even after releases are cut e.g. ``open-release/quince.master`` | ||
and tagged ``open-release/quince.1``. | ||
|
||
Tutor and other build systems encourage tagging to create reproducible builds. | ||
|
||
This repository needs an automated release management workflow which | ||
don't need an engineer to manually cut a translations release. | ||
|
||
|
||
Release branches | ||
**************** | ||
|
||
On every release cut, we propose to to create a branch in this repository in the following format: | ||
|
||
- ``open-release/quince.master`` for Quince release only. | ||
- ``release/redwood`` for Redwood and other releases if the Build Test Release Working Group decides on the shorter naming. | ||
|
||
|
||
For each new named-release a new Transifex project is created by creating a copy from the | ||
`openedx-translations Transifex project`_ to a new one e.g. | ||
|
||
``https://app.transifex.com/open-edx/``**``openedx-translations-quince``**``/content/`` to capture a point-in-time source translations and | ||
set up sync with the `Transifex GitHub App`_ for the specific `open-release/quince.master`` branch on the | ||
https://github.com/openedx/openedx-translations repository. | ||
|
||
Daily release tags | ||
****************** | ||
|
||
Set up automated daily workflow to create tags for both | ||
``main`` and release branches (e.g. ``release/redwood``) to capture | ||
a point-in-time translations content. | ||
|
||
The proposed naming for those branches is the following: | ||
|
||
- ``main`` is tagged daily on the following tag format: ``release/main/2024-01-24`` | ||
- ``release/redwood`` is tagged daily with the following tag format: ``release/redwood/2024-01-24`` | ||
|
||
Release end of life | ||
******************* | ||
|
||
Both of the release automated and Transifex projects are maintained for the last 5 of named releases. | ||
After that the automated is ceased for the unsupported releases and the Transifex projects are deleted. | ||
|
||
Operators of older releases are asked to maintain their own forks of this repository. | ||
|
||
.. _OEP-58: https://open-edx-proposals.readthedocs.io/en/latest/architectural-decisions/oep-0058-arch-translations-management.html | ||
.. _Transifex GitHub App: https://github.com/apps/transifex-integration | ||
.. _openedx-translations Transifex project: https://app.transifex.com/open-edx/openedx-translations/content |