From abd7bfa540acbb1b25ef8304027f0e4dc1b888a8 Mon Sep 17 00:00:00 2001 From: Andrew Joslin Date: Tue, 3 Jun 2014 07:37:51 -0600 Subject: [PATCH] chore(): travis to circleci --- .travis.yml | 28 --------------- circle.yml | 10 +++--- config/gulp-tasks/test.js | 2 +- config/karma-sauce.conf.js | 4 +-- gulpfile.js | 3 +- package.json | 6 ++-- scripts/app-base/publish.sh | 37 +++++++++---------- scripts/bower/publish.sh | 61 ++++++++++++++----------------- scripts/bump/nightly.sh | 23 ++++++++++++ scripts/bump/release.sh | 26 ++++++++++++++ scripts/cdn/publish.sh | 37 +++++++++---------- scripts/circle/deploy.sh | 58 ++++++++++++++++++++++++++++++ scripts/circle/run.sh | 29 --------------- scripts/circle/test.sh | 55 ++++++++++++++++++++++++++++ scripts/clone/clone.sh | 22 ++++++++++++ scripts/demo/publish.sh | 29 +++++++-------- scripts/release/publish.sh | 44 +++++++++++++++++++++++ scripts/site/config.sh | 39 ++++++++++++++++++++ scripts/site/docs.sh | 44 +++++++++++++++++++++++ scripts/site/publish.sh | 72 ------------------------------------- scripts/snapshot/run.sh | 24 ------------- 21 files changed, 400 insertions(+), 253 deletions(-) delete mode 100644 .travis.yml create mode 100755 scripts/bump/nightly.sh create mode 100755 scripts/bump/release.sh create mode 100755 scripts/circle/deploy.sh delete mode 100755 scripts/circle/run.sh create mode 100755 scripts/circle/test.sh create mode 100755 scripts/clone/clone.sh create mode 100755 scripts/release/publish.sh create mode 100755 scripts/site/config.sh create mode 100755 scripts/site/docs.sh delete mode 100755 scripts/site/publish.sh delete mode 100755 scripts/snapshot/run.sh diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 593787b45d..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,28 +0,0 @@ -language: node_js -node_js: -- 0.1 -git: - depth: 750 -env: - global: - - secure: C49JZxX08FSiXEZYpIFDs4YRdZGB0Hyygkk8zFknALLxPCREwk/MLhs64FOftgcVYjyo1CpmEZfmlKdHDnuko8mUjERrn/3iFHO2Fi0Z/zbj1pDkHlkoeIWGu3JS9y5mDAC1N0AO+pbMQp1jy+qTbHZsBsRCM4tVeEoLVdLmwOU= - - secure: EXFisiY1QVmeXLOQRcZHcY3kJNfUUhBgVfe8492Ion/+djwi/e6bRbuZvU8Axvz26CpdRwS9IWSsZm7J3Eu+g3ORsBqILbJ0hTO4m7UJyt8hZxeRJZEOmQI2S0NcOFkIdSgNbrvxZoF8ZNFrp96kQWR3/5wMYRGcxtu/1JTqVy0= - - secure: QGukWuP7Li6RDnvxszY/qX/nySshmwiOYQJOKyG0YqAGjV4aFxfdA1pOffqPXEYn2KK6eB5DDx3YjDgtVnBClxV26CUdDhwy0reNKj8UrzgN/NSYeFy6EnOZMDz+DtPJXpUSXnGa3HtaOxbxG8mrpPFSPEeCY6Ci4M119hyslFY= - - secure: ANeKOUjQA68r92tf4qW4/uqT+kn7jTG9nPwZD2nE0G3RpWFfLa0/g1IXqGb9w5ILxwnKFB6yzBQu9ERjHY595jshFTeJhUei35fJyZy56S9eG7eLqZGjHgz+1G7tsKd7mikkGNCF0OyLh/BtMucqWFPsARlQTJpjl79Ctv7vitU= - - secure: ClLLhCzhh6nGAWxEmmMFZXoLfFes3qYhEmr6CrrH4jKoAn2Zw/AWRQgcchAcvELUOZuhOh5JKMFTq7yqBFDI5zRIaB+AKM6B7lyl5F6jCKR4IdLYtW/3f0nbmL/z1y046g4Prr//2LDQ5H/uQ1syqRkrd9W+mMundVuNewaObf8= - - secure: 2fk0b82A5q+FtU8M5MUIjxfbm+nxlDC3e7eHksgqfRY7v8odHWjJxJliBF50sP8qkVsop3HRONtxHcX09RpYfjAg2JVWd0QNtKF3PtpyJQO1Oe3oRBLCQSLM3H2O8vp0lXOrqjP3gKCVcqKZftPOJkR1HwwSmgCuDEkEBja/WlU= - - secure: venr/q6rVyF2AbiT34XjWZvtXXOPKSusgbIcpNRoSBhs/fxJu6LKZ1byPJsdohBPLxsxd6J+3RJLU+dQul49uY6HCk7+uFETgQAU/H+DE3585eHaUwOyuOoYv/psoEuMXAopbAekJwZw/rnnpGh73CxychuQQUVDsJnt5QsbOwI= - - secure: lLyJha5kpQJ7sONn5WsRc9t105GR+fBqYEVtM3ezaf8xUprPJ0WeKwneWEAUq5OLGXeXsovrqkdQgf/Abv8VueGsO5+l78btCEP1aGygoquavi6slx0HjUaWwXxcipIHf//K5CCtwmdbHncrD79BjpP++st3xLUS4FHMrCc3/f8= - - secure: BABaG57DhbhZJKC0ux1Uw89ZdxfARGH622SP9z8+biJFKK8dZTyHym4piZ8RuQCOgJj/4Frvz+dBulDN7pm0sPlr+q3szw4kditrOh/8o6nocg8GSldQ9Bt63Eoz5wNa4Y5OgOldgwRfchchcewjuo8FIX73CcSlMze0iUFq3Ts= -notifications: - slack: drifty:Wkm8lcIlUNlRXlglGRFxPNQa - hipchat: - rooms: - secure: mkHfRTsuxidtOOORbJJ0Jspb/DSa8jAiQwWWUljqLwefy1p4HGC9P/rLdXXg3vsjiulCzyjEkfvDWAHXvu34GhGWfQuD8U140Fon1Os3AO5Hbme+yRmjXmTcgH8XetSLQufyBBMqXHMd6o1tkxXql1p54G1IShhgAdPNe76d5ZE= -before_install: -- npm install -g gulp protractor -before_script: -- export DISPLAY=:99.0 -- sh -e /etc/init.d/xvfb start -script: -- ./scripts/travis/ci.sh diff --git a/circle.yml b/circle.yml index 373e5e2885..3fa60ede02 100644 --- a/circle.yml +++ b/circle.yml @@ -1,9 +1,11 @@ machine: node: version: v0.10.26 -dependencies: - pre: - - npm install -g protractor gulp test: override: - - ./scripts/circle/run.sh: {parallel: true} + - ./scripts/circle/test.sh --index=$CIRCLE_NODE_INDEX --total=$CIRCLE_NODE_TOTAL: {parallel: true} +deployment: + tasks: + branch: master + commands: + - ./scripts/circle/deploy.sh --is-release=false --version-name="nightly": {parallel: true} diff --git a/config/gulp-tasks/test.js b/config/gulp-tasks/test.js index 07fa413cf8..d0925719d0 100644 --- a/config/gulp-tasks/test.js +++ b/config/gulp-tasks/test.js @@ -101,7 +101,7 @@ module.exports = function(gulp, argv) { } function protractor(done, args) { - var child = cp.spawn('protractor', args, { + var child = cp.spawn('node', [__dirname+'/../../node_modules/.bin/protractor'].concat(args), { stdio: [process.stdin, process.stdout, 'pipe'] }); diff --git a/config/karma-sauce.conf.js b/config/karma-sauce.conf.js index c0c16e8108..d16947ba7c 100644 --- a/config/karma-sauce.conf.js +++ b/config/karma-sauce.conf.js @@ -17,8 +17,8 @@ module.exports = _.assign({}, shared, { browserNoActivityTimeout: 60 * 1000, browserDisconnectTolerance: 2, browsers: [ - // 'sauce_ios', - // 'sauce_safari', + 'sauce_ios', + 'sauce_safari', // 'sauce_android', 'sauce_chrome', // 'sauce_firefox', diff --git a/gulpfile.js b/gulpfile.js index 24967272c4..6878fd232a 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -95,7 +95,8 @@ gulp.task('demos', function(done) { dgeni.generator(config)().then(function() { gutil.log('Demos for', gutil.colors.cyan(demoVersion), 'generated!'); gutil.log('Building ionic into demo folder...'); - cp.spawn('gulp', [ + cp.spawn('node', [ + __dirname + '/node_modules/.bin/gulp', 'build', IS_RELEASE_BUILD ? '--release' : '--no-release', '--dist=' + config.rendering.outputFolder + '/' + diff --git a/package.json b/package.json index d0edbd00ff..d037d3e2d0 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "connect": "^2.13.0", "through": "^2.3.4", "gulp-if": "0.0.5", - "gulp": "^3.5.5", + "gulp": "^3.7.0", "canonical-path": "0.0.2", "lodash": "^2.4.1", "winston": "^0.7.2", @@ -51,7 +51,9 @@ "dgeni-packages": "^0.9.3", "request": "^2.36.0", "node-uuid": "^1.4.1", - "js-yaml": "^3.0.2" + "js-yaml": "^3.0.2", + "protractor": "^0.23.1", + "q": "^1.0.1" }, "licenses": [ { diff --git a/scripts/app-base/publish.sh b/scripts/app-base/publish.sh index 9dd9bd9371..1826d12ada 100755 --- a/scripts/app-base/publish.sh +++ b/scripts/app-base/publish.sh @@ -1,47 +1,44 @@ - -echo "#########################" -echo "# Update ionic-app-base #" -echo "#########################" +#!/bin/bash ARG_DEFS=( - "--version=(.*)" ) +echo "##### " +echo "##### app-base/publish.sh" +echo "#####" + function init { - APPBASE_DIR=$IONIC_DIST_DIR/app-base - APPBASE_LIB_DIR=$APPBASE_DIR/www/lib/ionic - - echo "-- Cloning ionic-app-base..." - - rm -rf $APPBASE_DIR - mkdir -p $APPBASE_DIR - git clone \ - https://driftyco:$GH_TOKEN@github.com/driftyco/ionic-app-base.git \ - $APPBASE_DIR \ - --depth=1 + APPBASE_DIR=$HOME/ionic-app-base + APPBASE_LIB_DIR=$HOME/www/lib/ionic + ../clone/clone.sh --repository="driftyco/ionic-app-base" \ + --directory="$APPBASE_DIR" \ + --branch="master" } function run { cd ../.. - cd $APPBASE_DIR + VERSION=$(readJsonProp "package.json" "version") echo "-- Updating files..." rm -rf $APPBASE_LIB_DIR mkdir -p $APPBASE_LIB_DIR - cp -Rf $IONIC_BUILD_DIR/* $APPBASE_LIB_DIR - cp -Rf $IONIC_SCSS_DIR $APPBASE_LIB_DIR + node_modules/.bin/gulp build --release --dist=$APPBASE_LIB_DIR + cp -Rf scss $APPBASE_LIB_DIR + echo "-- Updating bower dependency..." replaceJsonProp "$APPBASE_DIR/bower.json" "ionic" "driftyco\/ionic-bower#$VERSION" + cd $APPBASE_DIR + git add -A git commit -am "release: update ionic to v$VERSION" git push -q origin master - echo "-- ionic-app-base files updated to v$VERSION successfully!" + echo "-- ionic-app-base published v$VERSION successfully!" } source $(dirname $0)/../utils.inc diff --git a/scripts/bower/publish.sh b/scripts/bower/publish.sh index c7f6a52a45..a5eedbd1be 100755 --- a/scripts/bower/publish.sh +++ b/scripts/bower/publish.sh @@ -1,67 +1,58 @@ - -# adapted from Angular's bower script -# Script for updating the Ionic bower repos from current build - -echo "#################################" -echo "#### Update bower ###############" -echo "#################################" +#!/bin/bash ARG_DEFS=( - "--version=(.*)" - "--codename=(.*)" ) +echo "##### " +echo "##### bower/publish.sh" +echo "#####" + function init { - BOWER_DIR=$IONIC_DIST_DIR/ionic-bower + BOWER_DIR=$HOME/ionic-bower - echo "-- Cloning ionic-bower..." - - rm -rf $BOWER_DIR - mkdir -p $BOWER_DIR - git clone https://driftyco:$GH_TOKEN@github.com/driftyco/ionic-bower.git \ - $BOWER_DIR \ - --depth=1 + ../clone/clone.sh --repository="driftyco/ionic-bower" \ + --directory="$BOWER_DIR" \ + --branch="master" } function run { + cd ../.. + + VERSION=$(readJsonProp "package.json" "version") + CODENAME=$(readJsonProp "package.json" "codename") - # move the files from the build echo "-- Putting build files in ionic-bower..." - - cd $BOWER_DIR - cp -Rf $IONIC_BUILD_DIR/* $BOWER_DIR - cp -Rf $IONIC_SCSS_DIR $BOWER_DIR + node_modules/.bin/gulp build --release --dist=$BOWER_DIR + cp -Rf scss $BOWER_DIR # Angular dependencies are managed by bower, don't include them + # We also don't need a changelog or version.json rm -rf $BOWER_DIR/{js/angular*,CHANGELOG*,version.json} echo "-- Copying bower.json from project_dir and renaming main files" - node -p "var b = require('$IONIC_DIR/bower.json'); \ - delete b.ignore; \ - b.main = b.main.map(function(s) { return s.replace(/^release\//,''); }); \ + node -p "var b = require('./bower.json'); + delete b.ignore; + b.main = b.main.map(function(s) { + return s.replace(/^release\//,''); + }); JSON.stringify(b,null,2);" \ > $BOWER_DIR/bower.json + cd $BOWER_DIR + echo "-- Updating version in ionic-bower to $VERSION" replaceJsonProp "bower.json" "version" "$VERSION" echo "-- Updating codename in ionic-bower to $CODENAME" replaceJsonProp "bower.json" "codename" "$CODENAME" - echo "-- Committing and tagging ionic-bower" git add -A - git commit -m "release: v$VERSION" - git tag -f v$VERSION - - echo "-- Pushing ionic-bower" - cd $BOWER_DIR + git commit -am "release: v$VERSION" + git tag -f -m v$VERSION v$VERSION git push -q --tags origin master - echo "-- Published ionic-bower to v$VERSION successfully!" - - # Go back to the script to make things 'safe' - cd $SCRIPT_DIR + echo "-- Published ionic-bower v$VERSION successfully!" } source $(dirname $0)/../utils.inc diff --git a/scripts/bump/nightly.sh b/scripts/bump/nightly.sh new file mode 100755 index 0000000000..098f233bf1 --- /dev/null +++ b/scripts/bump/nightly.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +ARG_DEFS=( + "--build-number=(.*)" +) + +echo "##### " +echo "##### bump/nightly.sh" +echo "#####" + +function run { +VERBOSE=true + cd ../.. + + OLD_VERSION=$(readJsonProp "package.json" "version") + NIGHTLY_VERSION="$OLD_VERSION-nightly-$BUILD_NUMBER" + + replaceJsonProp "package.json" "version" "$NIGHTLY_VERSION" + + echo "-- Nightly Version: $NIGHTLY_VERSION" +} + +source $(dirname $0)/../utils.inc diff --git a/scripts/bump/release.sh b/scripts/bump/release.sh new file mode 100755 index 0000000000..9f7db9b760 --- /dev/null +++ b/scripts/bump/release.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +ARG_DEFS=( + "--new-version=(.*)" +) + +echo "##### " +echo "##### bump/release.sh" +echo "#####" + +function run { + cd ../.. + + CODENAME=$(cat config/CODENAMES | head -n 1) + echo "$(tail -n +2 config/CODENAMES)" > config/CODENAMES + + replaceJsonProp "package.json" "codename" "$CODENAME" + replaceJsonProp "package.json" "version" "$NEW_VERSION" + + node_modules/.bin/gulp changelog + + echo "-- New Version: $NEW_VERSION" + echo "-- New Codename: $CODENAME" +} + +source $(dirname $0)/../utils.inc diff --git a/scripts/cdn/publish.sh b/scripts/cdn/publish.sh index 79e91b11c1..6d6aeb3dbd 100755 --- a/scripts/cdn/publish.sh +++ b/scripts/cdn/publish.sh @@ -1,36 +1,37 @@ -echo "#################################" -echo "#### Update CDN #################" -echo "#################################" - # Version name is "nightly" or a version number ARG_DEFS=( - "--version=(.*)" "--version-name=(.*)" ) +echo "##### " +echo "##### cdn/publish.sh" +echo "#####" + function init { - CDN_DIR=$IONIC_DIST_DIR/ionic-code - - echo "-- Cloning ionic-code..." - - rm -rf $CDN_DIR - mkdir -p $CDN_DIR - git clone https://driftyco:$GH_TOKEN@github.com/driftyco/ionic-code.git \ - $CDN_DIR \ - --branch gh-pages \ - --depth=1 + CDN_DIR=$HOME/ionic-code + ../clone/clone.sh --repository="driftyco/ionic-code" \ + --directory="$CDN_DIR" \ + --branch="gh-pages" } function run { + cd ../.. VERSION_DIR=$CDN_DIR/$VERSION_NAME + VERSION=$(readJsonProp "package.json" "version") rm -rf $VERSION_DIR mkdir -p $VERSION_DIR - cd $VERSION_DIR - cp -Rf $IONIC_BUILD_DIR/* $VERSION_DIR + node_modules/.bin/gulp build --release --dist=$VERSION_DIR + if [[ "$VERSION_NAME" == "nightly" ]]; then + node_modules/.bin/gulp changelog --standalone \ + --html=true \ + --subtitle="(changes since $OLD_VERSION)" \ + --dest="$VERSION_DIR/CHANGELOG.html" \ + --from="$(git tag | grep $OLD_VERSION)" + fi echo "-- Generating versions.json..." cd $CDN_DIR/builder @@ -42,7 +43,7 @@ function run { git push -q origin gh-pages - echo "-- Published ionic-code to v$VERSION successfully!" + echo "-- Published ionic-code v$VERSION successfully!" } source $(dirname $0)/../utils.inc diff --git a/scripts/circle/deploy.sh b/scripts/circle/deploy.sh new file mode 100755 index 0000000000..dc5967a0f7 --- /dev/null +++ b/scripts/circle/deploy.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +ARG_DEFS=( + "[--is-release=(true|false)]" + "--version-name=(.*)" +) + +function run { + cd ../.. + + git config --global user.name 'Ionitron' + git config --global user.email hi@ionicframework.com + + if [[ "$IS_RELEASE" == "true" ]]; then + ./scripts/bump/release.sh --new-version="TEST" + else + ./scripts/bump/nightly.sh --build-number=$CIRCLE_BUILD_NUM + fi + + case $CIRCLE_NODE_INDEX in + 0) + # Push release to ionic repo: release only + if [[ "$IS_RELEASE" == "true" ]]; then + ./scripts/release/publish.sh + node_modules/.bin/gulp release-tweet + node_modules/.bin/gulp release-irc + fi + ;; + 1) + # Update site config: release only + if [[ "$IS_RELEASE" == "true" ]]; then + ./scripts/site/config.sh + fi + # Update app-base: release only + if [[ "$IS_RELEASE" == "true" ]]; then + ./scripts/app-base/publish.sh + fi + ;; + 2) + # Update docs + ./scripts/site/docs.sh --version-name="$VERSION_NAME" + ;; + 3) + # Update demos + ./scripts/demo/publish.sh --version-name="$VERSION_NAME" + ;; + 4) + # Update cdn + ./scripts/cdn/publish.sh --version-name="$VERSION_NAME" + ;; + 5) + # Update bower + ./scripts/bower/publish.sh + ;; + esac +} + +source $(dirname $0)/../utils.inc diff --git a/scripts/circle/run.sh b/scripts/circle/run.sh deleted file mode 100755 index 093029eab5..0000000000 --- a/scripts/circle/run.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -function init { - # Global Variables - export SAUCE_TUNNEL_ID=$($CIRCLE_BUILD_NUM || $RANDOM) - export SAUCE_BUILD_ID=$($CIRCLE_SHA1 || $RANDOM) -} - -function run { - case $CIRCLE_NODE_INDEX in - 0) - ../snapshot/run.sh \ - --width="400" \ - --height="800" \ - --browser="chrome" \ - --platform-id="chrome_desktop_small" - ;; - 1) - ../snapshot/run.sh \ - --width="400" \ - --height="800" \ - --browser="safari" \ - --platform="OS X 10.9" \ - --platform-id="safari_desktop_small" - ;; - esac -} - -source $(dirname $0)/../utils.inc diff --git a/scripts/circle/test.sh b/scripts/circle/test.sh new file mode 100755 index 0000000000..6a8a57b0f2 --- /dev/null +++ b/scripts/circle/test.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +ARG_DEFS=( + "--index=(.*)" + "--total=(.*)" +) + +function init { + # Global Variables + export SAUCE_TUNNEL_ID=${CIRCLE_BUILD_NUM:-$RANDOM}-$CIRCLE_NODE_INDEX + export SAUCE_BUILD_ID=${CIRCLE_SHA1:-$RANDOM} +} + +function run { + cd ../.. + + node_modules/.bin/gulp demos --demo-version=nightly + TEST_ID=$CIRCLE_SHA1-$CIRCLE_BUILD_NUM + + case $INDEX in + 0) + node_modules/.bin/gulp jshint ddescribe-iit + node_modules/.bin/gulp karma --browsers=PhantomJS --reporters=dots + ;; + 1) + # node_modules/.bin/gulp snapshot-sauce \ + # --browser="chrome" \ + # --params.width="400" \ + # --params.height="800" \ + # --params.test_id=$TEST_ID + # --params.platform_id="chrome_desktop_small" \ + # --params.platform_index=$INDEX \ + # --params.platform_count=$TOTAL + ;; + 2) + # node_modules/.bin/gulp snapshot-sauce \ + # --browser="safari" \ + # --platform="OS X 10.9" + # --params.width="400" \ + # --params.height="800" \ + # --params.test_id=$TEST_ID \ + # --params.platform_id="safari_desktop_small" \ + # --params.platform_index=$INDEX \ + # --params.platform_count=$TOTAL + ;; + 3) + ;; + 4) + ;; + 5) + ;; + esac +} + +source $(dirname $0)/../utils.inc diff --git a/scripts/clone/clone.sh b/scripts/clone/clone.sh new file mode 100755 index 0000000000..c3b2d0603f --- /dev/null +++ b/scripts/clone/clone.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +ARG_DEFS=( + "--repository=(.*)" + "--directory=(.*)" + "[--depth=(.*)]" + "[--branch=(.*)]" +) + +function run { + rm -rf $DIRECTORY + mkdir -p $DIRECTORY + + echo "-- Cloning $REPOSITORY#$BRANCH to $DIRECTORY..." + + git clone https://driftyco:$GH_TOKEN@github.com/$REPOSITORY $DIRECTORY \ + --depth=${DEPTH:-1} \ + --branch=${BRANCH:-master} +} + +source $(dirname $0)/../utils.inc + diff --git a/scripts/demo/publish.sh b/scripts/demo/publish.sh index 4140c5b4e4..1af35f52a6 100755 --- a/scripts/demo/publish.sh +++ b/scripts/demo/publish.sh @@ -4,28 +4,23 @@ ARG_DEFS=( "--version-name=(.*)" ) -function init { - DEMO_DIR=$IONIC_DIST_DIR/ionic-demo +echo "##### " +echo "##### demo/publish.sh" +echo "#####" - echo "-- Cloning ionic-demo" - rm -rf $DEMO_DIR - mkdir -p $DEMO_DIR - git clone https://driftyco:$GH_TOKEN@github.com/driftyco/ionic-demo \ - $DEMO_DIR \ - --depth=1 \ - --branch=gh-pages +function init { + DEMO_DIR=$HOME/ionic-demo + + ../clone/clone.sh --repository="driftyco/ionic-demo" \ + --directory="$DEMO_DIR" \ + --branch="gh-pages" } function run { - - echo "#####################################" - echo "## Updating ionic-demo... #" - echo "#####################################" - - cd $IONIC_DIR + cd ../.. rm -rf $DEMO_DIR/$VERSION_NAME - gulp demos --release --demo-version=$VERSION_NAME + node_modules/.bin/gulp demos --release --demo-version=$VERSION_NAME --dist=$DEMO_DIR cd $DEMO_DIR @@ -39,7 +34,7 @@ function run { git commit -am "demos: update for $VERSION_NAME" git push -q origin gh-pages - echo "-- Updated demos for $VERSION_NAME succesfully!" + echo "-- Demos published $VERSION_NAME succesfully!" fi } diff --git a/scripts/release/publish.sh b/scripts/release/publish.sh new file mode 100755 index 0000000000..e69be15794 --- /dev/null +++ b/scripts/release/publish.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +function init { + RELEASE_DIR=$HOME/ionic-release + ../clone/clone.sh --repository="driftyco/ionic" \ + --directory="$RELEASE_DIR" \ + --branch="master" +} + +echo "##### " +echo "##### release/publish.sh" +echo "#####" + +function run { + cd ../.. + + # These were bumped in the bump task + cp CHANGELOG.md $RELEASE_DIR + cp package.json $RELEASE_DIR + + node_modules/.bin/gulp build --release --dist=$RELEASE_DIR + + cd $RELEASE_DIR + + VERSION=$(readJsonProp "package.json" "version") + CODENAME=$(readJsonProp "package.json" "codename") + + replaceJsonProp "bower.json" "version" "$VERSION" + replaceJsonProp "component.json" "version" "$VERSION" + + replaceJsonProp "bower.json" "codename" "$CODENAME" + replaceJsonProp "component.json" "codename" "$CODENAME" + + git add -A + git commit -am "release: v$VERSION \"$CODENAME\"" + git tag -f -m v$VERSION v$VERSION + + git push -q origin master + git push -q origin v$VERSION + + echo "-- Published ionic v$VERSION \"$CODENAME\" successfully!" +} + +source $(dirname $0)/../utils.inc diff --git a/scripts/site/config.sh b/scripts/site/config.sh new file mode 100755 index 0000000000..f7c758ebf5 --- /dev/null +++ b/scripts/site/config.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +ARG_DEFS=( +) + +echo "##### " +echo "##### site/config.sh" +echo "#####" + +function init { + SITE_DIR=$HOME/ionic-site + + ../clone/clone.sh --repository="driftyco/ionic-site" \ + --directory="$SITE_DIR" \ + --branch="gh-pages" +} + +function run { + cd ../.. + + VERSION=$(readJsonProp "package.json" "version") + CODENAME=$(readJsonProp "package.json" "codename") + DATE=$(readJsonProp "dist/version.json" "date") + + cd $SITE_DIR + + $(replaceInFile "_config.yml" "latest_download:.*$" "latest_download: http:\/\/code.ionicframework.com\/$VERSION\/ionic-v$VERSION.zip") + $(replaceInFile "_config.yml" "latest_version:.*$" "latest_version: $VERSION \"$CODENAME\"") + $(replaceInFile "_config.yml" "latest_release_date:.*$" "latest_release_date: $DATE") + + git add -A + git commit -am "release: $VERSION" + git push -q origin gh-pages + + echo "-- Published ionic-site config v$VERSION successfully!" +} + + +source $(dirname $0)/../utils.inc diff --git a/scripts/site/docs.sh b/scripts/site/docs.sh new file mode 100755 index 0000000000..17ee234fba --- /dev/null +++ b/scripts/site/docs.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +ARG_DEFS=( + "--version-name=(.*)" +) + +echo "##### " +echo "##### site/docs.sh" +echo "#####" + +function init { + SITE_DIR=$HOME/ionic-site + + ../clone/clone.sh --repository="driftyco/ionic-site" \ + --directory="$SITE_DIR" \ + --branch="gh-pages" +} + +# Example: ./scripts/site/publish.sh --action=docs --version-name=nightly +function run { + + cd ../.. + VERSION=$(readJsonProp "package.json" "version") + + node_modules/.bin/gulp docs --doc-version="$VERSION_NAME" --dist=$SITE_DIR + node_modules/.bin/gulp docs-index + + cd $SITE_DIR + + CHANGES=$(git status --porcelain) + + # if no changes, don't commit + if [[ "$CHANGES" == "" ]]; then + echo "-- No changes detected in docs for $VERSION_NAME; docs not updated." + else + git add -A + git commit -am "docs: update for $VERSION" + git push -q origin gh-pages + + echo "-- Updated docs for $VERSION_NAME succesfully!" + fi +} + +source $(dirname $0)/../utils.inc diff --git a/scripts/site/publish.sh b/scripts/site/publish.sh deleted file mode 100755 index d0640ab188..0000000000 --- a/scripts/site/publish.sh +++ /dev/null @@ -1,72 +0,0 @@ - -ARG_DEFS=( - "[--version-name=(.*)]" - "--action=(updateConfig|docs)" -) - -function init { - SITE_DIR=$IONIC_DIST_DIR/ionic-site - - echo "-- Cloning ionic-site..." - rm -rf $SITE_DIR - mkdir -p $SITE_DIR - git clone https://driftyco:$GH_TOKEN@github.com/driftyco/ionic-site.git \ - $SITE_DIR \ - --depth=1 \ - --branch=gh-pages -} - -function updateConfig { - - echo "#####################################" - echo "## Updating ionic-site config.yml.. #" - echo "#####################################" - - VERSION=$(readJsonProp "$IONIC_BUILD_DIR/version.json" "version") - CODENAME=$(readJsonProp "$IONIC_BUILD_DIR/version.json" "codename") - DATE=$(readJsonProp "$IONIC_BUILD_DIR/version.json" "date") - - cd $SITE_DIR - - $(replaceInFile "_config.yml" "latest_download:.*$" "latest_download: http:\/\/code.ionicframework.com\/$VERSION\/ionic-v$VERSION.zip") - $(replaceInFile "_config.yml" "latest_version:.*$" "latest_version: $VERSION \"$CODENAME\"") - $(replaceInFile "_config.yml" "latest_release_date:.*$" "latest_release_date: $DATE") - - git add -A - git commit -am "release: $VERSION" - - git push -q origin gh-pages - - echo "-- Published ionic-site config to v$VERSION successfully!" -} - -# Example: ./scripts/site/publish.sh --action=docs --version-name=nightly -function docs { - - echo "#####################################" - echo "## Updating docs for $VERSION_NAME ##" - echo "#####################################" - cd $IONIC_DIR - - gulp docs --doc-version="$VERSION_NAME" - gulp docs-index - - VERSION=$(readJsonProp "package.json" "version") - - cd $SITE_DIR - - CHANGES=$(git status --porcelain) - - # if no changes, don't commit - if [[ "$CHANGES" == "" ]]; then - echo "-- No changes detected in docs for $VERSION_NAME; docs not updated." - else - git add -A - git commit -am "docs: update for $VERSION" - git push -q origin gh-pages - - echo "-- Updated docs for $VERSION_NAME succesfully!" - fi -} - -source $(dirname $0)/../utils.inc diff --git a/scripts/snapshot/run.sh b/scripts/snapshot/run.sh deleted file mode 100755 index a878750274..0000000000 --- a/scripts/snapshot/run.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -ARG_DEFS=( - "--browser=(.*)" - "[--platform=(.*)]" - "--platform-id=(.*)" - "--width=(.*)" - "--height=(.*)" -) - -function run { - cd ../.. - gulp demos --demo-version=nightly - - gulp snapshot-sauce \ - --browser "$BROWSER" \ - --platform "$PLATFORM" \ - --params.platform_id="$PLATFORM_ID" \ - --params.width="$WIDTH" \ - --params.height="$HEIGHT" \ - --params.test_id="$($CIRCLE_SHA1 || $RANDOM)" -} - -source $(dirname $0)/../utils.inc