summaryrefslogtreecommitdiff
path: root/scripts/nitpick
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2018-01-10 16:04:06 -0800
committerKonstantin Käfer <mail@kkaefer.com>2018-01-24 08:35:31 -0800
commit7ffde741b70ddb14fc92b42379c143c02224b504 (patch)
tree02d65bdc2ac8d37ba8f37d7e99fd1437dd525290 /scripts/nitpick
parentecfb77c637b4b572114a61fe4f6887edd34b474b (diff)
downloadqtlocation-mapboxgl-7ffde741b70ddb14fc92b42379c143c02224b504.tar.gz
[build] Add build that verifies the submodule pin is up-to-date
Diffstat (limited to 'scripts/nitpick')
-rw-r--r--scripts/nitpick/index.js28
-rwxr-xr-xscripts/nitpick/submodule-pin.js13
2 files changed, 41 insertions, 0 deletions
diff --git a/scripts/nitpick/index.js b/scripts/nitpick/index.js
new file mode 100644
index 0000000000..31316e7521
--- /dev/null
+++ b/scripts/nitpick/index.js
@@ -0,0 +1,28 @@
+var failed = false;
+
+process.on('exit', function() {
+ if (failed) {
+ process.exitCode = 1;
+ }
+});
+
+module.exports = function(status, str, desc) {
+ if (status) {
+ console.warn(`\x1b[1m\x1b[32m✔︎ ${str}\x1b[0m`);
+ } else {
+ console.warn(`\x1b[1m\x1b[31m✘ ${str}\x1b[0m`);
+ failed = true;
+ }
+
+ if (desc) {
+ console.warn(`${desc.split('\n').map((line) => '| ' + line).join('\n')}\n`);
+ }
+};
+
+module.exports.ok = function(str, desc) {
+ module.exports(true, str, desc);
+};
+
+module.exports.fail = function(str, desc) {
+ module.exports(false, str, desc);
+};
diff --git a/scripts/nitpick/submodule-pin.js b/scripts/nitpick/submodule-pin.js
new file mode 100755
index 0000000000..7ca129e096
--- /dev/null
+++ b/scripts/nitpick/submodule-pin.js
@@ -0,0 +1,13 @@
+#!/usr/bin/env node
+const nitpick = require('.');
+const child_process = require('child_process');
+
+// Make sure that the mapbox-gl-js submodule pin is up to date
+const head = child_process.execSync('git -C mapbox-gl-js rev-parse HEAD').toString().trim();
+const revs = child_process.execSync(`git -C mapbox-gl-js branch -a --contains ${head}`).toString().split('\n');
+
+if (revs.indexOf(' remotes/origin/master') >= 0) {
+ nitpick.ok(`mapbox-gl-js submodule pin is merged to master`);
+} else {
+ nitpick.fail(`mapbox-gl-js submodule is pinned to ${head}, which isn't merged to master`);
+}