mirror of
https://github.com/game-ci/unity-builder.git
synced 2026-06-01 14:26:17 -07:00
* Implement AWS Fargate support * Update aws-tests workflow to include aws-ts-clean * support remoteBuildCpu and remoteBuildContainer parameters for aws * Syntax fix * remove package-lock add yarn.lock * yarn lock * if: github.event.pull_request.draft == false Co-authored-by: mdugdale <mark.dugdale@bossastudios.com>
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import * as core from '@actions/core';
|
|
import { Action, BuildParameters, Cache, Docker, ImageTag, Kubernetes, Output, AWS } from './model';
|
|
|
|
async function run() {
|
|
try {
|
|
Action.checkCompatibility();
|
|
Cache.verify();
|
|
|
|
const { dockerfile, workspace, actionFolder } = Action;
|
|
|
|
const buildParameters = await BuildParameters.create();
|
|
const baseImage = new ImageTag(buildParameters);
|
|
let builtImage;
|
|
|
|
switch (buildParameters.remoteBuildCluster) {
|
|
case 'k8s':
|
|
core.info('Building with Kubernetes');
|
|
await Kubernetes.runBuildJob(buildParameters, baseImage);
|
|
break;
|
|
|
|
case 'aws':
|
|
core.info('Building with AWS');
|
|
await AWS.runBuildJob(buildParameters, baseImage);
|
|
break;
|
|
|
|
// default and local case
|
|
default:
|
|
core.info('Building locally');
|
|
builtImage = await Docker.build({ path: actionFolder, dockerfile, baseImage });
|
|
await Docker.run(builtImage, { workspace, ...buildParameters });
|
|
break;
|
|
}
|
|
|
|
// Set output
|
|
await Output.setBuildVersion(buildParameters.buildVersion);
|
|
} catch (error) {
|
|
core.setFailed(error.message);
|
|
}
|
|
}
|
|
|
|
run();
|