mirror of
https://github.com/game-ci/unity-test-runner.git
synced 2026-01-29 14:39:33 +08:00
* add: new inputs and method params * feat: add scoped registry to manifest * feat: setup test job * fix(workflow): revert change from license to serial * feat: support private scoped registries * fix: multiple scopes
88 lines
2.1 KiB
TypeScript
88 lines
2.1 KiB
TypeScript
import * as core from '@actions/core';
|
|
import { Action, Docker, ImageTag, Input, Output, ResultsCheck } from './model';
|
|
|
|
export async function run() {
|
|
try {
|
|
Action.checkCompatibility();
|
|
|
|
const { workspace, actionFolder } = Action;
|
|
const {
|
|
editorVersion,
|
|
customImage,
|
|
projectPath,
|
|
customParameters,
|
|
testMode,
|
|
coverageOptions,
|
|
artifactsPath,
|
|
useHostNetwork,
|
|
sshAgent,
|
|
sshPublicKeysDirectoryPath,
|
|
gitPrivateToken,
|
|
githubToken,
|
|
checkName,
|
|
packageMode,
|
|
packageName,
|
|
scopedRegistryUrl,
|
|
registryScopes,
|
|
chownFilesTo,
|
|
dockerCpuLimit,
|
|
dockerMemoryLimit,
|
|
dockerIsolationMode,
|
|
unityLicensingServer,
|
|
runAsHostUser,
|
|
containerRegistryRepository,
|
|
containerRegistryImageVersion,
|
|
unitySerial,
|
|
} = Input.getFromUser();
|
|
const baseImage = new ImageTag({
|
|
editorVersion,
|
|
customImage,
|
|
containerRegistryRepository,
|
|
containerRegistryImageVersion,
|
|
});
|
|
const runnerContext = Action.runnerContext();
|
|
|
|
try {
|
|
await Docker.run(baseImage, {
|
|
actionFolder,
|
|
editorVersion,
|
|
workspace,
|
|
projectPath,
|
|
customParameters,
|
|
testMode,
|
|
coverageOptions,
|
|
artifactsPath,
|
|
useHostNetwork,
|
|
sshAgent,
|
|
sshPublicKeysDirectoryPath,
|
|
packageMode,
|
|
packageName,
|
|
scopedRegistryUrl,
|
|
registryScopes,
|
|
gitPrivateToken,
|
|
githubToken,
|
|
chownFilesTo,
|
|
dockerCpuLimit,
|
|
dockerMemoryLimit,
|
|
dockerIsolationMode,
|
|
unityLicensingServer,
|
|
runAsHostUser,
|
|
unitySerial,
|
|
...runnerContext,
|
|
});
|
|
} finally {
|
|
await Output.setArtifactsPath(artifactsPath);
|
|
await Output.setCoveragePath('CodeCoverage');
|
|
}
|
|
|
|
if (githubToken) {
|
|
const failedTestCount = await ResultsCheck.createCheck(artifactsPath, githubToken, checkName);
|
|
if (failedTestCount >= 1) {
|
|
core.setFailed(`Test(s) Failed! Check '${checkName}' for details.`);
|
|
}
|
|
}
|
|
} catch (error: any) {
|
|
core.setFailed(error.message);
|
|
}
|
|
}
|