summaryrefslogtreecommitdiffhomepage
path: root/.circleci/release.sh
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2018-05-13 10:42:46 -0700
committerSean Whitton <spwhitton@spwhitton.name>2018-05-13 10:42:46 -0700
commitb3102087ce4cfceb395ce981c4ac167a9d6b7642 (patch)
tree1feb8e3fd4a877a765afa6efa6c2a3be35dcbd7a /.circleci/release.sh
parent01298b15d95aec5945be8c5839045763d57657fc (diff)
parent7fac380bd83d51191e223560449d808e323d7ca6 (diff)
downloadstylish-haskell-b3102087ce4cfceb395ce981c4ac167a9d6b7642.tar.gz
Merge tag 'v0.9.2.0'
v0.9.2.0
Diffstat (limited to '.circleci/release.sh')
-rwxr-xr-x.circleci/release.sh44
1 files changed, 44 insertions, 0 deletions
diff --git a/.circleci/release.sh b/.circleci/release.sh
new file mode 100755
index 0000000..5586d24
--- /dev/null
+++ b/.circleci/release.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+set -o nounset -o errexit -o pipefail
+
+TAG="$1"
+SUFFIX="linux-$(uname -m)"
+USER="jaspervdj"
+REPOSITORY="$(basename -- *.cabal ".cabal")"
+BINARY="$REPOSITORY"
+
+echo "Tag: $TAG"
+echo "Suffix: $SUFFIX"
+echo "Repository: $REPOSITORY"
+
+$BINARY --version
+
+if [[ -z "$TAG" ]]; then
+ echo "Not a tagged build, skipping release..."
+ exit 0
+fi
+
+# Install ghr
+GHR_VERSION="v0.5.4"
+wget --quiet \
+ "https://github.com/tcnksm/ghr/releases/download/${GHR_VERSION}/ghr_${GHR_VERSION}_linux_386.zip"
+unzip ghr_${GHR_VERSION}_linux_386.zip
+
+# Install upx
+UPX_VERSION="3.94"
+wget --quiet \
+ "https://github.com/upx/upx/releases/download/v${UPX_VERSION}/upx-${UPX_VERSION}-amd64_linux.tar.xz"
+tar xf upx-${UPX_VERSION}-amd64_linux.tar.xz
+mv upx-${UPX_VERSION}-amd64_linux/upx .
+
+# Create tarball
+PACKAGE="$REPOSITORY-$TAG-$SUFFIX"
+mkdir -p "$PACKAGE"
+cp "$(which "$BINARY")" "$PACKAGE"
+./upx -q "$PACKAGE/$BINARY"
+cp CHANGELOG* LICENSE* README* "$PACKAGE"
+tar -czf "$PACKAGE.tar.gz" "$PACKAGE"
+rm -r "$PACKAGE"
+
+# Actually upload
+./ghr -u "$USER" -r "$REPOSITORY" "$TAG" "$PACKAGE.tar.gz"