1
1
mirror of https://github.com/github/semantic.git synced 2024-11-23 08:27:56 +03:00
semantic/script/publish

38 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
#/ Usage: script/publish
#/
#/ Build a docker image of the semantic CLI and publish to the GitHub Package Registry
set -e
cd $(dirname "$0")/..
VERSION="0.9.0.0"
BUILD_SHA=$(git rev-parse HEAD 2>/dev/null)
DOCKER_IMAGE=docker.pkg.github.com/github/semantic/semantic
# Set the version to the current commit sha
SED_ARGS="-i"
if [[ "$(uname -s)" = "Darwin" ]]; then
SED_ARGS="$SED_ARGS .bak"
fi
sed $SED_ARGS "s/buildSHA =.*/buildSHA = \"$BUILD_SHA\"/" src/Semantic/Version.hs
# Build
docker build -t $DOCKER_IMAGE .
# Make sure semantic is in the image.
docker run --rm $DOCKER_IMAGE --version
read -p "Do you want to publish to the GitHub Registry [y/n]? " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
# Requires that you've logged in to the GPR (e.g. `docker login docker.pkg.github.com`)
# https://help.github.com/en/articles/configuring-docker-for-use-with-github-package-registry
docker tag $DOCKER_IMAGE $DOCKER_IMAGE:latest
docker tag $DOCKER_IMAGE $DOCKER_IMAGE:$VERSION
docker tag $DOCKER_IMAGE $DOCKER_IMAGE:sha_$BUILD_SHA
docker push $DOCKER_IMAGE:sha_$BUILD_SHA
docker push $DOCKER_IMAGE:$VERSION
docker push $DOCKER_IMAGE:latest
fi