chore: add ensure golanglint version

main
chatton 2 years ago
parent 013575e551
commit 23d6e9525e

@ -0,0 +1,35 @@
#!/usr/bin/env zx
$.verbose = false;
async function getGoVersion() {
const goVersionProcess = await $`go version`;
const re = /go version go(.*) /
return re.exec(goVersionProcess.stdout)[1]
}
try {
let gitRoot = await $`git rev-parse --show-toplevel`;
gitRoot = gitRoot.stdout.trim();
const lintPath = `${gitRoot}/.github/workflows/golangci.yml`;
const catOutput = await $`cat ${lintPath}`;
const contents = catOutput.stdout;
let re = /version:\sv(.*)/
const targetVersion = re.exec(contents)[1]
let currentVersion = await $`golangci-lint --version`
re = /golangci-lint has version (.*) built.*/
currentVersion = re.exec(currentVersion.stdout)[1]
let goVersion = await getGoVersion()
goVersion = goVersion.substring(0, 4); // strip off the patch version
if (currentVersion !== targetVersion) {
await $`curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b /Users/chatton/.gvm/pkgsets/go${goVersion}/global/bin v${targetVersion}`
console.log("updated to version " + targetVersion);
}
} catch (e) {
await $`exit 0`;
}
Loading…
Cancel
Save