2021-09-15 09:04:17 -06:00
|
|
|
import semver from 'semver';
|
2022-07-26 02:32:12 -06:00
|
|
|
import { simpleGit } from 'simple-git';
|
2021-09-15 09:04:17 -06:00
|
|
|
|
|
|
|
const GIT_MINIMUM_VERSION = '2.33.0';
|
|
|
|
const git = simpleGit();
|
2022-07-26 02:32:12 -06:00
|
|
|
|
|
|
|
await (async () => {
|
2021-09-15 09:04:17 -06:00
|
|
|
try {
|
2022-09-14 05:47:33 -06:00
|
|
|
const { major, minor, patch, installed } = await git.version();
|
|
|
|
const gitVersion = `${major}.${minor}.${patch}`;
|
|
|
|
if (!installed || semver.lt(gitVersion, GIT_MINIMUM_VERSION)) {
|
2021-09-15 09:04:17 -06:00
|
|
|
if (process.env.CI) {
|
2023-04-28 06:17:48 -06:00
|
|
|
console.log(
|
2023-11-07 08:50:29 -07:00
|
|
|
`::error ::Minimum Git version ${GIT_MINIMUM_VERSION} is required, found version '${gitVersion}'.`,
|
2021-09-15 09:04:17 -06:00
|
|
|
);
|
|
|
|
} else {
|
|
|
|
throw new Error(
|
2023-11-07 08:50:29 -07:00
|
|
|
`Minimum Git version ${GIT_MINIMUM_VERSION} is required, found version '${gitVersion}'.`,
|
2021-09-15 09:04:17 -06:00
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
2023-04-28 06:17:48 -06:00
|
|
|
console.log('Found git version: ', gitVersion);
|
2021-09-15 09:04:17 -06:00
|
|
|
process.exit(0);
|
|
|
|
} catch (err) {
|
2023-04-28 06:17:48 -06:00
|
|
|
console.log('ERROR:', err.message);
|
2021-09-15 09:04:17 -06:00
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
})();
|