unity-builder/src/index.ts

39 lines
1.2 KiB
TypeScript
Raw Normal View History

import * as core from '@actions/core';
2021-12-13 22:21:26 +00:00
import { Action, BuildParameters, Cache, Docker, ImageTag, Output, CloudRunner, Input } from './model';
2021-12-25 19:35:09 +00:00
import { CLI } from './model/cli/cli';
2021-12-13 22:21:26 +00:00
async function runMain() {
try {
Action.checkCompatibility();
Cache.verify();
const { dockerfile, workspace, actionFolder } = Action;
const buildParameters = await BuildParameters.create();
const baseImage = new ImageTag(buildParameters);
2021-12-29 16:55:37 +00:00
if (
buildParameters.cloudRunnerCluster &&
buildParameters.cloudRunnerCluster !== '' &&
buildParameters.cloudRunnerCluster !== 'local'
) {
await CloudRunner.run(buildParameters, baseImage.toString());
} else {
core.info('Building locally');
2021-12-29 16:18:36 +00:00
const builtImage = await Docker.build({ path: actionFolder, dockerfile, baseImage });
await Docker.run(builtImage, { workspace, ...buildParameters });
}
// Set output
await Output.setBuildVersion(buildParameters.buildVersion);
} catch (error) {
2021-09-08 22:17:23 +00:00
core.setFailed((error as Error).message);
}
}
2021-12-25 19:35:09 +00:00
const options = CLI.SetupCli();
if (CLI.isCliMode(options)) {
CLI.RunCli(options);
} else {
Input.githubEnabled = true;
runMain();
2021-12-13 22:21:26 +00:00
}