<pre style='margin:0'>
Clemens Lang (neverpanic) pushed a commit to branch master
in repository macports-infrastructure.

</pre>
<p><a href="https://github.com/macports/macports-infrastructure/commit/bfa30c99e431a4eaf75333319914faf07e8ed911">https://github.com/macports/macports-infrastructure/commit/bfa30c99e431a4eaf75333319914faf07e8ed911</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new bfa30c9  Add script to deploy and update the Go PR bot
</span>bfa30c9 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit bfa30c99e431a4eaf75333319914faf07e8ed911
</span>Author: Clemens Lang <neverpanic@gmail.com>
AuthorDate: Sat Jul 22 14:48:38 2017 +0200

<span style='display:block; white-space:pre;color:#404040;'>    Add script to deploy and update the Go PR bot
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    We want to automate deployment and updating of the Go pull request
</span><span style='display:block; white-space:pre;color:#404040;'>    handling bot developed by Zero King during Google Summer of Code 2017.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Provide a script that will fetch and build the latest version and update
</span><span style='display:block; white-space:pre;color:#404040;'>    a symlink that always points to the latest version to run.
</span>---
 jobs/build_deploy_prbot.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/jobs/build_deploy_prbot.sh b/jobs/build_deploy_prbot.sh
</span>new file mode 100755
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..261f993
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/jobs/build_deploy_prbot.sh
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,50 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#!/usr/bin/env bash
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set -euo pipefail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if [ -z "${GOPATH:-}" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   printf >&2 "You must set \$GOPATH to the go workspace you want to use before calling this script.\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   exit 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MPBOT_PACKAGE_NAME=github.com/macports/mpbot-github
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MPBOT_GITHUB_SRC=$GOPATH/src/$MPBOT_PACKAGE_NAME
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PRBOT_CURRENT=$GOPATH/bin/prbot-current
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PRBOT_NEXT=$GOPATH/bin/prbot-next
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Set up GOPATH, fetch or update source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mkdir -p "$GOPATH/src/github.com/mapcorts"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if [ -d "$MPBOT_GITHUB_SRC" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   git -C "$MPBOT_GITHUB_SRC" fetch --quiet || true # Ignore network problems assuming they are temporary
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   git -C "$MPBOT_GITHUB_SRC" reset --quiet --hard origin/master
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   git clone --quiet "https://$MPBOT_PACKAGE_NAME" "$MPBOT_GITHUB_SRC"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Find out whether there are new changes to be deployed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+HEADREV=$(git -C "$MPBOT_GITHUB_SRC" rev-parse HEAD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if [ -z "$HEADREV" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   printf >&2 "Could not determine head revision of Git repository %s\n" "$MPBOT_GITHUB_SRC"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   exit 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CURRENTREV=""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if [[ $(readlink "$PRBOT_CURRENT") =~ .*-([0-9a-f]+)$ ]]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CURRENTREV=${BASH_REMATCH[1]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if [ "$HEADREV" = "$CURRENTREV" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   printf "Revision %s is already the newest revision. Nothing to do.\n" "$CURRENTREV"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   exit 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Get dependencies
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+go get -u "$MPBOT_PACKAGE_NAME/pr/prbot"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+go install "$MPBOT_PACKAGE_NAME/pr/prbot"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Update symlink
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mv "$GOPATH/bin/prbot" "$GOPATH/bin/prbot-$HEADREV"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+rm -f "$PRBOT_NEXT"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ln -s "prbot-$HEADREV" "$PRBOT_NEXT"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mv -f "$PRBOT_NEXT" "$PRBOT_CURRENT"
</span></pre><pre style='margin:0'>

</pre>