gorelease

command module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2020 License: ISC Imports: 14 Imported by: 0

README

license CI Go Report Card

Go Release!

A simple program to handle GitHub releases for Go repositories.

Get

go get github.com/nwillc/gorelease

Setup

Your repository should contain the following:

.version
LICENSE.md (Optional)
version/version.go (Configurable)

Your Semantic Version

The .version file should contain the semantic version tag you want to use, for example v0.1.0.

Your Code License

This file is optional, if present the text in this file will be used as a comment for the version.go files generated.

Your version.go File

This can be empty to start, gorelease will create a valid Go file basically containing:

package version

const Version = "v0.1.0"

This can be referenced in your Go as version.Version. The output target for this can be changed on the command line.

Use

Assuming you've set up as above.

  1. Commit your code in preparation for release.
  2. Update the .version file with a new version number.
  3. Run gorelease, or use a //go:generate gorelease in your code and go generate to run it.

This will:

  1. generate a new version/version.go
  2. Create a tag with the version, prepended by a v
  3. push the tag
  4. push the repository

If the push fails due to credential issues it will inform you how to do the push manually.

Options

Usage of ./gorelease:
  -dirty
    	Allow dirty repository with uncommitted files.
  -dryrun
    	Perform a dry run, no files changed or tags/files pushed.
  -output string
    	Where to put the output version.go file (default "version/version.go")
  -version
    	Display version.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL