log file path

pull/531/head
Frostebite 2023-05-13 20:10:19 +01:00
parent f46b38716a
commit d21b193601
5 changed files with 79 additions and 47 deletions

46
dist/index.js generated vendored
View File

@ -494,8 +494,6 @@ const lfs_hashing_1 = __nccwpck_require__(16785);
const remote_client_1 = __nccwpck_require__(48135);
const cloud_runner_options_reader_1 = __importDefault(__nccwpck_require__(96879));
const github_1 = __importDefault(__nccwpck_require__(83654));
const cloud_runner_folders_1 = __nccwpck_require__(77795);
const cloud_runner_system_1 = __nccwpck_require__(4197);
class Cli {
static get isCliMode() {
return Cli.options !== undefined && Cli.options.mode !== undefined && Cli.options.mode !== '';
@ -615,16 +613,6 @@ class Cli {
await __1.CloudRunner.setup(buildParameter);
return await __1.CloudRunner.Provider.watchWorkflow();
}
static async PostCLIBuild() {
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.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`);
return new Promise((result) => result(``));
}
}
__decorate([
cli_functions_repository_1.CliFunction(`print-input`, `prints all input`)
@ -650,9 +638,6 @@ __decorate([
__decorate([
cli_functions_repository_1.CliFunction(`watch`, `follows logs of a running workflow`)
], Cli, "Watch", null);
__decorate([
cli_functions_repository_1.CliFunction(`remote-cli-post-build`, `runs a cloud runner build`)
], Cli, "PostCLIBuild", null);
exports.Cli = Cli;
@ -4318,6 +4303,17 @@ class RemoteClient {
await RemoteClient.replaceLargePackageReferencesWithSharedReferences();
await RemoteClient.runCustomHookFiles(`before-build`);
}
static async PostCLIBuild() {
remote_client_logger_1.RemoteClientLogger.log(`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-${cloud_runner_1.default.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-${cloud_runner_1.default.buildParameters.buildGuid}`);
if (!build_parameters_1.default.shouldUseRetainedWorkspaceMode(cloud_runner_1.default.buildParameters)) {
await cloud_runner_system_1.CloudRunnerSystem.Run(`rm -r ${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute)}`);
}
await RemoteClient.runCustomHookFiles(`after-build`);
remote_client_logger_1.RemoteClientLogger.printCollectedLogs();
return new Promise((result) => result(``));
}
static async runCustomHookFiles(hookLifecycle) {
remote_client_logger_1.RemoteClientLogger.log(`RunCustomHookFiles: ${hookLifecycle}`);
const gameCiCustomHooksPath = node_path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute, `game-ci`, `hooks`);
@ -4440,6 +4436,9 @@ class RemoteClient {
__decorate([
cli_functions_repository_1.CliFunction(`remote-cli-pre-build`, `sets up a repository, usually before a game-ci build`)
], RemoteClient, "runRemoteClientJob", null);
__decorate([
cli_functions_repository_1.CliFunction(`remote-cli-post-build`, `runs a cloud runner build`)
], RemoteClient, "PostCLIBuild", null);
exports.RemoteClient = RemoteClient;
@ -4455,10 +4454,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.RemoteClientLogger = void 0;
const node_path_1 = __importDefault(__nccwpck_require__(49411));
const cloud_runner_folders_1 = __nccwpck_require__(77795);
const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(42864));
const node_fs_1 = __importDefault(__nccwpck_require__(87561));
class RemoteClientLogger {
static get LogFilePath() {
return node_path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute, `job-log.txt`);
}
static log(message) {
cloud_runner_logger_1.default.log(`[Client] ${message}`);
const finalMessage = `[Client] ${message}`;
this.appendToFile(finalMessage);
cloud_runner_logger_1.default.log(finalMessage);
}
static logCliError(message) {
cloud_runner_logger_1.default.log(`[Client][Error] ${message}`);
@ -4469,6 +4476,13 @@ class RemoteClientLogger {
static logWarning(message) {
cloud_runner_logger_1.default.logWarning(message);
}
static appendToFile(message) {
node_fs_1.default.appendFileSync(RemoteClientLogger.LogFilePath, message);
}
static printCollectedLogs() {
cloud_runner_logger_1.default.log(`Collected Logs`);
cloud_runner_logger_1.default.log(node_fs_1.default.readFileSync(RemoteClientLogger.LogFilePath).toString());
}
}
exports.RemoteClientLogger = RemoteClientLogger;

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@ -10,8 +10,6 @@ import { LfsHashing } from '../cloud-runner/services/utility/lfs-hashing';
import { RemoteClient } from '../cloud-runner/remote-client';
import CloudRunnerOptionsReader from '../cloud-runner/options/cloud-runner-options-reader';
import GitHub from '../github';
import { CloudRunnerFolders } from '../cloud-runner/options/cloud-runner-folders';
import { CloudRunnerSystem } from '../cloud-runner/services/core/cloud-runner-system';
import { OptionValues } from 'commander';
import { InputKey } from '../input';
@ -173,31 +171,4 @@ export class Cli {
return await CloudRunner.Provider.watchWorkflow();
}
@CliFunction(`remote-cli-post-build`, `runs a cloud runner build`)
public static async PostCLIBuild(): Promise<string> {
core.info(`Running POST build tasks`);
await Caching.PushToCache(
CloudRunnerFolders.ToLinuxFolder(`${CloudRunnerFolders.cacheFolderForCacheKeyFull}/Library`),
CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.libraryFolderAbsolute),
`lib-${CloudRunner.buildParameters.buildGuid}`,
);
await Caching.PushToCache(
CloudRunnerFolders.ToLinuxFolder(`${CloudRunnerFolders.cacheFolderForCacheKeyFull}/build`),
CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.projectBuildFolderAbsolute),
`build-${CloudRunner.buildParameters.buildGuid}`,
);
if (!BuildParameters.shouldUseRetainedWorkspaceMode(CloudRunner.buildParameters)) {
await CloudRunnerSystem.Run(
`rm -r ${CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute)}`,
);
}
await RemoteClient.runCustomHookFiles(`after-build`);
return new Promise((result) => result(``));
}
}

View File

@ -23,6 +23,35 @@ export class RemoteClient {
await RemoteClient.replaceLargePackageReferencesWithSharedReferences();
await RemoteClient.runCustomHookFiles(`before-build`);
}
@CliFunction(`remote-cli-post-build`, `runs a cloud runner build`)
public static async PostCLIBuild(): Promise<string> {
RemoteClientLogger.log(`Running POST build tasks`);
await Caching.PushToCache(
CloudRunnerFolders.ToLinuxFolder(`${CloudRunnerFolders.cacheFolderForCacheKeyFull}/Library`),
CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.libraryFolderAbsolute),
`lib-${CloudRunner.buildParameters.buildGuid}`,
);
await Caching.PushToCache(
CloudRunnerFolders.ToLinuxFolder(`${CloudRunnerFolders.cacheFolderForCacheKeyFull}/build`),
CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.projectBuildFolderAbsolute),
`build-${CloudRunner.buildParameters.buildGuid}`,
);
if (!BuildParameters.shouldUseRetainedWorkspaceMode(CloudRunner.buildParameters)) {
await CloudRunnerSystem.Run(
`rm -r ${CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute)}`,
);
}
await RemoteClient.runCustomHookFiles(`after-build`);
RemoteClientLogger.printCollectedLogs();
return new Promise((result) => result(``));
}
static async runCustomHookFiles(hookLifecycle: string) {
RemoteClientLogger.log(`RunCustomHookFiles: ${hookLifecycle}`);
const gameCiCustomHooksPath = path.join(CloudRunnerFolders.repoPathAbsolute, `game-ci`, `hooks`);

View File

@ -1,8 +1,17 @@
import path from 'node:path';
import { CloudRunnerFolders } from '../options/cloud-runner-folders';
import CloudRunnerLogger from '../services/core/cloud-runner-logger';
import fs from 'node:fs';
export class RemoteClientLogger {
private static get LogFilePath() {
return path.join(CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute, `job-log.txt`);
}
public static log(message: string) {
CloudRunnerLogger.log(`[Client] ${message}`);
const finalMessage = `[Client] ${message}`;
this.appendToFile(finalMessage);
CloudRunnerLogger.log(finalMessage);
}
public static logCliError(message: string) {
@ -16,4 +25,13 @@ export class RemoteClientLogger {
public static logWarning(message: string) {
CloudRunnerLogger.logWarning(message);
}
public static appendToFile(message: string) {
fs.appendFileSync(RemoteClientLogger.LogFilePath, message);
}
public static printCollectedLogs() {
CloudRunnerLogger.log(`Collected Logs`);
CloudRunnerLogger.log(fs.readFileSync(RemoteClientLogger.LogFilePath).toString());
}
}