============= Release Tools ============= A set of tools used in the StarlingX release process past, current and future... ``branch-repo.sh`` - Derived from the older ``branch-stx.sh`` to support reading a list of repos, paths and SHAs from stdin, usually the output of ``build-context.py``. This simplifies the creation of branching based on a specific build using the CONTEXT.sh file generated by the build system. ``build-context.py`` - Takes a manifest file and an optional CONTEXT.sh file to produce a list of repositories and their paths and SHAs that represent a specific build. This can be fed directly into ``branch-repo.sh`` to create branches corresponding to that specific build. (This is in Python completely due to combining XML and the joys of dict-like manipulation in shell.) Examples -------- Here is an example of creating a new branch named 'r/stx.2.0' and tag 'v2.0.0.rc0' from the lastest green build context at the time: :: release/build-context.py \ --remote starlingx \ --context https://mirror.starlingx.windriver.com/mirror/starlingx/master/centos/latest_green_build/outputs/CONTEXT.sh \ https://opendev.org/starlingx/manifest/raw/branch/master/default.xml | \ release/branch-repo.sh -b r/stx.2.0 -t v2.0.0.rc0 Older Scripts ============= branch-stx.sh - Shell script previously used to create release and milestone branches. This has a number of assumptions baked in regarding branch and tag names. get-repo.sh - Called from ``branch-stx.sh`` to read the XML manifest and extract repo names from specific remotes. This has totally been absorbed into ``build-context.py``.