Quick links:
Flags
Verbs
Functions
Glossary
Release docs
How to create a new release¶
This is my checklist for making new releases.
In this example I am using version 6.2.0 to 6.3.0; of course that will change for subsequent revisions.
-
Update version found in
mlr --versionandman mlr:- Edit
internal/pkg/version/version.gofrom6.2.0-devto6.3.0. - Edit
miller.spec:Version, andchangelogentry - Run
make devin the Miller repo base directory - The ordering in this makefile rule is important: the first build creates
mlr; the second runsmlrto createmanpage.txt; the third includesmanpage.txtinto one of its outputs. - Commit and push.
- Edit
-
Create the release tarball:
make release_tarball- This creates
miller-6.3.0.tar.gzwhich we'll upload to GitHub, the URL of which will be in ourmiller.spec - Prepare the source RPM following README-RPM.md.
-
Create the Github release tag:
- Don't forget the
vinv6.3.0 - Write the release notes
- Get binaries from latest successful build from https://github.com/johnkerl/miller/actions, or, build them on buildboxes. Note that thanks to PR 822 which introduces goreleaser there are versions for many platforms auto-built and auto-attached to the GitHub release (below). The only exception is for Windows: goreleaser makes a
.tar.gzfile but it's nice to attach a.zipfrom GitHub actions for the benefit of Windows users. - Attach the release tarball, Windows
.zip, and SRPM. Double-check assets were successfully uploaded. - Publish the release in draft mode, until all CI jobs finish successfully. Note that gorelease will create and attach the rest of the binaries.
- Then mark the release as public.
- Don't forget the
-
Check the release-specific docs:
- Look at https://miller.readthedocs.io for new-version docs, after a few minutes' propagation time. Note this won't work until Miller 6 is released.
-
Notify:
- Submit
brewpull request; notify any other distros which don't appear to have autoupdated since the previous release (notes below) - Similarly for
macports: https://github.com/macports/macports-ports/blob/master/textproc/miller/Portfile - See also README-versions.md -- distros usually catch up over time but some contacts/pings never hurt to kick-start processes after owners move on from a project they started.
- Social-media updates.
- Brew notes:
- How to submit a version upgrade
brew bump-formula-pr --force --strict miller --url https://github.com/johnkerl/miller/releases/download/v6.2.0/miller-6.2.0.tar.gz --sha256 xxxwithxxxfromshasum -a 256 miller-6.2.0.tar.gz.
- Submit
-
Afterwork:
- Edit
internal/pkg/version/version.goto change version from6.3.0to6.3.0-dev. make dev- Commit and push.
- Edit