mirror of
https://github.com/game-ci/unity-builder.git
synced 2026-06-12 08:53:55 -07:00
9d475434d3
* Rename "Cloud Runner" to "Orchestrator" across entire codebase Breaking change: All CloudRunner classes, options, environment variables, and action.yml inputs have been renamed to Orchestrator equivalents. - Renamed src/model/cloud-runner/ directory to src/model/orchestrator/ - Renamed all cloud-runner-* files to orchestrator-* - Renamed all CloudRunner* classes to Orchestrator* (15+ classes) - Renamed all cloudRunner* properties to orchestrator* equivalents - Renamed CLOUD_RUNNER_* env vars to ORCHESTRATOR_* - Updated action.yml [CloudRunner] markers to [Orchestrator] - Updated workflow files and package.json test scripts - Updated all runtime strings (cache paths, log messages, branch refs) - Rebuilt dist/index.js No backward compatibility layer is provided. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Remove tracked log/temp files and add to .gitignore Remove $LOG_FILE and temp/job-log.txt debug artifacts that should not be in the repository. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
88 lines
3.2 KiB
TypeScript
88 lines
3.2 KiB
TypeScript
import BuildParameters from '../../../build-parameters';
|
|
import { OrchestratorSystem } from '../../services/core/orchestrator-system';
|
|
import OrchestratorEnvironmentVariable from '../../options/orchestrator-environment-variable';
|
|
import OrchestratorLogger from '../../services/core/orchestrator-logger';
|
|
import { ProviderInterface } from '../provider-interface';
|
|
import OrchestratorSecret from '../../options/orchestrator-secret';
|
|
import { ProviderResource } from '../provider-resource';
|
|
import { ProviderWorkflow } from '../provider-workflow';
|
|
import { quote } from 'shell-quote';
|
|
|
|
class LocalOrchestrator implements ProviderInterface {
|
|
listResources(): Promise<ProviderResource[]> {
|
|
throw new Error('Method not implemented.');
|
|
}
|
|
listWorkflow(): Promise<ProviderWorkflow[]> {
|
|
throw new Error('Method not implemented.');
|
|
}
|
|
watchWorkflow(): Promise<string> {
|
|
throw new Error('Method not implemented.');
|
|
}
|
|
garbageCollect(
|
|
// eslint-disable-next-line no-unused-vars
|
|
filter: string,
|
|
// eslint-disable-next-line no-unused-vars
|
|
previewOnly: boolean,
|
|
// eslint-disable-next-line no-unused-vars
|
|
olderThan: Number,
|
|
// eslint-disable-next-line no-unused-vars
|
|
fullCache: boolean,
|
|
// eslint-disable-next-line no-unused-vars
|
|
baseDependencies: boolean,
|
|
): Promise<string> {
|
|
throw new Error('Method not implemented.');
|
|
}
|
|
cleanupWorkflow(
|
|
// eslint-disable-next-line no-unused-vars
|
|
buildParameters: BuildParameters,
|
|
// eslint-disable-next-line no-unused-vars
|
|
branchName: string,
|
|
// eslint-disable-next-line no-unused-vars
|
|
defaultSecretsArray: { ParameterKey: string; EnvironmentVariable: string; ParameterValue: string }[],
|
|
) {}
|
|
public setupWorkflow(
|
|
// eslint-disable-next-line no-unused-vars
|
|
buildGuid: string,
|
|
// eslint-disable-next-line no-unused-vars
|
|
buildParameters: BuildParameters,
|
|
// eslint-disable-next-line no-unused-vars
|
|
branchName: string,
|
|
// eslint-disable-next-line no-unused-vars
|
|
defaultSecretsArray: { ParameterKey: string; EnvironmentVariable: string; ParameterValue: string }[],
|
|
) {}
|
|
public async runTaskInWorkflow(
|
|
buildGuid: string,
|
|
image: string,
|
|
commands: string,
|
|
// eslint-disable-next-line no-unused-vars
|
|
mountdir: string,
|
|
// eslint-disable-next-line no-unused-vars
|
|
workingdir: string,
|
|
// eslint-disable-next-line no-unused-vars
|
|
environment: OrchestratorEnvironmentVariable[],
|
|
// eslint-disable-next-line no-unused-vars
|
|
secrets: OrchestratorSecret[],
|
|
): Promise<string> {
|
|
OrchestratorLogger.log(image);
|
|
OrchestratorLogger.log(buildGuid);
|
|
OrchestratorLogger.log(commands);
|
|
|
|
// On Windows, many built-in hooks use POSIX shell syntax. Execute via bash if available.
|
|
if (process.platform === 'win32') {
|
|
const inline = commands
|
|
.replace(/\r/g, '')
|
|
.split('\n')
|
|
.filter((x) => x.trim().length > 0)
|
|
.join(' ; ');
|
|
|
|
// Use shell-quote to properly escape the command string, preventing command injection
|
|
const bashWrapped = `bash -lc ${quote([inline])}`;
|
|
|
|
return await OrchestratorSystem.Run(bashWrapped);
|
|
}
|
|
|
|
return await OrchestratorSystem.Run(commands);
|
|
}
|
|
}
|
|
export default LocalOrchestrator;
|