From bc1a456264266191742db829989be27ee569df34 Mon Sep 17 00:00:00 2001 From: kumavis Date: Fri, 30 Mar 2018 17:20:48 -0700 Subject: [PATCH] ci - build:announce - replace bash qith js because of string escaping nightmare --- development/metamaskbot-build-announce.js | 52 +++++++++++++++++++++++ development/metamaskbot-build-announce.sh | 34 --------------- 2 files changed, 52 insertions(+), 34 deletions(-) create mode 100755 development/metamaskbot-build-announce.js delete mode 100755 development/metamaskbot-build-announce.sh diff --git a/development/metamaskbot-build-announce.js b/development/metamaskbot-build-announce.js new file mode 100755 index 000000000..e867d797e --- /dev/null +++ b/development/metamaskbot-build-announce.js @@ -0,0 +1,52 @@ +#!/usr/bin/env node +const request = require('request-promise') +const { version } = require('../dist/chrome/manifest.json') + +const GITHUB_COMMENT_TOKEN = process.env.GITHUB_COMMENT_TOKEN +console.log('GITHUB_COMMENT_TOKEN', GITHUB_COMMENT_TOKEN) +const CIRCLE_PULL_REQUEST = process.env.CIRCLE_PULL_REQUEST +console.log('CIRCLE_PULL_REQUEST', CIRCLE_PULL_REQUEST) +const CIRCLE_SHA1 = process.env.CIRCLE_SHA1 +console.log('CIRCLE_SHA1', CIRCLE_SHA1) +const CIRCLE_BUILD_NUM = process.env.CIRCLE_BUILD_NUM +console.log('CIRCLE_BUILD_NUM', CIRCLE_BUILD_NUM) + +const CIRCLE_PR_NUMBER = CIRCLE_PULL_REQUEST.split('/').pop() +const SHORT_SHA1 = CIRCLE_SHA1.slice(0,7) +const BUILD_LINK_BASE = `https://${CIRCLE_BUILD_NUM}-42009758-gh.circle-artifacts.com/0` + +const MASCARA = `${BUILD_LINK_BASE}/builds/mascara/home.html` +const CHROME = `${BUILD_LINK_BASE}/builds/metamask-chrome-${version}.zip` +const FIREFOX = `${BUILD_LINK_BASE}/builds/metamask-firefox-${version}.zip` +const EDGE = `${BUILD_LINK_BASE}/builds/metamask-edge-${version}.zip` +const OPERA = `${BUILD_LINK_BASE}/builds/metamask-opera-${version}.zip` +const WALKTHROUGH = `${BUILD_LINK_BASE}/test-artifacts/screens/walkthrough%20%28en%29.gif` + +const commentBody = ` +
+ + Builds ready [${SHORT_SHA1}]: + mascara, + chrome, + firefox, + edge, + opera + + +
+` + +const JSON_PAYLOAD = JSON.stringify({ body: commentBody }) +const POST_COMMENT_URI = `https://api.github.com/repos/metamask/metamask-extension/issues/${CIRCLE_PR_NUMBER}/comments` +console.log(`Announcement:\n${commentBody}`) +console.log(`Posting to: ${POST_COMMENT_URI}`) + +request({ + method: 'POST', + uri: POST_COMMENT_URI, + body: JSON_PAYLOAD, + headers: { + 'User-Agent': 'metamaskbot', + 'Authorization': `token ${GITHUB_COMMENT_TOKEN}`, + }, +}) diff --git a/development/metamaskbot-build-announce.sh b/development/metamaskbot-build-announce.sh deleted file mode 100755 index 52dd24c93..000000000 --- a/development/metamaskbot-build-announce.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -CIRCLE_PR_NUMBER="${CIRCLE_PR_NUMBER:-${CIRCLE_PULL_REQUEST##*/}}" -SHORT_SHA1=$(echo $CIRCLE_SHA1 | cut -c 1-7) -BUILD_LINK_BASE="https://$CIRCLE_BUILD_NUM-42009758-gh.circle-artifacts.com/0" -VERSION=$(node -p 'require("./dist/chrome/manifest.json").version') - -MASCARA="$BUILD_LINK_BASE/builds/mascara/home.html" -CHROME="$BUILD_LINK_BASE/builds/metamask-chrome-$VERSION.zip" -FIREFOX="$BUILD_LINK_BASE/builds/metamask-firefox-$VERSION.zip" -EDGE="$BUILD_LINK_BASE/builds/metamask-edge-$VERSION.zip" -OPERA="$BUILD_LINK_BASE/builds/metamask-opera-$VERSION.zip" -WALKTHROUGH="$BUILD_LINK_BASE/test-artifacts/screens/walkthrough%20%28en%29.gif" - -read -d '' COMMENT_BODY < - - Builds ready [$SHORT_SHA1]: - mascara, - chrome, - firefox, - edge, - opera - - - -EOF - -JSON_PAYLOAD="{\"body\":\"$COMMENT_BODY\"}" -POST_COMMENT_URI="https://api.github.com/repos/metamask/metamask-extension/issues/$CIRCLE_PR_NUMBER/comments" -echo "Announcement:" -echo "$COMMENT_BODY" -echo "Posting to $POST_COMMENT_URI" -curl -d "$JSON_PAYLOAD" -H "Authorization: token $GITHUB_COMMENT_TOKEN" $POST_COMMENT_URI