Add macOSVersion helper

This commit is contained in:
Michael B. Gale
2026-10-16 17:28:08 +01:00
parent f364105950
commit 570e438ccc
2 changed files with 68 additions and 1 deletions

View File

@@ -1,3 +1,7 @@
import * as semver from "semver";
import type { ActionState } from "./action-common";
/** Platform identifiers used in CodeQL bundle asset names. */
export enum BundlePlatform {
Linux64 = "linux64",
@@ -24,3 +28,28 @@ export function getBundlePlatform(
return undefined;
}
}
/**
* Tries to determine the version of macOS.
*
* @returns
* The version as either a semantic version object, the raw version string
* if it is not a semantic version, or `undefined` if we are not on macOS.
*/
export function macOSVersion(
action: ActionState<["Base"]>,
): semver.SemVer | string | undefined {
// Skip if we are not running on macOS.
if (action.platform !== "darwin") {
return undefined;
}
// Try to parse the OS version string.
const version = semver.parse(action.osRelease);
if (version === null) {
return action.osRelease;
}
return version;
}