Git Product home page Git Product logo

helm-changelog's Introduction

helm-changelog

Build Status Go Report Card

Create changelogs for Helm Charts, based on git history.

The application depends on the assumption that the helm chart is released on the first commit where the version number is bumped in the Chart.yaml file.

All sub-sequent commits are grouped as commits for the next release, until the version number is bumped again.

Features

The changelog contains the following things:

  • Commits are grouped by releases
  • Each release displays
    • Supported Helm version
    • Release date
    • App Version for the chart
    • Supported Kubernetes version
  • Changes in default helm values

Examples

This repository contains a set of example changelogs created for the github.com/prometheus-community/helm-charts charts.

Installation

All relevant commands are added to the Makefile

$ make help

Usage:
  make <target>

Targets:
  help                  Display this help
  test-unit             Run unit-tests
  test-integration      Run integration-tests
  build                 Build binary
  verify                tests and builds
  image                 build docker image
  clean                 clean up created files
  all                   Runs test, build and docker
  test-coverage         Generate test coverage report
  lint                  Generate static analysis report
  update-docs           Upgrade automatic documentations

Run Standalone

First build the standalone binary:

$ make build
go build -o ./bin/helm-changelog .

This results in a binary in ./bin/helm-changelog.

# See all cli options
$ ./bin/helm-changelog --help
Create changelogs for Helm Charts, based on git history

Usage:
  helm-changelog [flags]

Flags:
  -h, --help               help for helm-changelog
  -v, --verbosity string   Log level (debug, info, warn, error, fatal, panic (default "warning")

# Run helm-changelog creator with default params
$ ./bin/helm-changelog

Run in Docker

The helm-changelog can alternatively be run in docker.

This is done in a multi-stage build, and does not require a working go development environment.

# Building the application and docker image
$ make image

# Run the resulting docker image
$ docker run -it --rm -v $(pwd):/data mogensen/helm-changelog:latest

The helm-changelog app is running as a non-root user. This is a security best-practice. If user 1000 does not have write access to the chart directory, you may need to run the container as an other user.

# Run docker image as current user
$ docker run --user $UID it --rm -v $(pwd):/data mogensen/helm-changelog:latest

Testing

Running Unit Tests

Unit tests are implemented with Go's standard test framework.

All tests are located in their own test-packages, enforcing that the tests only test the public interface of the go packages.

# Run unit tests and code coverage, including test for race conditions
$ make test-coverage

helm-changelog's People

Contributors

mogensen avatar dwerder avatar juckerf avatar jitterjuice 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.