renovate/tools/check-git-version.mjs
Michael Kriese 8270d5512d
refactor: fix lint issues (#16779)
* refactor: fix lint issues

* Update lib/renovate.ts

* chore: revert toplevel await for ts
2022-07-26 08:32:12 +00:00

30 lines
886 B
JavaScript

import semver from 'semver';
import shell from 'shelljs';
import { simpleGit } from 'simple-git';
const GIT_MINIMUM_VERSION = '2.33.0';
const git = simpleGit();
await (async () => {
try {
const regex = /\d+\.\d+\.\d+/;
const stdout = await git.raw('--version');
const [gitVersion] = regex.exec(stdout) ?? [];
if (!gitVersion || semver.lt(gitVersion, GIT_MINIMUM_VERSION)) {
if (process.env.CI) {
shell.echo(
`::error ::Minimum Git version ${GIT_MINIMUM_VERSION} is required, found version '${gitVersion}'.`
);
} else {
throw new Error(
`Minimum Git version ${GIT_MINIMUM_VERSION} is required, found version '${gitVersion}'.`
);
}
}
shell.echo('Found git version: ', gitVersion);
process.exit(0);
} catch (err) {
shell.echo('ERROR:', err.message);
process.exit(1);
}
})();