Skip to content

Latest commit

 

History

History
87 lines (62 loc) · 1.65 KB

File metadata and controls

87 lines (62 loc) · 1.65 KB
runpage
required dependencies workdir
version
git
gem
docker
curl
self

Madness release checklist

Release verification for Madness. Run this document with runpage:

runpage release.md version:1.3.1

Git is on master and clean

test "$(git branch --show-current)" = master && test -z "$(git status --porcelain)"

Code version

grep -Fq "VERSION = '{{ version }}'" lib/madness/version.rb

Local gem is installed

gem list --local --exact madness --installed --version "{{ version }}" >/dev/null

Published gem version

curl -fsS -o /dev/null "https://rubygems.org/gems/madness/versions/{{ version }}"

Dockerfile version

grep -Fq "gem install madness -v {{ version }}" Dockerfile

Local Docker image version

docker image inspect "dannyben/madness:{{ version }}" >/dev/null

Local Git tag

git rev-parse --quiet --verify "refs/tags/v{{ version }}" >/dev/null

Changelog

grep -Fq "v{{ version }}" CHANGELOG.md

GitHub tag

curl -fsS -o /dev/null "https://github.com/DannyBen/madness/tree/v{{ version }}"

Remote Docker image version

docker pull "dannyben/madness:{{ version }}" >/dev/null

GitHub release

location=$(
  curl -fsSI https://github.com/DannyBen/madness/releases/latest |
    tr -d '\r' |
    awk 'tolower($1) == "location:" { print $2 }' |
    tail -n 1
)
test "$location" = "https://github.com/DannyBen/madness/releases/tag/v{{ version }}"