Skip to content

Release Process

E. Lynette Rayle edited this page Mar 21, 2023 · 6 revisions

1. Clean up dependencies (Removes any packages no longer in use.)

go mod tidy

2. Generate documentation to be sure it is correct

May have to install godoc first:

go get golang.org/x/tools/cmd/godoc

Generate documentation:

godoc -http=:6060 &

View generated documentation at: http://localhost:6060/pkg/github.com/github/spdx-expression/spdxexp

1. Choose a tag -> type new tag number starting with a `v` and following [Semantic Versioning](https://semver.org/) principles (e.g. v0.2.0)
2. Set title (e.g. Release v0.2.0)
3. Write release notes including sections: ([example](https://github.com/github/spdx-expression/releases/tag/v0.2.0))
    1. Overview - brief description of the primary change(s)
    2. Required Actions for Upgrading - list any steps that are required to update to this version
    3. Details - include a subsection with a description, examples, and other details for each change that impacts usage or functioning
    4. What's Changed - simple list of major changes and link to diff from previous release to this release

4. Release to go packages

When the release is published, pkg.go.dev automatically finds the new version. There is a delay, but it will happen.

5. Update README

  • if changes impact behavior, update README to reflect this
  • update the Go Reference badge to point to the new version

NOTE: Until pkg.go.dev picks up the new version, the badge will get a message that it doesn't exist. You may have the option to request the newer version.