diff --git a/karma.conf.js b/karma.conf.js
index 0bbb322..c3b773b 100644
--- a/karma.conf.js
+++ b/karma.conf.js
@@ -29,7 +29,12 @@ module.exports = function (config) {
"directory": "coverage",
"subdirectory": "report"
},
- "text-summary": ""
+ "text-summary": "",
+ "json-summary": {
+ "directory": "coverage",
+ "subdirectory": "summary",
+ "filename": "json-summary.json"
+ }
},
compilerOptions: {
lib: [
diff --git a/ps_spec.yml b/ps_spec.yml
index 0391c24..bb67373 100644
--- a/ps_spec.yml
+++ b/ps_spec.yml
@@ -6,18 +6,64 @@ stages:
name: PR Test
when:
- pull_request
+ - pull_request:
+ trigger_phrase: test it
image: node:13
compute_size: small
commands:
- npm install
- echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list
- wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
- - apt-get update && apt-get -y install google-chrome-stable
+ - apt-get update && apt-get -y install google-chrome-stable && apt-get -y install jq
- export CHROME_BIN='/usr/bin/google-chrome'
- npm run test
- npm run lint
- npm run build
- npx madge --circular --extensions ts --ts-config tsconfig.json src
+ - |
+
+ echo "start"
+
+ COVERGAE_JSON_SUMMARY_FILE=coverage/summary/json-summary.json
+
+ echo "### Unit Test Coverage Report\n\n" > comments.txt
+
+ COVERAGE_JSON_SUMMARY_BODY="
"
+
+ if [ -f $COVERGAE_JSON_SUMMARY_FILE ]; then
+ for k in $(jq -r '.total | keys | .[]' $COVERGAE_JSON_SUMMARY_FILE); do
+ if [ "$k" != "linesCovered" ]; then
+ echo $k
+ value=$(jq -r ".total.$k" $COVERGAE_JSON_SUMMARY_FILE)
+ echo $value
+ total=$(jq -r ".total.$k.covered" $COVERGAE_JSON_SUMMARY_FILE)
+ covered=$(jq -r ".total.$k.covered" $COVERGAE_JSON_SUMMARY_FILE)
+ skipped=$(jq -r ".total.$k.skipped" $COVERGAE_JSON_SUMMARY_FILE)
+ pct=$(jq -r ".total.$k.pct" $COVERGAE_JSON_SUMMARY_FILE)
+ COVERAGE_JSON_SUMMARY_BODY+="- $k
- $pct% $covered/$total
"
+ echo "$covered - $skipped - $total - $pct ---- $COVERAGE_JSON_SUMMARY_BODY"
+ fi
+ done
+ COVERAGE_JSON_SUMMARY_BODY+="
"
+ echo "$COVERAGE_JSON_SUMMARY_BODY \n\n" >> comments.txt
+ else
+ echo "⚠️ **WARNING** - coverage json data not found. Add **json-summary** to .karmaTypescriptConfig.reports in **karma.conf.js** " > comments.txt
+ fi
+
+ CODEBUILD_SOURCE_VERSION_WARNING="master"
+ if [ "$CODEBUILD_SOURCE_VERSION" = "$CODEBUILD_SOURCE_VERSION_WARNING" ]; then
+ curl -fsSL https://github.com/github/hub/raw/master/script/get | bash -s 2.14.2
+ GITHUB_TOKEN=$ALPS_GH_TOKEN
+ PKGNAME=$(node -e 'console.log(require("./package.json").name)')
+ PKGVERSION=$(node -e 'console.log(require("./package.json").version)')
+ LATEST_VERSION=$(npm show $PKGNAME version)
+ echo "⚠️ **WARNING** - Merging this pull request will result in a publish of **$PKGNAME** to npm from version **$LATEST_VERSION** to **$PKGVERSION**" >> comments.txt
+
+ fi
+
+ bin/hub api repos/alertlogic/$ALPS_REPO_NAME/issues/$ALPS_PR_NUMBER/comments --field body=@comments.txt
+
+ - echo done
-
name: Master Push - Publish
@@ -58,8 +104,6 @@ stages:
curl -fsSL https://github.com/github/hub/raw/master/script/get | bash -s 2.14.2
GITHUB_TOKEN=$ALPS_GH_TOKEN
-
-
npm install
if [ "$WORDCOUNT" -eq 0 ]; then