Giter VIP home page Giter VIP logo

tool_belt's Introduction

Release Tools

Cherry Picks

After a release has been branched, managing what has been cherry picked and what hasn't can be time consuming. The cherry pick tool can take a given configuration, compare the repositories specified with the issues (and revisions) in Redmine and spit out what issues and revisions do not currently exist in the given release branch. To run this, you will need to have first defined a release configuration. Once you have a configuration you can run:

./tools.rb cherry-picks <config_file>

Changelog Generation

This will, for a given release, generate a changelog based upon the Redmine issues for that release. The changelog is broken down by features and bug fixes. Within each of those major categories, the Redmine category for issues is used to create sections. Each section contains issues attached to that category along with the title of the issue, links to the issue in Redmine and the relevant commit hashes that introduced that story to the code base.

./tools changelog <config_file>

The changelog will be generated at the root of the release environment (e.g. repos/) or within a repository that is specified within the configuration having been marked as 'main'". For example:

:repos:
  :katello:
    :main: true
    :branch: KATELLO-2.1
    :repo: https://github.com/Katello/katello.git

Release Config File

The release configuration file maintains information about the release including redmine information, repositories, and branches. An example configuration file:

---
:project: katello
:releases:
  :2.1:
    :redmine_release_id: 14
  :2.1.1:
    :redmine_release_id: 22
:code_name: Winter Warmer
:repos:
  :katello:
    :main: true
    :branch: KATELLO-2.1
    :repo: https://github.com/Katello/katello.git
  :katello-installer:
    :branch: KATELLO-2.1
    :repo: https://github.com/Katello/katello-installer.git
  :hammer-cli-katello:
    :branch: 0.0.7
    :repo: https://github.com/Katello/hammer-cli-katello.git
  :katello.org:
    :branch: KATELLO-2.1
    :repo: https://github.com/Katello/katello.org.git
  :katello-agent:
    :branch: KATELLO-2.1
    :repo: https://github.com/Katello/katello-agent.git
:ignores:
  - 7423
  - 8265
  - 7815

The :ignores list can be a list of Redmine ticket IDs, or a hash of ticket IDs to git revisions to ignore. This allows for only certain commits on a ticket to be ignored.

:ignores:
  7423:
    - d29a748f6653bcae41272d9faa1aae61a4bcfb6e
  8265:   # ignores all revisions

Koji Commands

The koji subcommands are designed to generate tags for different buildroot and tagging configurations that Katello supports today. The commands can generate new nightly buildroots for a given operating system and support automating the creation of buildroots when a new version is being released. See ./tools.rb koji --help for a list of sub commands and what each does.

tool_belt's People

Contributors

ehelms avatar akofink avatar jlsherrill avatar domcleal avatar pcreech avatar zjhuntin avatar beav avatar stbenjam avatar cpeters avatar

Watchers

James Cloos avatar Jonathon Turel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.