Skip to content

Commit 278aa48

Browse files
committed
Clean up build process for new branch structure
1 parent db15497 commit 278aa48

File tree

2 files changed

+14
-41
lines changed

2 files changed

+14
-41
lines changed

gulpfile.js

Lines changed: 13 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ var fs = require('fs');
88
// Fetch command-line arguments.
99
var args = minimist(process.argv.slice(2), {
1010
string: ['env', 'newversion', 'tagmessage'],
11+
alias: { v: 'newversion', m: 'tagmessage' },
1112
default: {
1213
env: process.env.NODE_ENV || 'production',
1314
newversion: 'patch',
@@ -16,25 +17,12 @@ var args = minimist(process.argv.slice(2), {
1617
});
1718
args.newversion = args.newversion || 'patch';
1819

19-
/* ----- REUSABLE TASKS ----- */
20-
2120
// Get package version from package.json.
2221
function getVersion() {
2322
var pkg = JSON.parse(fs.readFileSync('./package.json'));
2423
return 'v' + pkg.version;
2524
}
2625

27-
// Merge the specified branch back into master and develop.
28-
function mergeBranch(branch) {
29-
var mergeCmd = 'git merge --no-ff --no-edit ' + branch;
30-
31-
console.log('Merging release into master.')
32-
return exec('git checkout master && ' + mergeCmd).then(function() {
33-
console.log('Merging release into develop.')
34-
return exec('git checkout develop && ' + mergeCmd);
35-
});
36-
}
37-
3826
/* ----- TASKS ----- */
3927

4028
// Bump version using NPM (only affects package*.json, doesn't commit).
@@ -43,39 +31,25 @@ gulp.task('bump-version', function bumpVersion() {
4331
return exec('npm --no-git-tag-version version ' + args.newversion);
4432
});
4533

46-
// Stage a release (bump version and create a 'release/[version]' branch).
47-
gulp.task('stage-release', gulp.series('bump-version', function stageRelease() {
48-
var version = getVersion();
49-
var branch = 'release/' + version;
50-
var cmd = 'git checkout -b ' + branch + ' && git add -A';
51-
cmd += ' && git commit -m "Prepare release ' + version + '"';
52-
53-
console.log('Creating release branch and committing changes.');
54-
return exec(cmd);
55-
}));
56-
57-
gulp.task('finalize-release', function finalizeRelease() {
34+
// Bump version, build, commit, tag, and merge into stable.
35+
gulp.task('release', gulp.series('bump-version', function release() {
5836
var version = getVersion();
59-
var branch = 'release/' + version;
37+
var branch = 'master';
6038
var cmd = 'git checkout ' + branch + ' && npm run build';
6139

62-
console.log('Running build process in release branch.');
40+
console.log('Running build process in master branch.');
6341
return exec(cmd).then(function() {
6442
console.log('Adding all changes and performing final commit.');
6543
return exec('git add -A && git commit --allow-empty -m "Build ' + version + '"');
66-
}).then(function() {
44+
}).then(function () {
6745
console.log('Tagging with provided tag message.');
6846
return exec('git tag -a ' + version + ' -m "' + version + ' ' + args.tagmessage + '"');
69-
});
70-
});
71-
72-
// Tag and merge the latest release into master/develop.
73-
gulp.task('release', gulp.series('finalize-release', function release() {
74-
var version = getVersion();
75-
var branch = 'release/' + version;
76-
77-
return mergeBranch(branch).then(function() {
78-
console.log('Deleting release branch.');
79-
return exec('git branch -d ' + branch);
47+
}).then(function () {
48+
console.log('Getting repo root location.');
49+
return exec('git rev-parse --show-toplevel');
50+
}).then(function (res) {
51+
console.log('Pushing release to stable branch.');
52+
var repoRoot = res.stdout.trim('\n');
53+
return exec('git push --follow-tags ' + repoRoot + ' master:stable')
8054
});
8155
}));

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,7 @@
5050
"build": "rollup -c",
5151
"clean": "rimraf dist",
5252
"test": "echo \"Error: no test specified\" && exit 1",
53-
"stage-release": "gulp stage-release --newversion",
54-
"release": "gulp release --tagmessage",
53+
"release": "gulp release --newversion",
5554
"publish": "npm publish",
5655
"prebuild": "npm install && npm run clean"
5756
}

0 commit comments

Comments
 (0)