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 --version
andman mlr
:- Edit
internal/pkg/version/version.go
from6.2.0-dev
to6.3.0
. - Edit
miller.spec
:Version
, andchangelog
entry - Run
make dev
in the Miller repo base directory - The ordering in this makefile rule is important: the first build creates
mlr
; the second runsmlr
to createmanpage.txt
; the third includesmanpage.txt
into one of its outputs. - Commit and push.
- Edit
-
Create the release tarball:
make release_tarball
- This creates
miller-6.3.0.tar.gz
which 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
v
inv6.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.gz
file but it's nice to attach a.zip
from 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
brew
pull 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 xxx
withxxx
fromshasum -a 256 miller-6.2.0.tar.gz
.
- Submit
-
Afterwork:
- Edit
internal/pkg/version/version.go
to change version from6.3.0
to6.3.0-dev
. make dev
- Commit and push.
- Edit