-
Benoit Lavenier authored
[fix] Minor fix in release scripts (add better log)
Benoit Lavenier authored[fix] Minor fix in release scripts (add better log)
exists-tag.js 1.35 KiB
"use strict";
const co = require('co');
const fs = require('fs');
const os = require('os');
const path = require('path');
const rp = require('request-promise');
const REPO = 'duniter/cesium'
const tagName = process.argv[2]
let GITHUB_TOKEN = process.env.GITHUB_TOKEN;
if (!GITHUB_TOKEN) {
const tokenFilePath = path.resolve(os.homedir(), '.config/cesium/.github');
GITHUB_TOKEN = fs.readFileSync(tokenFilePath, 'utf8').replace(/\n/g, '')
}
co(function*() {
try {
// Get release URL
let refs
try {
refs = yield github('/repos/' + REPO + '/git/refs/tags/')
} catch (e) {
if (!(e && e.statusCode == 404)) {
throw e
}
}
let tag = ""
for (const ref of refs) {
if (ref.ref === 'refs/tags/' + tagName) {
tag = tagName
}
}
// As a result of the command, log the tag
console.log(tag)
} catch (e) {
console.error(e);
}
process.exit(0);
});
function github(url, method = 'GET', body = undefined) {
return co(function*() {
yield new Promise((resolve) => setTimeout(resolve, 1));
return yield rp({
uri: 'https://api.github.com' + url,
method,
body,
json: true,
headers: {
'User-Agent': 'Request-Promise',
'Authorization': 'token ' + GITHUB_TOKEN,
'Accept': 'application/vnd.github.v3+json'
}
});
});
}