diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 16:04:21 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 16:04:21 +0000 |
commit | 8a754e0858d922e955e71b253c139e071ecec432 (patch) | |
tree | 527d16e74bfd1840c85efd675fdecad056c54107 /docs/docsite/rst/dev_guide/core_branches_and_tags.rst | |
parent | Initial commit. (diff) | |
download | ansible-core-upstream.tar.xz ansible-core-upstream.zip |
Adding upstream version 2.14.3.upstream/2.14.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'docs/docsite/rst/dev_guide/core_branches_and_tags.rst')
-rw-r--r-- | docs/docsite/rst/dev_guide/core_branches_and_tags.rst | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/docs/docsite/rst/dev_guide/core_branches_and_tags.rst b/docs/docsite/rst/dev_guide/core_branches_and_tags.rst new file mode 100644 index 0000000..aaef4aa --- /dev/null +++ b/docs/docsite/rst/dev_guide/core_branches_and_tags.rst @@ -0,0 +1,58 @@ +.. _core_branches_and_tags: + +****************************************** +``ansible-core`` project branches and tags +****************************************** + +``devel`` branch +================ + +All new development on the next version of ``ansible-core`` occurs exclusively in the ``devel`` branch, +and all bugfixes to prior releases must first be merged to devel before being backported to one or more stable branches +for inclusion in servicing releases. Around the Beta 1 milestone, a new ``stable-X.Y`` branch is cut from ``devel``, +which is then updated to host development of the ``X.Y+1`` release. External automated testing of Ansible content from +``devel`` is not generally recommended. + +``stable-X.Y`` branches +======================= + +All ``ansible-core`` ``X.Y.Z`` releases are created from a corresponding ``stable-X.Y`` branch. A +release's stable branch is typically cut from ``devel`` around ``X.Y.0 beta 1`` (when the release is feature complete). +All further bugfixes (no enhancements!) must be made against ``devel`` and backported to applicable stable branches. + +``vX.Y.Z`` tags +=============== + +Each ``ansible-core vX.Y.Z`` release is tagged from the release commit in the corresponding ``stable-X.Y`` branch, +allowing access to the exact source used to create the release. As of ``ansible-core`` 2.13, the auto-generated GitHub +tarball of the tag contents is considered the official canonical release artifact. + + +.. _milestone_branch: + +``milestone`` branch +==================== + +A ``milestone`` branch is a slow-moving stream of the ``devel`` branch, intended for external testing of ``ansible-core`` +features under active development. As described in the :ref:`ansible_core_roadmaps` for a given release, development is +typically split into three phases of decreasing duration, with larger and more invasive changes targeted to be merged to +``devel`` in earlier phases. The ``milestone`` branch is updated to the contents of ``devel`` at the end of each +development phase. This allows testing of semi-stable unreleased features on a predictable schedule without the exposure +to the potential instability of the daily commit "fire hose" from ``devel``. When a release reaches the Beta 1 milestone, +the ``milestone`` branch will be updated to the first ``devel`` commit after the version number has been increased. +Further testing of the same release should be done from the new ``stable-X.Y`` branch that was created. If a severe issue +that significantly affects community testing or stability is discovered in the ``milestone`` branch, the branch contents +may require unscheduled adjustment, but not in a way that prevents fast-forward updates (for example, ``milestone``-only +commits will not be created or cherry-picked from ``devel``). + +The following example is for illustrative purposes only. See the :ref:`ansible_core_roadmaps` for accurate dates. For example, the ``milestone`` branch in 2.13 ``ansible-core`` roadmap updated as follows: + +* 27-Sep-2021: 2.13 Development Phase 1 begins; ``milestone`` contents are updated to 2.12.0b1 with version number set to + ``2.13.0.dev0``. Automated content testing that includes version-specific ignore files (e.g., ``ignore-2.12.txt``) + should copy them for the current version (e.g., ``ignore-2.13.txt``) before this point to ensure that automated sanity + testing against the ``milestone`` branch will continue to pass. +* 13-Dec-2021: 2.13 Development Phase 2 begins; ``milestone`` contents are updated to the final commit from Development Phase 1 +* 14-Feb-2022: 2.13 Development Phase 3 begins; ``milestone`` contents are updated to the final commit from Development Phase 2 +* 11-Apr-2022: ``stable-2.13`` branch created with results from Development Phase 3 and freeze. ``2.13.0b1`` is released from + ``stable-2.13``. Automated content testing should continue 2.13 series testing against the new branch. The ``devel`` + version number is updated to ``2.14.0.dev0``, and ``milestone`` is updated to that point. |