GithubHelp home page GithubHelp logo

isabella232 / release-tool Goto Github PK

View Code? Open in Web Editor NEW

This project forked from containerd/release-tool

0.0 0.0 0.0 1.86 MB

A release tool for generating detailed release notes

License: Apache License 2.0

Go 100.00%

release-tool's Introduction

release-tool

Build Status

A release tool for generating detailed release notes

The release-tool utility is maintained as a separate repository to reduce duplication across the various release branches of the main containerd/containerd repository where it is used to cut release notes and project data to aid release engineers.

The release tool is designed to be project agnostic and useful for any project.

How to use

Run release-tool from the project root directory with the release commit checked out. Prepare and provide a template file to generate the release notes, it is recommended that each release have its own file containing the release notes.

Command line

Use the following command to generate release notes for v1.0.0 using the recommended location for the template. The release notes will be outputted to stdout.

$ release-tool -l -d -n -t v1.0.0 ./releases/v1.0.0.toml

This command uses the -n, or dry run mode, option to generate the release notes to stdout rather than create the release tag.

Also -l converts the changelog commits to markdown style links to Github.

To create the tag, use git tag with the output from the previous command

git tag --cleanup=whitespace -s v1.0.0 -F /tmp/release-tool-ouput

Use --cleanup=whitespace to prevent the git tag command from treating # generated for the markdown as comments.

NOTE: It is recommended to use dry run mode, review the output, then create the tag in git. Currently the tool does not support creating the tag, so -n is required.

Template

The template file uses TOML, here is a basic example

# commit to be tagged for new release
commit = "HEAD"

# project_name is used to refer to the project in the notes
project_name = "release tool"

# github_repo is the github project, only github is currently supported
github_repo = "containerd/release-tool"

# match_deps is a pattern to determine which dependencies should be included
# as part of this release. The changelog will also include changes for these
# dependencies based on the change in the dependency's version.
match_deps = "^github.com/(containerd/[a-zA-Z0-9-]+)$"

# previous release of this project for determining changes
previous = "v0.9.0"

# pre_release is whether to include a disclaimer about being a pre-release
pre_release = false

# preface is the description of the release which precedes the author list
# and changelog. This description could include highlights as well as any
# description of changes. Use markdown formatting.
preface = """\
This is the first release"""

Project details

release-tool is a containerd sub-project, licensed under the Apache 2.0 license. As a containerd sub-project, you will find the:

information in our containerd/project repository.

release-tool's People

Contributors

akihirosuda avatar chenrui333 avatar crosbymichael avatar dmcgowan avatar dnephin avatar estesp avatar gliptak avatar haircommander avatar kunalkushwaha avatar runcom avatar stevvooe avatar sudeeshjohn avatar thajeztah avatar zhsj 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.