Remove git dependency for beta rebuilds

This commit is contained in:
Oliver Blanthorn 2021-04-30 10:05:15 +02:00
parent 4776d73a52
commit c9d9fb8edc
No known key found for this signature in database
GPG key ID: 2BB8C36BB504BFF3

View file

@ -1,6 +1,7 @@
#!/usr/bin/env node
const { exec } = require("child_process")
const fs = require("fs")
function bump_version(versionstr, component = 2) {
const versionarr = versionstr.split(".")
@ -12,21 +13,37 @@ function bump_version(versionstr, component = 2) {
}
async function add_beta(versionstr) {
return new Promise((resolve, err) => {
exec("git rev-list --count HEAD", (execerr, stdout, stderr) => {
if (execerr) err(execerr)
resolve(versionstr + "pre" + stdout.trim())
await fs.promises.mkdir(".build_cache", {recursive: true})
try {
await fs.promises.access(".git")
await new Promise((resolve, err) => {
exec("git rev-list --count HEAD > .build_cache/count", (execerr, stdout, stderr) => {
if (execerr) err(execerr)
resolve(stdout.trim())
})
})
})
}
catch {
; // Not in a git directory - don't do anything
}
return versionstr + "pre" + (await fs.promises.readFile(".build_cache/count", {encoding: "utf8"})).trim()
}
async function get_hash() {
return new Promise((resolve, err) => {
exec("git rev-parse --short HEAD", (execerr, stdout, stderr) => {
if (execerr) err(execerr)
resolve(stdout.trim())
await fs.promises.mkdir(".build_cache", {recursive: true})
try {
await fs.promises.access(".git")
await new Promise((resolve, err) => {
exec("git rev-parse --short HEAD > .build_cache/hash", (execerr, stdout, stderr) => {
if (execerr) err(execerr)
resolve(stdout.trim())
})
})
})
}
catch {
; // Not in a git directory - don't do anything
}
return (await fs.promises.readFile(".build_cache/hash", {encoding: "utf8"})).trim()
}
function make_update_json(versionstr) {
@ -102,7 +119,7 @@ async function main() {
make_update_json(manifest.version),
)
} catch(e) {
console.warn("updates.json wasn't updated: " + e)
console.warn("Unless you're the buildbot, ignore this error: " + e)
}
// Save manifest.json