2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-09-24 08:44:04 +00:00
Files
xcat-core/docs/source/developers/releases/index.rst
T
Vinícius Ferrão e654de5c4a docs(developers): describe branches, backports and the release checklist
The project had no written release process, and the 2.18 and 2.19
releases missed steps: the release table in the documentation, the
docs version, signed tags, and the wiki and website index pages.

A new Releases section describes the branch and version model, the
label and milestone that each pull request needs, and a checklist for
release candidates, publishing, the signed tag, the GitHub release, the
release notes, the website and the announcement. The build hosts, the
signing key and the publish procedure stay in the private repository of
the maintainers.
2026-09-23 18:40:49 -03:00

69 lines
2.4 KiB
ReStructuredText

Releases
========
This section describes how xCAT versions are numbered, how a fix reaches a maintained release,
and how a maintainer publishes a release.
.. toctree::
:maxdepth: 2
pull_requests.rst
checklist.rst
Branches and Versions
---------------------
xCAT has one development branch and one maintenance branch for each minor release.
* ``master`` is the development line of the next minor release.
* ``X.Y``, for example ``2.19``, is the maintenance branch of the X.Y series. It receives only
fixes that are backported from ``master``. The patch releases X.Y.1, X.Y.2 and later are tagged
on it.
The ``Version`` file at the top of the tree is the only place that holds the version.
``buildrpms.pl`` and ``builddebs.pl`` read it, and each build adds the release string
``snapYYYYMMDDHHMM`` from the commit time. A release is the build of the tagged commit. There is no
separate release build.
.. list-table::
:header-rows: 1
* - Branch
- ``Version`` holds
- Example after 2.19.0 is released
* - ``master``
- the next minor release
- ``2.20.0``
* - ``X.Y``
- the next release of the series
- ``2.19.1``
The ``release`` value in ``docs/source/conf.py`` must be the same as ``Version`` on the same
branch, because Read the Docs shows it in the title of each page. Change the two files in the same
pull request.
A released version number is never used again. The :doc:`checklist` changes ``Version`` so that
no build after a release carries the number of that release.
Tags
----
Each release has a signed annotated tag named ``X.Y.Z``, for example ``2.19.1``. The tag points at
the commit that the published packages were built from. Release candidates do not get tags,
because Read the Docs builds a documentation version for each new tag.
Package Channels
----------------
The download server has three channels under https://xcat.org/files/xcat/repos/yum/ and
https://xcat.org/files/xcat/repos/apt/:
* ``devel``: development snapshots from ``master``, in ``devel/core-snap`` and ``devel/xcat-dep``.
* ``X.Y``: the most recent release of the X.Y series. A patch release replaces the contents of
its series directory.
* ``latest``: the most recent release series. ``go-xcat`` installs from ``latest`` by default, so
when ``latest`` changes, new installations get the new release.
The offline bundles are in https://xcat.org/files/xcat/xcat-core/ and
https://xcat.org/files/xcat/xcat-dep/.