aboutsummaryrefslogtreecommitdiff
path: root/misc/boring/release.sh
diff options
context:
space:
mode:
Diffstat (limited to 'misc/boring/release.sh')
-rwxr-xr-xmisc/boring/release.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/misc/boring/release.sh b/misc/boring/release.sh
new file mode 100755
index 00000000000..457ab39039d
--- /dev/null
+++ b/misc/boring/release.sh
@@ -0,0 +1,34 @@
+#! /bin/bash
+set -euo pipefail
+
+if [ "$#" -eq 0 ]; then
+ echo "usage: <target branch> [<target branch> ...]"
+ echo ""
+ echo "example: release.sh dev.boringcrypto.go1.11 dev.boringcrypto.go1.12"
+ exit 1
+fi
+
+# Check that the Docker daemon is available.
+docker ps > /dev/null
+
+WORKTREE="$(mktemp -d)"
+BRANCH="boring/release-$(date +%Y%m%d%H%M%S)"
+
+git fetch
+git worktree add --track -b "$BRANCH" "$WORKTREE" origin/dev.boringcrypto
+
+cd "$WORKTREE/src"
+./make.bash
+
+cd ../misc/boring
+for branch in "$@"; do
+ ./build.release "origin/$branch"
+ ./build.docker
+done
+
+git add RELEASES
+git commit -m "misc/boring: add new releases to RELEASES file"
+git codereview mail -r katie@golang.org,roland@golang.org,filippo@golang.org -trust
+
+rm *.tar.gz
+cd - && git worktree remove "$WORKTREE"