https://github.com/stackhpc/naming-things-is-hard
Tools for versioning and tagging software
https://github.com/stackhpc/naming-things-is-hard
Last synced: 4 days ago
JSON representation
Tools for versioning and tagging software
- Host: GitHub
- URL: https://github.com/stackhpc/naming-things-is-hard
- Owner: stackhpc
- Created: 2019-05-10T16:16:47.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2025-12-10T12:48:00.000Z (6 months ago)
- Last Synced: 2025-12-10T16:44:41.003Z (6 months ago)
- Language: Python
- Size: 30.3 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
Awesome Lists containing this project
README
=====================
Naming Things is Hard
=====================
Tools for versioning, tagging and maintaining OpenStack source code repository
forks.
Versioning
==========
We typically use the following patterns to manage downstream software.
Branches
Use ````. For the ``stackhpc`` Github organisation,
the prefix is ``stackhpc/``. The release is a lower case name of the
OpenStack release. For the Rocky releae, we use ``stackhpc/rocky``.
The corresponding upstream branch (e.g. ``stable/rocky``) is periodically
merged into the fork.
Versions
Use ``.``. For the ``stackhpc`` Github
organisation, the prefix is ``stackhpc/``. The upstream version is taken
from the most recent upstream tag on the stable branch. The patch number is
a monotonically increasing number, starting at 1. When a new upstream tag
is released, the patch number resets to 1. For example, with an upstream
version of ``3.2.1``, we start our versioning at ``stackhpc/3.2.1.1``.
Tools
=====
``os-cherry-pop.py``
Proposes a list of downstream patches to cherry pick for a new release
branch. The list is generated based on the downstream patches in a previous
release, and accounts for patches that have been merged into the new
release. It also looks for newer versions of a patch on later branches.
``os-downstream-tag.py``
Determines an appropriate version to assign to a downstream fork of an
OpenStack project, then creates a tag and pushes it to the downstream
repository.
``os-upstream-sync.py``
Syncs a downstream fork of an OpenStack project with upstream. A new branch
is created for the sync, on which the branches are merged, before being
pushed to the downstream repository.