chore(CI): Initial Circle CI test

This commit is contained in:
Ionitron
2015-11-18 15:25:59 -06:00
parent 2f0190371d
commit 6d45974324
10 changed files with 388 additions and 10 deletions

43
scripts/docs/deploy.sh Executable file
View File

@ -0,0 +1,43 @@
#!/bin/bash
ARG_DEFS=(
"--version-name=(.*)"
)
echo "##### "
echo "##### docs/deploy.sh"
echo "#####"
function init {
cd ..
SITE_PATH=$(readJsonProp "config.json" "sitePath")
SITE_DIR=$IONIC_DIR/$SITE_PATH
}
function run {
./git/clone.sh --repository="driftyco/ionic-site" \
--directory="$SITE_DIR" \
--branch="master"
cd ..
VERSION=$(readJsonProp "package.json" "version")
gulp docs --doc-version="$VERSION_NAME"
cd $SITE_DIR
CHANGES=$(git status --porcelain)
# if no changes, don't commit
if [[ "$CHANGES" == "" ]]; then
ls
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 origin master
echo "-- Updated docs for $VERSION_NAME succesfully!"
fi
}
source $(dirname $0)/../utils.sh.inc

View File

@ -8,6 +8,7 @@ var path = require('path');
var semver = require('semver');
var fs = require('fs');
var _ = require('lodash');
var config = require('../config.json');
// Define the dgeni package for generating the docs
module.exports = function(currentVersion){
@ -44,7 +45,7 @@ module.exports = function(currentVersion){
.config(function(renderDocsProcessor, computePathsProcessor, versionInfo) {
try {
versions = fs.readdirSync(path.resolve(__dirname, '../../dist/ionic-site/docs/v2/'))
versions = fs.readdirSync(path.resolve(__dirname, '../../' + config.docsDest + '/'))
.filter(semver.valid)
} catch(e) {
versions = [];
@ -66,7 +67,7 @@ module.exports = function(currentVersion){
//Latest version is in docs root
var folder = version == latestVersion ? '' : version;
return {
href: path.join('/docs/v2', folder),
href: path.join('/' + config.v2DocsDir, folder),
folder: folder,
name: version
};
@ -89,7 +90,7 @@ module.exports = function(currentVersion){
// remove filename since we have multiple docTypes per file
docPath = docPath.substring(0, docPath.lastIndexOf('/') + 1);
docPath += doc.name + '/index.md';
var path = 'docs/v2/' + (versionData.current.folder || '') +
var path = config.v2DocsDir + '/' + (versionData.current.folder || '') +
'/api/' + docPath;
return path;
@ -127,7 +128,7 @@ module.exports = function(currentVersion){
// Configure file writing
.config(function(writeFilesProcessor) {
writeFilesProcessor.outputFolder = 'dist/ionic-site'
writeFilesProcessor.outputFolder = config.sitePath;
})
// Configure rendering

View File

@ -1,4 +1,4 @@
var config = require('../config.json');
module.exports = function(gulp, flags) {
gulp.task('docs', ['docs.demos'], function() {
var Dgeni = require('dgeni');
@ -28,7 +28,7 @@ module.exports = function(gulp, flags) {
'!dist/src',
'!dist/src/**/*'
])
.pipe(gulp.dest('dist/ionic-site/docs/v2/dist'));
.pipe(gulp.dest(config.docsDest + '/dist'));
});
gulp.task('docs.index', function() {
@ -56,7 +56,7 @@ module.exports = function(gulp, flags) {
refId++;
}
var docPath = 'dist/ionic-site/docs/v2';
var docPath = config.docsDest;
gutil.log('Reading docs from', gutil.colors.cyan(docPath));
return gulp.src([
@ -68,7 +68,7 @@ module.exports = function(gulp, flags) {
var contents = file.contents.toString(); //was buffer
// Grab relative path from ionic-site root
var relpath = file.path.replace(RegExp('^.*?' + docPath.replace('/docs/v2', '') + '/'), '');
var relpath = file.path.replace(RegExp('^.*?' + docPath.replace('/' + config.v2DocsDir, '') + '/'), '');
// Read out the yaml portion of the Jekyll file
var yamlStartIndex = contents.indexOf('---');
@ -179,7 +179,7 @@ module.exports = function(gulp, flags) {
entities = new Entities();
var variables = [];
var outputFile = 'dist/ionic-site/docs/v2/data/sass.json';
var outputFile = config.docsDest + '/data/sass.json';
// Add the variable to the array, encode the html and remove !default from the value
function addVariable(variableName, defaultValue, file) {
@ -225,7 +225,7 @@ module.exports = function(gulp, flags) {
callback();
}).on('end', function() {
gutil.log("Writing to file at", gutil.colors.cyan("/driftyco/ionic2/" + outputFile));
gutil.log("Place this file in", gutil.colors.cyan("/driftyco/ionic-site/docs/v2/theming/overriding-ionic-variables/"), "in order to update the docs");
gutil.log("Place this file in", gutil.colors.cyan("/driftyco/ionic-site/" + config.v2DocsDir + "/theming/overriding-ionic-variables/"), "in order to update the docs");
fs.writeFileSync(outputFile, JSON.stringify(variables));
}));
});