improve locking naming

pull/524/head
Frostebite 2023-03-20 19:23:53 +00:00
parent a34b82de82
commit e3b1e975ad
9 changed files with 33 additions and 32 deletions

31
dist/index.js generated vendored
View File

@ -207,7 +207,7 @@ const cli_1 = __nccwpck_require__(55651);
const github_1 = __importDefault(__nccwpck_require__(83654));
const cloud_runner_options_1 = __importDefault(__nccwpck_require__(96552));
class BuildParameters {
static useRetainedWorkspaceMode(buildParameters) {
static shouldUseRetainedWorkspaceMode(buildParameters) {
return buildParameters.maxRetainedWorkspaces > 0;
}
static async create() {
@ -548,7 +548,7 @@ class Cli {
${JSON.stringify(buildParameter, undefined, 4)}
`);
__1.CloudRunner.buildParameters = buildParameter;
__1.CloudRunner.lockedWorkspace = process.env.CI_LOCKED_WORKSPACE;
__1.CloudRunner.lockedWorkspace = process.env.CI_LOCKED_WORKSPACE || ``;
await __1.CloudRunner.setup(buildParameter);
return await results.target[results.propertyKey](Cli.options);
}
@ -618,7 +618,7 @@ class Cli {
core.info(`Running POST build tasks`);
await caching_1.Caching.PushToCache(cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(`${cloud_runner_folders_1.CloudRunnerFolders.cacheFolderForCacheKeyFull}/Library`), cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.libraryFolderAbsolute), `lib-${__1.CloudRunner.buildParameters.buildGuid}`);
await caching_1.Caching.PushToCache(cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(`${cloud_runner_folders_1.CloudRunnerFolders.cacheFolderForCacheKeyFull}/build`), cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.projectBuildFolderAbsolute), `build-${__1.CloudRunner.buildParameters.buildGuid}`);
if (!__1.BuildParameters.useRetainedWorkspaceMode(__1.CloudRunner.buildParameters)) {
if (!__1.BuildParameters.shouldUseRetainedWorkspaceMode(__1.CloudRunner.buildParameters)) {
await cloud_runner_system_1.CloudRunnerSystem.Run(`rm -r ${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute)}`);
}
await remote_client_1.RemoteClient.runCustomHookFiles(`after-build`);
@ -1050,7 +1050,7 @@ class CloudRunner {
if (!CloudRunner.buildParameters.isCliMode)
core.endGroup();
try {
if (__1.BuildParameters.useRetainedWorkspaceMode(buildParameters)) {
if (__1.BuildParameters.shouldUseRetainedWorkspaceMode(buildParameters)) {
CloudRunner.lockedWorkspace = shared_workspace_locking_1.default.NewWorkspaceName();
const result = await shared_workspace_locking_1.default.GetLockedWorkspace(CloudRunner.lockedWorkspace, CloudRunner.buildParameters.buildGuid, CloudRunner.buildParameters);
if (result) {
@ -1063,7 +1063,7 @@ class CloudRunner {
else {
cloud_runner_logger_1.default.log(`Max retained workspaces reached ${buildParameters.maxRetainedWorkspaces}`);
buildParameters.maxRetainedWorkspaces = 0;
CloudRunner.lockedWorkspace = undefined;
CloudRunner.lockedWorkspace = ``;
}
}
const content = { ...CloudRunner.buildParameters };
@ -1079,14 +1079,14 @@ class CloudRunner {
if (!CloudRunner.buildParameters.isCliMode)
core.endGroup();
await github_1.default.updateGitHubCheck(CloudRunner.buildParameters.buildGuid, `success`, `success`, `completed`);
if (__1.BuildParameters.useRetainedWorkspaceMode(buildParameters)) {
if (__1.BuildParameters.shouldUseRetainedWorkspaceMode(buildParameters)) {
const workspace = CloudRunner.lockedWorkspace || ``;
await shared_workspace_locking_1.default.ReleaseWorkspace(workspace, CloudRunner.buildParameters.buildGuid, CloudRunner.buildParameters);
const isLocked = await shared_workspace_locking_1.default.IsWorkspaceLocked(workspace, CloudRunner.buildParameters);
if (isLocked) {
throw new Error(`still locked after releasing ${await shared_workspace_locking_1.default.GetAllLocksForWorkspace(workspace, buildParameters)}`);
}
CloudRunner.lockedWorkspace = undefined;
CloudRunner.lockedWorkspace = ``;
}
await github_1.default.triggerWorkflowOnComplete(CloudRunner.buildParameters.finalHooks);
if (buildParameters.constantGarbageCollection) {
@ -1104,6 +1104,7 @@ class CloudRunner {
}
}
}
CloudRunner.lockedWorkspace = ``;
CloudRunner.retainedWorkspacePrefix = `retained-workspace`;
exports["default"] = CloudRunner;
@ -3115,7 +3116,7 @@ class Kubernetes {
defaultSecretsArray) {
try {
this.buildParameters = buildParameters;
const id = __1.BuildParameters.useRetainedWorkspaceMode(buildParameters)
const id = __1.BuildParameters.shouldUseRetainedWorkspaceMode(buildParameters)
? cloud_runner_1.default.lockedWorkspace
: buildParameters.buildGuid;
this.pvcName = `unity-builder-pvc-${id}`;
@ -3278,7 +3279,7 @@ class Kubernetes {
branchName,
// eslint-disable-next-line no-unused-vars
defaultSecretsArray) {
if (__1.BuildParameters.useRetainedWorkspaceMode(buildParameters)) {
if (__1.BuildParameters.shouldUseRetainedWorkspaceMode(buildParameters)) {
return;
}
cloud_runner_logger_1.default.log(`deleting PVC`);
@ -4249,10 +4250,10 @@ class RemoteClient {
}
static async cloneRepoWithoutLFSFiles() {
process.chdir(`${cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
if (build_parameters_1.default.useRetainedWorkspaceMode(cloud_runner_1.default.buildParameters)) {
if (build_parameters_1.default.shouldUseRetainedWorkspaceMode(cloud_runner_1.default.buildParameters)) {
if (node_fs_1.default.existsSync(node_path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute, `.git`))) {
process.chdir(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute);
remote_client_logger_1.RemoteClientLogger.log(`${cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute} repo exists - skipping clone - retained workspace mode ${build_parameters_1.default.useRetainedWorkspaceMode(cloud_runner_1.default.buildParameters)}`);
remote_client_logger_1.RemoteClientLogger.log(`${cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute} repo exists - skipping clone - retained workspace mode ${build_parameters_1.default.shouldUseRetainedWorkspaceMode(cloud_runner_1.default.buildParameters)}`);
await cloud_runner_system_1.CloudRunnerSystem.Run(`git fetch && git reset --hard ${cloud_runner_1.default.buildParameters.gitSha}`);
return;
}
@ -4309,7 +4310,7 @@ class RemoteClient {
}
}
static async handleRetainedWorkspace() {
if (!build_parameters_1.default.useRetainedWorkspaceMode(cloud_runner_1.default.buildParameters)) {
if (!build_parameters_1.default.shouldUseRetainedWorkspaceMode(cloud_runner_1.default.buildParameters)) {
return;
}
remote_client_logger_1.RemoteClientLogger.log(`Retained Workspace: ${cloud_runner_1.default.lockedWorkspace !== undefined}`);
@ -4823,8 +4824,8 @@ class CloudRunnerFolders {
// Only the following paths that do not start a path.join with another "Full" suffixed property need to start with an absolute /
static get uniqueCloudRunnerJobFolderAbsolute() {
return cloud_runner_1.default.buildParameters &&
build_parameters_1.default.useRetainedWorkspaceMode(cloud_runner_1.default.buildParameters) &&
cloud_runner_1.default.lockedWorkspace
build_parameters_1.default.shouldUseRetainedWorkspaceMode(cloud_runner_1.default.buildParameters) &&
cloud_runner_1.default.lockedWorkspace !== ``
? node_path_1.default.join(`/`, CloudRunnerFolders.buildVolumeFolder, cloud_runner_1.default.lockedWorkspace)
: node_path_1.default.join(`/`, CloudRunnerFolders.buildVolumeFolder, cloud_runner_1.default.buildParameters.buildGuid);
}
@ -5331,7 +5332,7 @@ class SharedWorkspaceLocking {
.filter((x) => x.includes(workspace) && x.endsWith(`_lock`));
}
static async GetLockedWorkspace(workspace, runId, buildParametersContext) {
if (!build_parameters_1.default.useRetainedWorkspaceMode(buildParametersContext)) {
if (!build_parameters_1.default.shouldUseRetainedWorkspaceMode(buildParametersContext)) {
return false;
}
if (await SharedWorkspaceLocking.DoesCacheKeyTopLevelExist(buildParametersContext)) {

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@ -81,7 +81,7 @@ class BuildParameters {
public skipCache!: boolean;
public cacheUnityInstallationOnMac!: boolean;
public unityHubVersionOnMac!: string;
public static useRetainedWorkspaceMode(buildParameters: BuildParameters) {
public static shouldUseRetainedWorkspaceMode(buildParameters: BuildParameters) {
return buildParameters.maxRetainedWorkspaces > 0;
}

View File

@ -79,7 +79,7 @@ export class Cli {
${JSON.stringify(buildParameter, undefined, 4)}
`);
CloudRunner.buildParameters = buildParameter;
CloudRunner.lockedWorkspace = process.env.CI_LOCKED_WORKSPACE;
CloudRunner.lockedWorkspace = process.env.CI_LOCKED_WORKSPACE || ``;
await CloudRunner.setup(buildParameter);
return await results.target[results.propertyKey](Cli.options);
@ -191,7 +191,7 @@ export class Cli {
`build-${CloudRunner.buildParameters.buildGuid}`,
);
if (!BuildParameters.useRetainedWorkspaceMode(CloudRunner.buildParameters)) {
if (!BuildParameters.shouldUseRetainedWorkspaceMode(CloudRunner.buildParameters)) {
await CloudRunnerSystem.Run(
`rm -r ${CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute)}`,
);

View File

@ -21,7 +21,7 @@ class CloudRunner {
public static buildParameters: BuildParameters;
private static defaultSecrets: CloudRunnerSecret[];
private static cloudRunnerEnvironmentVariables: CloudRunnerEnvironmentVariable[];
static lockedWorkspace: string | undefined;
static lockedWorkspace: string = ``;
public static readonly retainedWorkspacePrefix: string = `retained-workspace`;
public static get isCloudRunnerEnvironment() {
return process.env[`GITHUB_ACTIONS`] !== `true`;
@ -91,7 +91,7 @@ class CloudRunner {
);
if (!CloudRunner.buildParameters.isCliMode) core.endGroup();
try {
if (BuildParameters.useRetainedWorkspaceMode(buildParameters)) {
if (BuildParameters.shouldUseRetainedWorkspaceMode(buildParameters)) {
CloudRunner.lockedWorkspace = SharedWorkspaceLocking.NewWorkspaceName();
const result = await SharedWorkspaceLocking.GetLockedWorkspace(
@ -109,7 +109,7 @@ class CloudRunner {
} else {
CloudRunnerLogger.log(`Max retained workspaces reached ${buildParameters.maxRetainedWorkspaces}`);
buildParameters.maxRetainedWorkspaces = 0;
CloudRunner.lockedWorkspace = undefined;
CloudRunner.lockedWorkspace = ``;
}
}
const content = { ...CloudRunner.buildParameters };
@ -131,7 +131,7 @@ class CloudRunner {
if (!CloudRunner.buildParameters.isCliMode) core.endGroup();
await GitHub.updateGitHubCheck(CloudRunner.buildParameters.buildGuid, `success`, `success`, `completed`);
if (BuildParameters.useRetainedWorkspaceMode(buildParameters)) {
if (BuildParameters.shouldUseRetainedWorkspaceMode(buildParameters)) {
const workspace = CloudRunner.lockedWorkspace || ``;
await SharedWorkspaceLocking.ReleaseWorkspace(
workspace,
@ -147,7 +147,7 @@ class CloudRunner {
)}`,
);
}
CloudRunner.lockedWorkspace = undefined;
CloudRunner.lockedWorkspace = ``;
}
await GitHub.triggerWorkflowOnComplete(CloudRunner.buildParameters.finalHooks);

View File

@ -95,7 +95,7 @@ class Kubernetes implements ProviderInterface {
) {
try {
this.buildParameters = buildParameters;
const id = BuildParameters.useRetainedWorkspaceMode(buildParameters)
const id = BuildParameters.shouldUseRetainedWorkspaceMode(buildParameters)
? CloudRunner.lockedWorkspace
: buildParameters.buildGuid;
this.pvcName = `unity-builder-pvc-${id}`;
@ -334,7 +334,7 @@ class Kubernetes implements ProviderInterface {
// eslint-disable-next-line no-unused-vars
defaultSecretsArray: { ParameterKey: string; EnvironmentVariable: string; ParameterValue: string }[],
) {
if (BuildParameters.useRetainedWorkspaceMode(buildParameters)) {
if (BuildParameters.shouldUseRetainedWorkspaceMode(buildParameters)) {
return;
}
CloudRunnerLogger.log(`deleting PVC`);

View File

@ -91,13 +91,13 @@ export class RemoteClient {
private static async cloneRepoWithoutLFSFiles() {
process.chdir(`${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
if (BuildParameters.useRetainedWorkspaceMode(CloudRunner.buildParameters)) {
if (BuildParameters.shouldUseRetainedWorkspaceMode(CloudRunner.buildParameters)) {
if (fs.existsSync(path.join(CloudRunnerFolders.repoPathAbsolute, `.git`))) {
process.chdir(CloudRunnerFolders.repoPathAbsolute);
RemoteClientLogger.log(
`${
CloudRunnerFolders.repoPathAbsolute
} repo exists - skipping clone - retained workspace mode ${BuildParameters.useRetainedWorkspaceMode(
} repo exists - skipping clone - retained workspace mode ${BuildParameters.shouldUseRetainedWorkspaceMode(
CloudRunner.buildParameters,
)}`,
);
@ -162,7 +162,7 @@ export class RemoteClient {
}
}
static async handleRetainedWorkspace() {
if (!BuildParameters.useRetainedWorkspaceMode(CloudRunner.buildParameters)) {
if (!BuildParameters.shouldUseRetainedWorkspaceMode(CloudRunner.buildParameters)) {
return;
}
RemoteClientLogger.log(`Retained Workspace: ${CloudRunner.lockedWorkspace !== undefined}`);

View File

@ -14,8 +14,8 @@ export class CloudRunnerFolders {
public static get uniqueCloudRunnerJobFolderAbsolute(): string {
return CloudRunner.buildParameters &&
BuildParameters.useRetainedWorkspaceMode(CloudRunner.buildParameters) &&
CloudRunner.lockedWorkspace
BuildParameters.shouldUseRetainedWorkspaceMode(CloudRunner.buildParameters) &&
CloudRunner.lockedWorkspace !== ``
? path.join(`/`, CloudRunnerFolders.buildVolumeFolder, CloudRunner.lockedWorkspace)
: path.join(`/`, CloudRunnerFolders.buildVolumeFolder, CloudRunner.buildParameters.buildGuid);
}

View File

@ -63,7 +63,7 @@ export class SharedWorkspaceLocking {
.filter((x) => x.includes(workspace) && x.endsWith(`_lock`));
}
public static async GetLockedWorkspace(workspace: string, runId: string, buildParametersContext: BuildParameters) {
if (!BuildParameters.useRetainedWorkspaceMode(buildParametersContext)) {
if (!BuildParameters.shouldUseRetainedWorkspaceMode(buildParametersContext)) {
return false;
}