Skip to content

Release process

Nick Irvine edited this page Nov 9, 2018 · 3 revisions

Cutting a release

# TODO: automate some/all of this
cat > rough-changelog <<EOF
#!/bin/bash

repo_url="https://github.com/segmentio/chamber"
commit_url_base="${repo_url}/commit/"
prev=v2.2.0
current=master
excludes=(
  ":(exclude)README.md" \
  ":(exclude)vendor" \
  ":(exclude)Makefile*" \
  ":(exclude).circle" \
  ":(exclude)nfpm.yaml.tmpl" \
  ":(exclude)circle.yml" \
  ":(exclude).circleci" \
  ":(exclude).gitignore" \
)

git log --pretty=format:"## [[%h](${commit_url_base}/%H)] %s (%an)%n%n%b%n"   "${prev}..${current}" -- \
  . \
  ${excludes}
EOF
mv CHANGELOG.md CHANGELOG.md.old
(bash rough-changelog ; cat CHANGELOG.md.old ) > CHANGELOG.md  
vi CHANGELOG.md
git add CHANGELOG.md
git commit
git tag $tag
git push

CI will publish a Github release with your tag. Edit this release. Copy the release notes in.

Clone this wiki locally