fix
parent
6775164bdf
commit
f7619be09d
|
|
@ -329,6 +329,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
const exec_1 = __webpack_require__(71514);
|
const exec_1 = __webpack_require__(71514);
|
||||||
const image_tag_1 = __importDefault(__webpack_require__(57648));
|
const image_tag_1 = __importDefault(__webpack_require__(57648));
|
||||||
|
const image_environment_factory_1 = __importDefault(__webpack_require__(25145));
|
||||||
class Docker {
|
class Docker {
|
||||||
static build(buildParameters, silent = false) {
|
static build(buildParameters, silent = false) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
|
@ -345,48 +346,11 @@ class Docker {
|
||||||
}
|
}
|
||||||
static run(image, parameters, silent = false) {
|
static run(image, parameters, silent = false) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const { version, workspace, runnerTempPath, platform, projectPath, buildName, buildPath, buildFile, buildMethod, buildVersion, androidVersionCode, androidKeystoreName, androidKeystoreBase64, androidKeystorePass, androidKeyaliasName, androidKeyaliasPass, customParameters, sshAgent, chownFilesTo, } = parameters;
|
const { workspace, runnerTempPath, sshAgent } = parameters;
|
||||||
const command = `docker run \
|
const command = `docker run \
|
||||||
--workdir /github/workspace \
|
--workdir /github/workspace \
|
||||||
--rm \
|
--rm \
|
||||||
--env UNITY_LICENSE \
|
${image_environment_factory_1.default.getEnvVarString(parameters)}
|
||||||
--env UNITY_LICENSE_FILE \
|
|
||||||
--env UNITY_EMAIL \
|
|
||||||
--env UNITY_PASSWORD \
|
|
||||||
--env UNITY_SERIAL \
|
|
||||||
--env UNITY_VERSION="${version}" \
|
|
||||||
--env USYM_UPLOAD_AUTH_TOKEN \
|
|
||||||
--env PROJECT_PATH="${projectPath}" \
|
|
||||||
--env BUILD_TARGET="${platform}" \
|
|
||||||
--env BUILD_NAME="${buildName}" \
|
|
||||||
--env BUILD_PATH="${buildPath}" \
|
|
||||||
--env BUILD_FILE="${buildFile}" \
|
|
||||||
--env BUILD_METHOD="${buildMethod}" \
|
|
||||||
--env VERSION="${buildVersion}" \
|
|
||||||
--env ANDROID_VERSION_CODE="${androidVersionCode}" \
|
|
||||||
--env ANDROID_KEYSTORE_NAME="${androidKeystoreName}" \
|
|
||||||
--env ANDROID_KEYSTORE_BASE64="${androidKeystoreBase64}" \
|
|
||||||
--env ANDROID_KEYSTORE_PASS="${androidKeystorePass}" \
|
|
||||||
--env ANDROID_KEYALIAS_NAME="${androidKeyaliasName}" \
|
|
||||||
--env ANDROID_KEYALIAS_PASS="${androidKeyaliasPass}" \
|
|
||||||
--env CUSTOM_PARAMETERS="${customParameters}" \
|
|
||||||
--env CHOWN_FILES_TO="${chownFilesTo}" \
|
|
||||||
--env GITHUB_REF \
|
|
||||||
--env GITHUB_SHA \
|
|
||||||
--env GITHUB_REPOSITORY \
|
|
||||||
--env GITHUB_ACTOR \
|
|
||||||
--env GITHUB_WORKFLOW \
|
|
||||||
--env GITHUB_HEAD_REF \
|
|
||||||
--env GITHUB_BASE_REF \
|
|
||||||
--env GITHUB_EVENT_NAME \
|
|
||||||
--env GITHUB_WORKSPACE=/github/workspace \
|
|
||||||
--env GITHUB_ACTION \
|
|
||||||
--env GITHUB_EVENT_PATH \
|
|
||||||
--env RUNNER_OS \
|
|
||||||
--env RUNNER_TOOL_CACHE \
|
|
||||||
--env RUNNER_TEMP \
|
|
||||||
--env RUNNER_WORKSPACE \
|
|
||||||
${sshAgent ? '--env SSH_AUTH_SOCK=/ssh-agent' : ''} \
|
|
||||||
--volume "/var/run/docker.sock":"/var/run/docker.sock" \
|
--volume "/var/run/docker.sock":"/var/run/docker.sock" \
|
||||||
--volume "${runnerTempPath}/_github_home":"/root" \
|
--volume "${runnerTempPath}/_github_home":"/root" \
|
||||||
--volume "${runnerTempPath}/_github_workflow":"/github/workflow" \
|
--volume "${runnerTempPath}/_github_workflow":"/github/workflow" \
|
||||||
|
|
@ -435,6 +399,75 @@ class ValidationError extends Error {
|
||||||
exports.default = ValidationError;
|
exports.default = ValidationError;
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 25145:
|
||||||
|
/***/ ((__unused_webpack_module, exports) => {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
|
class Parameter {
|
||||||
|
}
|
||||||
|
class ImageEnvironmentFactory {
|
||||||
|
static getEnvVarString(parameters) {
|
||||||
|
const environmentVariables = ImageEnvironmentFactory.getEnvironmentVariables(parameters);
|
||||||
|
let string = '';
|
||||||
|
for (const p of environmentVariables) {
|
||||||
|
string += `--env ${p.name}="${p.value}" \
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
return string;
|
||||||
|
}
|
||||||
|
static getEnvironmentVariables(parameters) {
|
||||||
|
const { version, platform, projectPath, buildName, buildPath, buildFile, buildMethod, buildVersion, androidVersionCode, androidKeystoreName, androidKeystoreBase64, androidKeystorePass, androidKeyaliasName, androidKeyaliasPass, customParameters, sshAgent, chownFilesTo, } = parameters;
|
||||||
|
const environmentVariables = [
|
||||||
|
{ name: 'UNITY_LICENSE', value: process.env.UNITY_LICENSE },
|
||||||
|
{ name: 'UNITY_LICENSE_FILE', value: process.env.UNITY_LICENSE_FILE },
|
||||||
|
{ name: 'UNITY_EMAIL', value: process.env.UNITY_EMAIL },
|
||||||
|
{ name: 'UNITY_PASSWORD', value: process.env.UNITY_PASSWORD },
|
||||||
|
{ name: 'UNITY_SERIAL', value: process.env.UNITY_SERIAL },
|
||||||
|
{ name: 'UNITY_VERSION', value: version },
|
||||||
|
{ name: 'USYM_UPLOAD_AUTH_TOKEN', value: process.env.USYM_UPLOAD_AUTH_TOKEN },
|
||||||
|
{ name: 'PROJECT_PATH', value: projectPath },
|
||||||
|
{ name: 'BUILD_TARGET', value: platform },
|
||||||
|
{ name: 'BUILD_NAME', value: buildName },
|
||||||
|
{ name: 'BUILD_PATH', value: buildPath },
|
||||||
|
{ name: 'BUILD_FILE', value: buildFile },
|
||||||
|
{ name: 'BUILD_METHOD', value: buildMethod },
|
||||||
|
{ name: 'VERSION', value: buildVersion },
|
||||||
|
{ name: 'ANDROID_VERSION_CODE', value: androidVersionCode },
|
||||||
|
{ name: 'ANDROID_KEYSTORE_NAME', value: androidKeystoreName },
|
||||||
|
{ name: 'ANDROID_KEYSTORE_BASE64', value: androidKeystoreBase64 },
|
||||||
|
{ name: 'ANDROID_KEYSTORE_PASS', value: androidKeystorePass },
|
||||||
|
{ name: 'ANDROID_KEYALIAS_NAME', value: androidKeyaliasName },
|
||||||
|
{ name: 'ANDROID_KEYALIAS_PASS', value: androidKeyaliasPass },
|
||||||
|
{ name: 'CUSTOM_PARAMETERS', value: customParameters },
|
||||||
|
{ name: 'CHOWN_FILES_TO', value: chownFilesTo },
|
||||||
|
{ name: 'GITHUB_REF', value: process.env.GITHUB_REF },
|
||||||
|
{ name: 'GITHUB_SHA', value: process.env.GITHUB_SHA },
|
||||||
|
{ name: 'GITHUB_REPOSITORY', value: process.env.GITHUB_REPOSITORY },
|
||||||
|
{ name: 'GITHUB_ACTOR', value: process.env.GITHUB_ACTOR },
|
||||||
|
{ name: 'GITHUB_WORKFLOW', value: process.env.GITHUB_WORKFLOW },
|
||||||
|
{ name: 'GITHUB_HEAD_REF', value: process.env.GITHUB_HEAD_REF },
|
||||||
|
{ name: 'GITHUB_BASE_REF', value: process.env.GITHUB_BASE_REF },
|
||||||
|
{ name: 'GITHUB_EVENT_NAME', value: process.env.GITHUB_EVENT_NAME },
|
||||||
|
{ name: 'GITHUB_WORKSPACE', value: '/github/workspace' },
|
||||||
|
{ name: 'GITHUB_ACTION', value: process.env.GITHUB_ACTION },
|
||||||
|
{ name: 'GITHUB_EVENT_PATH', value: process.env.GITHUB_EVENT_PATH },
|
||||||
|
{ name: 'RUNNER_OS', value: process.env.RUNNER_OS },
|
||||||
|
{ name: 'RUNNER_TOOL_CACHE', value: process.env.RUNNER_TOOL_CACHE },
|
||||||
|
{ name: 'RUNNER_TEMP', value: process.env.RUNNER_TEMP },
|
||||||
|
{ name: 'RUNNER_WORKSPACE', value: process.env.RUNNER_WORKSPACE },
|
||||||
|
];
|
||||||
|
if (sshAgent)
|
||||||
|
environmentVariables.push({ name: 'SSH_AUTH_SOCK', value: '/ssh-agent' });
|
||||||
|
return environmentVariables;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.default = ImageEnvironmentFactory;
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 57648:
|
/***/ 57648:
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,5 +1,6 @@
|
||||||
import { exec } from '@actions/exec';
|
import { exec } from '@actions/exec';
|
||||||
import ImageTag from './image-tag';
|
import ImageTag from './image-tag';
|
||||||
|
import ImageEnvironmentFactory from './image-environment-factory';
|
||||||
|
|
||||||
class Docker {
|
class Docker {
|
||||||
static async build(buildParameters, silent = false) {
|
static async build(buildParameters, silent = false) {
|
||||||
|
|
@ -18,69 +19,12 @@ class Docker {
|
||||||
}
|
}
|
||||||
|
|
||||||
static async run(image, parameters, silent = false) {
|
static async run(image, parameters, silent = false) {
|
||||||
const {
|
const { workspace, runnerTempPath, sshAgent } = parameters;
|
||||||
version,
|
|
||||||
workspace,
|
|
||||||
runnerTempPath,
|
|
||||||
platform,
|
|
||||||
projectPath,
|
|
||||||
buildName,
|
|
||||||
buildPath,
|
|
||||||
buildFile,
|
|
||||||
buildMethod,
|
|
||||||
buildVersion,
|
|
||||||
androidVersionCode,
|
|
||||||
androidKeystoreName,
|
|
||||||
androidKeystoreBase64,
|
|
||||||
androidKeystorePass,
|
|
||||||
androidKeyaliasName,
|
|
||||||
androidKeyaliasPass,
|
|
||||||
customParameters,
|
|
||||||
sshAgent,
|
|
||||||
chownFilesTo,
|
|
||||||
} = parameters;
|
|
||||||
|
|
||||||
const command = `docker run \
|
const command = `docker run \
|
||||||
--workdir /github/workspace \
|
--workdir /github/workspace \
|
||||||
--rm \
|
--rm \
|
||||||
--env UNITY_LICENSE \
|
${ImageEnvironmentFactory.getEnvVarString(parameters)}
|
||||||
--env UNITY_LICENSE_FILE \
|
|
||||||
--env UNITY_EMAIL \
|
|
||||||
--env UNITY_PASSWORD \
|
|
||||||
--env UNITY_SERIAL \
|
|
||||||
--env UNITY_VERSION="${version}" \
|
|
||||||
--env USYM_UPLOAD_AUTH_TOKEN \
|
|
||||||
--env PROJECT_PATH="${projectPath}" \
|
|
||||||
--env BUILD_TARGET="${platform}" \
|
|
||||||
--env BUILD_NAME="${buildName}" \
|
|
||||||
--env BUILD_PATH="${buildPath}" \
|
|
||||||
--env BUILD_FILE="${buildFile}" \
|
|
||||||
--env BUILD_METHOD="${buildMethod}" \
|
|
||||||
--env VERSION="${buildVersion}" \
|
|
||||||
--env ANDROID_VERSION_CODE="${androidVersionCode}" \
|
|
||||||
--env ANDROID_KEYSTORE_NAME="${androidKeystoreName}" \
|
|
||||||
--env ANDROID_KEYSTORE_BASE64="${androidKeystoreBase64}" \
|
|
||||||
--env ANDROID_KEYSTORE_PASS="${androidKeystorePass}" \
|
|
||||||
--env ANDROID_KEYALIAS_NAME="${androidKeyaliasName}" \
|
|
||||||
--env ANDROID_KEYALIAS_PASS="${androidKeyaliasPass}" \
|
|
||||||
--env CUSTOM_PARAMETERS="${customParameters}" \
|
|
||||||
--env CHOWN_FILES_TO="${chownFilesTo}" \
|
|
||||||
--env GITHUB_REF \
|
|
||||||
--env GITHUB_SHA \
|
|
||||||
--env GITHUB_REPOSITORY \
|
|
||||||
--env GITHUB_ACTOR \
|
|
||||||
--env GITHUB_WORKFLOW \
|
|
||||||
--env GITHUB_HEAD_REF \
|
|
||||||
--env GITHUB_BASE_REF \
|
|
||||||
--env GITHUB_EVENT_NAME \
|
|
||||||
--env GITHUB_WORKSPACE=/github/workspace \
|
|
||||||
--env GITHUB_ACTION \
|
|
||||||
--env GITHUB_EVENT_PATH \
|
|
||||||
--env RUNNER_OS \
|
|
||||||
--env RUNNER_TOOL_CACHE \
|
|
||||||
--env RUNNER_TEMP \
|
|
||||||
--env RUNNER_WORKSPACE \
|
|
||||||
${sshAgent ? '--env SSH_AUTH_SOCK=/ssh-agent' : ''} \
|
|
||||||
--volume "/var/run/docker.sock":"/var/run/docker.sock" \
|
--volume "/var/run/docker.sock":"/var/run/docker.sock" \
|
||||||
--volume "${runnerTempPath}/_github_home":"/root" \
|
--volume "${runnerTempPath}/_github_home":"/root" \
|
||||||
--volume "${runnerTempPath}/_github_workflow":"/github/workflow" \
|
--volume "${runnerTempPath}/_github_workflow":"/github/workflow" \
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,81 @@
|
||||||
|
class Parameter {
|
||||||
|
public name;
|
||||||
|
public value;
|
||||||
|
}
|
||||||
|
|
||||||
|
class ImageEnvironmentFactory {
|
||||||
|
public static getEnvVarString(parameters) {
|
||||||
|
const environmentVariables = ImageEnvironmentFactory.getEnvironmentVariables(parameters);
|
||||||
|
let string = '';
|
||||||
|
for (const p of environmentVariables) {
|
||||||
|
string += `--env ${p.name}="${p.value}" \
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
return string;
|
||||||
|
}
|
||||||
|
public static getEnvironmentVariables(parameters) {
|
||||||
|
const {
|
||||||
|
version,
|
||||||
|
platform,
|
||||||
|
projectPath,
|
||||||
|
buildName,
|
||||||
|
buildPath,
|
||||||
|
buildFile,
|
||||||
|
buildMethod,
|
||||||
|
buildVersion,
|
||||||
|
androidVersionCode,
|
||||||
|
androidKeystoreName,
|
||||||
|
androidKeystoreBase64,
|
||||||
|
androidKeystorePass,
|
||||||
|
androidKeyaliasName,
|
||||||
|
androidKeyaliasPass,
|
||||||
|
customParameters,
|
||||||
|
sshAgent,
|
||||||
|
chownFilesTo,
|
||||||
|
} = parameters;
|
||||||
|
|
||||||
|
const environmentVariables: Parameter[] = [
|
||||||
|
{ name: 'UNITY_LICENSE', value: process.env.UNITY_LICENSE },
|
||||||
|
{ name: 'UNITY_LICENSE_FILE', value: process.env.UNITY_LICENSE_FILE },
|
||||||
|
{ name: 'UNITY_EMAIL', value: process.env.UNITY_EMAIL },
|
||||||
|
{ name: 'UNITY_PASSWORD', value: process.env.UNITY_PASSWORD },
|
||||||
|
{ name: 'UNITY_SERIAL', value: process.env.UNITY_SERIAL },
|
||||||
|
{ name: 'UNITY_VERSION', value: version },
|
||||||
|
{ name: 'USYM_UPLOAD_AUTH_TOKEN', value: process.env.USYM_UPLOAD_AUTH_TOKEN },
|
||||||
|
{ name: 'PROJECT_PATH', value: projectPath },
|
||||||
|
{ name: 'BUILD_TARGET', value: platform },
|
||||||
|
{ name: 'BUILD_NAME', value: buildName },
|
||||||
|
{ name: 'BUILD_PATH', value: buildPath },
|
||||||
|
{ name: 'BUILD_FILE', value: buildFile },
|
||||||
|
{ name: 'BUILD_METHOD', value: buildMethod },
|
||||||
|
{ name: 'VERSION', value: buildVersion },
|
||||||
|
{ name: 'ANDROID_VERSION_CODE', value: androidVersionCode },
|
||||||
|
{ name: 'ANDROID_KEYSTORE_NAME', value: androidKeystoreName },
|
||||||
|
{ name: 'ANDROID_KEYSTORE_BASE64', value: androidKeystoreBase64 },
|
||||||
|
{ name: 'ANDROID_KEYSTORE_PASS', value: androidKeystorePass },
|
||||||
|
{ name: 'ANDROID_KEYALIAS_NAME', value: androidKeyaliasName },
|
||||||
|
{ name: 'ANDROID_KEYALIAS_PASS', value: androidKeyaliasPass },
|
||||||
|
{ name: 'CUSTOM_PARAMETERS', value: customParameters },
|
||||||
|
{ name: 'CHOWN_FILES_TO', value: chownFilesTo },
|
||||||
|
{ name: 'GITHUB_REF', value: process.env.GITHUB_REF },
|
||||||
|
{ name: 'GITHUB_SHA', value: process.env.GITHUB_SHA },
|
||||||
|
{ name: 'GITHUB_REPOSITORY', value: process.env.GITHUB_REPOSITORY },
|
||||||
|
{ name: 'GITHUB_ACTOR', value: process.env.GITHUB_ACTOR },
|
||||||
|
{ name: 'GITHUB_WORKFLOW', value: process.env.GITHUB_WORKFLOW },
|
||||||
|
{ name: 'GITHUB_HEAD_REF', value: process.env.GITHUB_HEAD_REF },
|
||||||
|
{ name: 'GITHUB_BASE_REF', value: process.env.GITHUB_BASE_REF },
|
||||||
|
{ name: 'GITHUB_EVENT_NAME', value: process.env.GITHUB_EVENT_NAME },
|
||||||
|
{ name: 'GITHUB_WORKSPACE', value: '/github/workspace' },
|
||||||
|
{ name: 'GITHUB_ACTION', value: process.env.GITHUB_ACTION },
|
||||||
|
{ name: 'GITHUB_EVENT_PATH', value: process.env.GITHUB_EVENT_PATH },
|
||||||
|
{ name: 'RUNNER_OS', value: process.env.RUNNER_OS },
|
||||||
|
{ name: 'RUNNER_TOOL_CACHE', value: process.env.RUNNER_TOOL_CACHE },
|
||||||
|
{ name: 'RUNNER_TEMP', value: process.env.RUNNER_TEMP },
|
||||||
|
{ name: 'RUNNER_WORKSPACE', value: process.env.RUNNER_WORKSPACE },
|
||||||
|
];
|
||||||
|
if (sshAgent) environmentVariables.push({ name: 'SSH_AUTH_SOCK', value: '/ssh-agent' });
|
||||||
|
return environmentVariables;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ImageEnvironmentFactory;
|
||||||
Loading…
Reference in New Issue