pull/437/head
Frostebite 2022-10-16 03:02:23 +01:00
parent 20a967df3b
commit 1cb7032619
4 changed files with 25 additions and 21 deletions

21
dist/index.js vendored
View File

@ -4064,13 +4064,14 @@ class RemoteClient {
if (cloud_runner_options_1.default.cloudRunnerDebugTree) {
yield cloud_runner_system_1.CloudRunnerSystem.Run(`tree -L 2 ${cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
}
if (fs_1.default.existsSync(path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute, `.git`))) {
if (cloud_runner_1.default.buildParameters.retainWorkspace &&
fs_1.default.existsSync(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 ${cloud_runner_1.default.buildParameters.retainWorkspace}`);
yield cloud_runner_system_1.CloudRunnerSystem.Run(`git reset --hard ${cloud_runner_1.default.buildParameters.gitSha}`);
return;
}
if (fs_1.default.existsSync(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute) && !cloud_runner_1.default.buildParameters.retainWorkspace) {
if (fs_1.default.existsSync(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute)) {
yield cloud_runner_system_1.CloudRunnerSystem.Run(`rm -r ${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute)}`);
}
try {
@ -4266,14 +4267,14 @@ class CloudRunnerCustomHooks {
const results = [];
remote_client_logger_1.RemoteClientLogger.log(`GetCustomStepFiles: ${hookLifecycle}`);
try {
const gameCiCustomStepsPath = path_1.default.join(process.cwd(), `game-ci`, `steps`);
const gameCiCustomStepsPath = path_1.default.join(process.cwd(), `game-ci`, `hooks`);
const files = fs.readdirSync(gameCiCustomStepsPath);
for (const file of files) {
if (!cloud_runner_options_1.default.customHookFiles.includes(file.replace(`.yaml`, ``))) {
continue;
}
const fileContents = fs.readFileSync(path_1.default.join(gameCiCustomStepsPath, file), `utf8`);
const fileContentsObject = CloudRunnerCustomHooks.ParseSteps(fileContents)[0];
const fileContentsObject = CloudRunnerCustomHooks.ParseHooks(fileContents)[0];
if (fileContentsObject.hook.includes(hookLifecycle)) {
results.push(fileContentsObject);
}
@ -4298,19 +4299,19 @@ class CloudRunnerCustomHooks {
};
});
}
static ParseSteps(steps) {
static ParseHooks(steps) {
if (steps === '') {
return [];
}
// if (CloudRunner.buildParameters?.cloudRunnerIntegrationTests) {
cloud_runner_logger_1.default.log(`Parsing build steps: ${steps}`);
cloud_runner_logger_1.default.log(`Parsing build hooks: ${steps}`);
// }
const isArray = steps.replace(/\s/g, ``)[0] === `-`;
const object = isArray ? yaml_1.default.parse(steps) : [yaml_1.default.parse(steps)];
for (const step of object) {
CloudRunnerCustomHooks.ConvertYamlSecrets(step);
if (step.secrets === undefined) {
step.secrets = [];
for (const hook of object) {
CloudRunnerCustomHooks.ConvertYamlSecrets(hook);
if (hook.secrets === undefined) {
hook.secrets = [];
}
}
if (object === undefined) {

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -68,7 +68,10 @@ export class RemoteClient {
await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
}
if (fs.existsSync(path.join(CloudRunnerFolders.repoPathAbsolute, `.git`))) {
if (
CloudRunner.buildParameters.retainWorkspace &&
fs.existsSync(path.join(CloudRunnerFolders.repoPathAbsolute, `.git`))
) {
process.chdir(CloudRunnerFolders.repoPathAbsolute);
RemoteClientLogger.log(
`${CloudRunnerFolders.repoPathAbsolute} repo exists - skipping clone - retained workspace mode ${CloudRunner.buildParameters.retainWorkspace}`,
@ -78,7 +81,7 @@ export class RemoteClient {
return;
}
if (fs.existsSync(CloudRunnerFolders.repoPathAbsolute) && !CloudRunner.buildParameters.retainWorkspace) {
if (fs.existsSync(CloudRunnerFolders.repoPathAbsolute)) {
await CloudRunnerSystem.Run(`rm -r ${CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.repoPathAbsolute)}`);
}

View File

@ -41,14 +41,14 @@ export class CloudRunnerCustomHooks {
const results: Hook[] = [];
RemoteClientLogger.log(`GetCustomStepFiles: ${hookLifecycle}`);
try {
const gameCiCustomStepsPath = path.join(process.cwd(), `game-ci`, `steps`);
const gameCiCustomStepsPath = path.join(process.cwd(), `game-ci`, `hooks`);
const files = fs.readdirSync(gameCiCustomStepsPath);
for (const file of files) {
if (!CloudRunnerOptions.customHookFiles.includes(file.replace(`.yaml`, ``))) {
continue;
}
const fileContents = fs.readFileSync(path.join(gameCiCustomStepsPath, file), `utf8`);
const fileContentsObject = CloudRunnerCustomHooks.ParseSteps(fileContents)[0];
const fileContentsObject = CloudRunnerCustomHooks.ParseHooks(fileContents)[0];
if (fileContentsObject.hook.includes(hookLifecycle)) {
results.push(fileContentsObject);
}
@ -76,22 +76,22 @@ export class CloudRunnerCustomHooks {
});
}
public static ParseSteps(steps: string): Hook[] {
public static ParseHooks(steps: string): Hook[] {
if (steps === '') {
return [];
}
// if (CloudRunner.buildParameters?.cloudRunnerIntegrationTests) {
CloudRunnerLogger.log(`Parsing build steps: ${steps}`);
CloudRunnerLogger.log(`Parsing build hooks: ${steps}`);
// }
const isArray = steps.replace(/\s/g, ``)[0] === `-`;
const object: Hook[] = isArray ? YAML.parse(steps) : [YAML.parse(steps)];
for (const step of object) {
CloudRunnerCustomHooks.ConvertYamlSecrets(step);
if (step.secrets === undefined) {
step.secrets = [];
for (const hook of object) {
CloudRunnerCustomHooks.ConvertYamlSecrets(hook);
if (hook.secrets === undefined) {
hook.secrets = [];
}
}
if (object === undefined) {