From aca7458d36d46f6d2cc2cfc7f4ad721c3edcadbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Wed, 12 Sep 2018 17:24:40 +0200 Subject: [PATCH] MOBILE-2595 e2e: Build app in AOT and push it to PGB repo --- .travis.yml | 9 ++++++++- aot.sh | 21 +++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100755 aot.sh diff --git a/.travis.yml b/.travis.yml index 88df17369..2a31e7547 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,4 +13,11 @@ before_script: - rm -Rf node_modules/electron-builder-squirrel-windows node_modules/electron-windows-notifications #Avoid electron fail script: -- npm run build \ No newline at end of file + - npm run build + +deploy: + provider: script + script: bash aot.sh + on: + all_branches: true + condition: $TRAVIS_BRANCH =~ ^master|integration$ \ No newline at end of file diff --git a/aot.sh b/aot.sh new file mode 100755 index 000000000..97e18a617 --- /dev/null +++ b/aot.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# Compile AOT. +sed -ie $'s~throw new Error("No ResourceLoader.*~url = "templates/" + url;\\\nvar resolve;\\\nvar reject;\\\nvar promise = new Promise(function (res, rej) {\\\nresolve = res;\\\nreject = rej;\\\n});\\\nvar xhr = new XMLHttpRequest();\\\nxhr.open("GET", url, true);\\\nxhr.responseType = "text";\\\nxhr.onload = function () {\\\nvar response = xhr.response || xhr.responseText;\\\nvar status = xhr.status === 1223 ? 204 : xhr.status;\\\nif (status === 0) {\\\nstatus = response ? 200 : 0;\\\n}\\\nif (200 <= status \&\& status <= 300) {\\\nresolve(response);\\\n}\\\nelse {\\\nreject("Failed to load " + url);\\\n}\\\n};\\\nxhr.onerror = function () { reject("Failed to load " + url); };\\\nxhr.send();\\\nreturn promise;\\\n~g' node_modules/@angular/platform-browser-dynamic/esm5/platform-browser-dynamic.js +sed -ie "s/context\.isProd || hasArg('--minifyJs')/hasArg('--minifyJs')/g" node_modules/@ionic/app-scripts/dist/util/config.js +sed -ie "s/context\.isProd || hasArg('--optimizeJs')/hasArg('--optimizeJs')/g" node_modules/@ionic/app-scripts/dist/util/config.js +npm run ionic:build -- --prod + +# Copy to PGB git (only on a configured travis build). +if [ ! -z $GIT_ORG ] && [ ! -z $GIT_TOKEN ] ; then + gitfolder=${PWD##*/} + cd .. + git clone https://github.com/$GIT_ORG/moodlemobile-phonegapbuild.git pgb + cd pgb + git checkout $TRAVIS_BRANCH + rm -Rf assets build index.html templates + cp -Rf ../$gitfolder/www/* ./ + git add . + git commit -m "Travis build: $TRAVIS_BUILD_NUMBER" + git push https://$GIT_TOKEN@github.com/$GIT_ORG/moodlemobile-phonegapbuild.git +fi