| runpage |
| required |
dependencies |
workdir |
|
|
self |
|
Release verification for Bashly. Run this document with
runpage:
BASHLY_SITE_DIR=/path/to/bashly-book \
runpage release.md version:2.0.0
test "$(git branch --show-current)" = master && test -z "$(git status --porcelain)"
grep -Fq "VERSION = '{{ version }}'" lib/bashly/version.rb
gem list --local --exact bashly --installed --version "{{ version }}" >/dev/null
curl -fsS -o /dev/null "https://rubygems.org/gems/bashly/versions/{{ version }}"
grep -Fq "ENV BASHLY_VERSION={{ version }}" Dockerfile
docker image inspect "dannyben/bashly:{{ version }}" >/dev/null
git rev-parse --quiet --verify "refs/tags/v{{ version }}" >/dev/null
grep -Fq "v{{ version }}" CHANGELOG.md
curl -fsS -o /dev/null "https://github.com/bashly-framework/bashly/tree/v{{ version }}"
docker pull "dannyben/bashly:{{ version }}" >/dev/null
location=$(
curl -fsSI https://github.com/bashly-framework/bashly/releases/latest |
tr -d '\r' |
awk 'tolower($1) == "location:" { print $2 }' |
tail -n 1
)
test "$location" = "https://github.com/bashly-framework/bashly/releases/tag/v{{ version }}"
: "${BASHLY_SITE_DIR:?Set BASHLY_SITE_DIR to the local bashly-book checkout}"
test "$(git -C "$BASHLY_SITE_DIR" branch --show-current)" = master &&
test -z "$(git -C "$BASHLY_SITE_DIR" status --porcelain)"
: "${BASHLY_SITE_DIR:?Set BASHLY_SITE_DIR to the local bashly-book checkout}"
ruby -ryaml -e '
abort unless YAML.load_file(ARGV[0]).dig("branding", "label") == ARGV[1]
' "$BASHLY_SITE_DIR/retype.yml" "v{{ version }}"
curl -fsS "https://raw.githubusercontent.com/bashly-framework/bashly-book/master/retype.yml" |
grep -Fq "label: v{{ version }}"