Skip to content

Commit

Permalink
feat(automated release chain): wip
Browse files Browse the repository at this point in the history
  • Loading branch information
BioPhoton committed Apr 20, 2018
1 parent bcc3057 commit 2ed9b61
Show file tree
Hide file tree
Showing 7 changed files with 50 additions and 45 deletions.
Binary file removed @packaged/angular-star-rating.tgz
Binary file not shown.
4 changes: 3 additions & 1 deletion chore/README.md
Expand Up @@ -10,12 +10,14 @@
# Preconditions

node modules to install globally:
- color
- conventional-recommended-bump
- conventional-changelog-angular
- conventional-changelog
- conventional-github-releaser
- conventional-commits-detector

`npm i -g color conventional-recommended-bump conventional-changelog conventional-github-releaser conventional-commits-detector`
`npm i -g color conventional-changelog-angular conventional-recommended-bump conventional-changelog conventional-github-releaser conventional-commits-detector`

# Travis CI - automated integration of travis into the build process

Expand Down
7 changes: 3 additions & 4 deletions chore/scripts/release.js
Expand Up @@ -18,11 +18,10 @@ process.env.DEBUG = config.debugMode
console.info('Start release'.gray)
return Promise.resolve()
//.then(() => ciCheck())
//.then(() => refresh())
.then(function(r) {console.log(r)})
.then(() => build())
// .then(() => refresh())
//.then(() => build())
.then(() => changelog())
.then(() => versionBump())
//.then(() => versionBump())
//.then(() => releaseGithub())
//.then(() => releaseNpm())
.catch((err) => console.info('release error'.red, err.red))
2 changes: 1 addition & 1 deletion chore/scripts/tasks/changelog.js
Expand Up @@ -25,7 +25,7 @@ function changelog () {
// ensures that the right convention was detected
.then(() => utils.getPreset())
.then((preset) => {
detectedPreset = preset
detectedPreset = preset;
return (detectedPreset === config.validPreset) ? Promise.resolve(detectedPreset) : Promise.reject(detectedPreset)
})
// ensures that a bump type was detected
Expand Down
3 changes: 2 additions & 1 deletion chore/scripts/tasks/ci-check.js
Expand Up @@ -17,7 +17,8 @@ function ciCheck() {
if (result.stdout === config.ci.validState) {
return Promise.resolve(result)
} else {
return Promise.reject(result)
const errorMsg = 'Travis status should be ' + config.ci.validState + ' ' + result.stdout + ' given';
return Promise.reject(errorMsg);
}
})
}
79 changes: 41 additions & 38 deletions chore/scripts/utils.js
@@ -1,24 +1,24 @@
'use strict'

const colors = require('colors');
const fs = require('fs')
const path = require('path')
const util = require('util')
const exec = util.promisify(require('child_process').exec)

const config = require('../config')
const utils = {}

utils.exec = exec
utils.deleteFile = deleteFile
utils.copyFile = copyFile
utils.copyFilePromise = copyFilePromise
utils.copyMultiFilePromise = copyMultiFilePromise
utils.backupPackageJson = backupPackageJson
utils.restorePackageJson = restorePackageJson
utils.getPreset = getCommitConvention
utils.getBump = getBump
utils.getPackageVersion = getPackageVersion
const colors = require('colors')
const fs = require('fs');
const path = require('path');
const util = require('util');
const exec = util.promisify(require('child_process').exec);

const config = require('../config');
const utils = {};

utils.exec = exec;
utils.deleteFile = deleteFile;
utils.copyFile = copyFile;
utils.copyFilePromise = copyFilePromise;
utils.copyMultiFilePromise = copyMultiFilePromise;
utils.backupPackageJson = backupPackageJson;
utils.restorePackageJson = restorePackageJson;
utils.getPreset = getCommitConvention;
utils.getBump = getBump;
utils.getPackageVersion = getPackageVersion;

module.exports = utils;

Expand All @@ -31,7 +31,6 @@ function deleteFile (source) {
.catch((err) => {
console.error('remove files error: ', err)
})

}

function copyFile (source, target, cb) {
Expand All @@ -42,26 +41,29 @@ function copyFile (source, target, cb) {
return new Promise((resolve, reject) => {
console.info('copyFile', source, target)

let ensureDirectoryExistence = function (filePath) {
let dirname = path.dirname(filePath)
const ensureDirectoryExistence = function (filePath) {
const dirname = path.dirname(filePath)
if (fs.existsSync(dirname)) {
return true
}
ensureDirectoryExistence(dirname)
fs.mkdirSync(dirname)
}
ensureDirectoryExistence(target)

let rd = fs.createReadStream(source)
const rd = fs.createReadStream(source)
rd.on('error', function (err) {
reject(err)
})
let wr = fs.createWriteStream(target)

ensureDirectoryExistence(target)

const wr = fs.createWriteStream(target)

wr.on('error', function (err) {
reject(err)
})
wr.on('close', function (ex) {
resolve()
resolve(true)
})
rd.pipe(wr)

Expand Down Expand Up @@ -95,7 +97,6 @@ function backupPackageJson () {
const source2 = path.join(config.libPath, 'package-lock.json')
const target2 = path.join(config.libPath, '_package-lock.json')
return copyFile(source1, target1)
//.then(() => copyFile(source2, target2))
}

function restorePackageJson () {
Expand All @@ -107,8 +108,8 @@ function restorePackageJson () {

return copyFile(source1, target1)
.then(() => utils.deleteFile(source1))
//.then(() => copyFile(source2, target2))
//.then(() => utils.deleteFile(source2))
//.then(() => copyFile(source2, target2))
//.then(() => utils.deleteFile(source2))
}

function getCommitConvention () {
Expand All @@ -125,17 +126,19 @@ function getCommitConvention () {
})
}

function getBump () {
function getBump (preset) {
// Detect the recommended bump type by the conventional-commit standard
// source: https://github.com/conventional-changelog-archived-repos/conventional-recommended-bump/blob/master/README.md
return exec('conventional-recommended-bump -p angular', {cwd: __base}).then((bumpRes) => {
if (!bumpRes.stdout || bumpRes.stderr) {
return Promise.reject(bumpRes.stderr || false)
} else {
const bump = bumpRes.stdout.split('\n')[0]
return Promise.resolve(bump)
}
})
return exec('conventional-recommended-bump -p ' + preset, {cwd: __base})
.then((bumpRes) => {

if (!bumpRes.stdout || bumpRes.stderr) {
return Promise.reject(bumpRes.stderr || false)
} else {
const bump = bumpRes.stdout.split('\n')[0]
return Promise.resolve(bump)
}
})
}

function getPackageVersion () {
Expand Down
Binary file not shown.

0 comments on commit 2ed9b61

Please sign in to comment.