Run build
							parent
							
								
									a6ebcb5b75
								
							
						
					
					
						commit
						12412fe93c
					
				|  | @ -277,9 +277,9 @@ class BuildParameters { | |||
|             if (!process.env.UNITY_SERIAL) { | ||||
|                 //No serial was present so it is a personal license that we need to convert
 | ||||
|                 if (!process.env.UNITY_LICENSE) { | ||||
|                     throw new Error(`Missing Unity License File and no Serial was found. If this
 | ||||
|                           is a personal license, make sure to follow the activation | ||||
|                           steps and set the UNITY_LICENSE GitHub secret or enter a Unity | ||||
|                     throw new Error(`Missing Unity License File and no Serial was found. If this
 | ||||
|                           is a personal license, make sure to follow the activation | ||||
|                           steps and set the UNITY_LICENSE GitHub secret or enter a Unity | ||||
|                           serial number inside the UNITY_SERIAL GitHub secret.`);
 | ||||
|                 } | ||||
|                 unitySerial = this.getSerialFromLicenseFile(process.env.UNITY_LICENSE); | ||||
|  | @ -402,10 +402,10 @@ class Cache { | |||
|         if (action_1.default.isRunningLocally) { | ||||
|             return; | ||||
|         } | ||||
|         core.warning(` | ||||
|       Library folder does not exist. | ||||
|       Consider setting up caching to speed up your workflow, | ||||
|       if this is not your first build. | ||||
|         core.warning(` | ||||
|       Library folder does not exist. | ||||
|       Consider setting up caching to speed up your workflow, | ||||
|       if this is not your first build. | ||||
|     `);
 | ||||
|     } | ||||
| } | ||||
|  | @ -552,8 +552,8 @@ class CLI { | |||
|     static runRemoteClientJob() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const buildParameter = JSON.parse(process.env.BUILD_PARAMETERS || '{}'); | ||||
|             remote_client_logger_1.RemoteClientLogger.log(`Build Params:
 | ||||
|       ${JSON.stringify(buildParameter, undefined, 4)} | ||||
|             remote_client_logger_1.RemoteClientLogger.log(`Build Params:
 | ||||
|       ${JSON.stringify(buildParameter, undefined, 4)} | ||||
|     `);
 | ||||
|             cloud_runner_state_1.CloudRunnerState.setup(buildParameter); | ||||
|             yield setup_cloud_runner_repository_1.SetupCloudRunnerRepository.run(); | ||||
|  | @ -1554,25 +1554,25 @@ exports.AWSTemplates = void 0; | |||
| const fs = __importStar(__webpack_require__(35747)); | ||||
| class AWSTemplates { | ||||
|     static getParameterTemplate(p1) { | ||||
|         return ` | ||||
|   ${p1}: | ||||
|     Type: String | ||||
|     Default: '' | ||||
|         return ` | ||||
|   ${p1}: | ||||
|     Type: String | ||||
|     Default: '' | ||||
| `;
 | ||||
|     } | ||||
|     static getSecretTemplate(p1) { | ||||
|         return ` | ||||
|   ${p1}Secret: | ||||
|     Type: AWS::SecretsManager::Secret | ||||
|     Properties: | ||||
|       Name: '${p1}' | ||||
|       SecretString: !Ref ${p1} | ||||
|         return ` | ||||
|   ${p1}Secret: | ||||
|     Type: AWS::SecretsManager::Secret | ||||
|     Properties: | ||||
|       Name: '${p1}' | ||||
|       SecretString: !Ref ${p1} | ||||
| `;
 | ||||
|     } | ||||
|     static getSecretDefinitionTemplate(p1, p2) { | ||||
|         return ` | ||||
|             - Name: '${p1}' | ||||
|               ValueFrom: !Ref ${p2}Secret | ||||
|         return ` | ||||
|             - Name: '${p1}' | ||||
|               ValueFrom: !Ref ${p2}Secret | ||||
| `;
 | ||||
|     } | ||||
|     static insertAtTemplate(template, insertionKey, insertion) { | ||||
|  | @ -2194,8 +2194,8 @@ class KubernetesJobSpecFactory { | |||
|                                         command: [ | ||||
|                                             'bin/bash', | ||||
|                                             '-c', | ||||
|                                             `cd /data/builder/action/steps;
 | ||||
|                       chmod +x /return_license.sh; | ||||
|                                             `cd /data/builder/action/steps;
 | ||||
|                       chmod +x /return_license.sh; | ||||
|                       /return_license.sh;`, | ||||
|                                         ], | ||||
|                                     }, | ||||
|  | @ -2605,15 +2605,15 @@ const yaml_1 = __importDefault(__webpack_require__(13552)); | |||
| class CloudRunnerBuildCommandProcessor { | ||||
|     static ProcessCommands(commands, buildParameters) { | ||||
|         const hooks = CloudRunnerBuildCommandProcessor.getHooks().filter((x) => x.step.includes(`all`)); | ||||
|         return `echo "---"
 | ||||
|       echo "start cloud runner init" | ||||
|       ${__1.Input.cloudRunnerTests ? '' : '#'} printenv | ||||
|       echo "start cloud runner job" | ||||
|       ${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '} | ||||
|       ${commands} | ||||
|       ${hooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '} | ||||
|       echo "end of cloud runner job | ||||
|       ---${buildParameters.logId}" | ||||
|         return `echo "---"
 | ||||
|       echo "start cloud runner init" | ||||
|       ${__1.Input.cloudRunnerTests ? '' : '#'} printenv | ||||
|       echo "start cloud runner job" | ||||
|       ${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '} | ||||
|       ${commands} | ||||
|       ${hooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '} | ||||
|       echo "end of cloud runner job | ||||
|       ---${buildParameters.logId}" | ||||
|     `;
 | ||||
|     } | ||||
|     static getHooks() { | ||||
|  | @ -2949,37 +2949,37 @@ class BuildStep { | |||
|             cloud_runner_logger_1.default.logLine(` `); | ||||
|             cloud_runner_logger_1.default.logLine('Starting part 2/2 (build unity project)'); | ||||
|             const hooks = cloud_runner_build_command_process_1.CloudRunnerBuildCommandProcessor.getHooks().filter((x) => x.step.includes(`setup`)); | ||||
|             return yield cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform.runTask(cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid, image, `${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '} | ||||
|         export GITHUB_WORKSPACE="${cloud_runner_state_1.CloudRunnerState.repoPathFull}" | ||||
|             return yield cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform.runTask(cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid, image, `${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '} | ||||
|         export GITHUB_WORKSPACE="${cloud_runner_state_1.CloudRunnerState.repoPathFull}" | ||||
|         cp -r "${path_1.default | ||||
|                 .join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', 'default-build-script') | ||||
|                 .replace(/\\/g, `/`)}" "/UnityBuilderAction" | ||||
|                 .replace(/\\/g, `/`)}" "/UnityBuilderAction" | ||||
|         cp -r "${path_1.default | ||||
|                 .join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', 'platforms', 'ubuntu', 'entrypoint.sh') | ||||
|                 .replace(/\\/g, `/`)}" "/entrypoint.sh" | ||||
|                 .replace(/\\/g, `/`)}" "/entrypoint.sh" | ||||
|         cp -r "${path_1.default | ||||
|                 .join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', 'platforms', 'ubuntu', 'steps') | ||||
|                 .replace(/\\/g, `/`)}" "/steps" | ||||
|         chmod -R +x "/entrypoint.sh" | ||||
|         chmod -R +x "/steps" | ||||
|         /entrypoint.sh | ||||
|         apt-get update | ||||
|         apt-get install -y -q zip tree | ||||
|         cd "${cloud_runner_state_1.CloudRunnerState.libraryFolderFull.replace(/\\/g, `/`)}/.." | ||||
|         zip -r "lib-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "Library" | ||||
|         mv "lib-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull.replace(/\\/g, `/`)}/Library" | ||||
|         cd "${cloud_runner_state_1.CloudRunnerState.repoPathFull.replace(/\\/g, `/`)}" | ||||
|         ${__1.Input.cloudRunnerTests ? '' : '#'} tree -lh | ||||
|         zip -r "build-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "build" | ||||
|         ${__1.Input.cloudRunnerTests ? '' : '#'} tree -lh | ||||
|         ${__1.Input.cloudRunnerTests ? '' : '#'} tree -lh "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull.replace(/\\/g, `/`)}" | ||||
|         mv "build-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull.replace(/\\/g, `/`)}" | ||||
|         chmod +x ${path_1.default.join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)} | ||||
|                 .replace(/\\/g, `/`)}" "/steps" | ||||
|         chmod -R +x "/entrypoint.sh" | ||||
|         chmod -R +x "/steps" | ||||
|         /entrypoint.sh | ||||
|         apt-get update | ||||
|         apt-get install -y -q zip tree | ||||
|         cd "${cloud_runner_state_1.CloudRunnerState.libraryFolderFull.replace(/\\/g, `/`)}/.." | ||||
|         zip -r "lib-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "Library" | ||||
|         mv "lib-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull.replace(/\\/g, `/`)}/Library" | ||||
|         cd "${cloud_runner_state_1.CloudRunnerState.repoPathFull.replace(/\\/g, `/`)}" | ||||
|         ${__1.Input.cloudRunnerTests ? '' : '#'} tree -lh | ||||
|         zip -r "build-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "build" | ||||
|         ${__1.Input.cloudRunnerTests ? '' : '#'} tree -lh | ||||
|         ${__1.Input.cloudRunnerTests ? '' : '#'} tree -lh "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull.replace(/\\/g, `/`)}" | ||||
|         mv "build-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull.replace(/\\/g, `/`)}" | ||||
|         chmod +x ${path_1.default.join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)} | ||||
|         node ${path_1.default | ||||
|                 .join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', `index.js`) | ||||
|                 .replace(/\\/g, `/`)} -m cache-push "Library" "lib-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull.replace(/\\/g, `/`)}/Library" | ||||
|         ${__1.Input.cloudRunnerTests ? '' : '#'} tree -lh "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull}" | ||||
|         ${hooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '} | ||||
|                 .replace(/\\/g, `/`)} -m cache-push "Library" "lib-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull.replace(/\\/g, `/`)}/Library" | ||||
|         ${__1.Input.cloudRunnerTests ? '' : '#'} tree -lh "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull}" | ||||
|         ${hooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '} | ||||
|       `, `/${cloud_runner_state_1.CloudRunnerState.buildVolumeFolder}`, `/${cloud_runner_state_1.CloudRunnerState.projectPathFull}`, environmentVariables, secrets);
 | ||||
|         }); | ||||
|     } | ||||
|  | @ -3030,16 +3030,16 @@ class SetupStep { | |||
|                 cloud_runner_logger_1.default.log(` `); | ||||
|                 cloud_runner_logger_1.default.logLine('Starting step 1/2 (setup game files from repository)'); | ||||
|                 const hooks = cloud_runner_build_command_process_1.CloudRunnerBuildCommandProcessor.getHooks().filter((x) => x.step.includes(`setup`)); | ||||
|                 return yield cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform.runTask(cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid, image, `apk update -q
 | ||||
|         apk add git-lfs jq tree zip unzip nodejs -q | ||||
|         ${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '} | ||||
|         export GIT_DISCOVERY_ACROSS_FILESYSTEM=1 | ||||
|         mkdir -p ${cloud_runner_state_1.CloudRunnerState.builderPathFull.replace(/\\/g, `/`)} | ||||
|         git clone -q -b ${cloud_runner_state_1.CloudRunnerState.branchName} ${cloud_runner_state_1.CloudRunnerState.unityBuilderRepoUrl} "${cloud_runner_state_1.CloudRunnerState.builderPathFull.replace(/\\/g, `/`)}" | ||||
|         ${__1.Input.cloudRunnerTests ? '' : '#'} tree ${cloud_runner_state_1.CloudRunnerState.builderPathFull.replace(/\\/g, `/`)} | ||||
|         chmod +x ${path_1.default.join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)} | ||||
|         node ${path_1.default.join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)} -m remote-cli | ||||
|         ${hooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '} | ||||
|                 return yield cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform.runTask(cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid, image, `apk update -q
 | ||||
|         apk add git-lfs jq tree zip unzip nodejs -q | ||||
|         ${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '} | ||||
|         export GIT_DISCOVERY_ACROSS_FILESYSTEM=1 | ||||
|         mkdir -p ${cloud_runner_state_1.CloudRunnerState.builderPathFull.replace(/\\/g, `/`)} | ||||
|         git clone -q -b ${cloud_runner_state_1.CloudRunnerState.branchName} ${cloud_runner_state_1.CloudRunnerState.unityBuilderRepoUrl} "${cloud_runner_state_1.CloudRunnerState.builderPathFull.replace(/\\/g, `/`)}" | ||||
|         ${__1.Input.cloudRunnerTests ? '' : '#'} tree ${cloud_runner_state_1.CloudRunnerState.builderPathFull.replace(/\\/g, `/`)} | ||||
|         chmod +x ${path_1.default.join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)} | ||||
|         node ${path_1.default.join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)} -m remote-cli | ||||
|         ${hooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '} | ||||
|         `, `/${cloud_runner_state_1.CloudRunnerState.buildVolumeFolder}`, `/${cloud_runner_state_1.CloudRunnerState.buildVolumeFolder}/`, environmentVariables, secrets);
 | ||||
|             } | ||||
|             catch (error) { | ||||
|  | @ -3296,9 +3296,9 @@ class Docker { | |||
|             const { path, dockerfile, baseImage } = buildParameters; | ||||
|             const { version, platform } = baseImage; | ||||
|             const tag = new image_tag_1.default({ repository: '', name: 'unity-builder', version, platform }); | ||||
|             const command = `docker build ${path} \
 | ||||
|       --file ${dockerfile} \ | ||||
|       --build-arg IMAGE=${baseImage} \ | ||||
|             const command = `docker build ${path} \
 | ||||
|       --file ${dockerfile} \ | ||||
|       --build-arg IMAGE=${baseImage} \ | ||||
|       --tag ${tag}`;
 | ||||
|             yield exec_1.exec(command, undefined, { silent }); | ||||
|             return tag; | ||||
|  | @ -3308,11 +3308,11 @@ class Docker { | |||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const { workspace, unitySerial, runnerTempPath, sshAgent } = parameters; | ||||
|             const baseOsSpecificArguments = this.getBaseOsSpecificArguments(process.platform, workspace, unitySerial, runnerTempPath, sshAgent); | ||||
|             const runCommand = `docker run \
 | ||||
|     --workdir /github/workspace \ | ||||
|     --rm \ | ||||
|     ${image_environment_factory_1.default.getEnvVarString(parameters)} \ | ||||
|     ${baseOsSpecificArguments} \ | ||||
|             const runCommand = `docker run \
 | ||||
|     --workdir /github/workspace \ | ||||
|     --rm \ | ||||
|     ${image_environment_factory_1.default.getEnvVarString(parameters)} \ | ||||
|     ${baseOsSpecificArguments} \ | ||||
|     ${image}`;
 | ||||
|             yield exec_1.exec(runCommand, undefined, { silent }); | ||||
|         }); | ||||
|  | @ -3320,22 +3320,22 @@ class Docker { | |||
|     static getBaseOsSpecificArguments(baseOs, workspace, unitySerial, runnerTemporaryPath, sshAgent) { | ||||
|         switch (baseOs) { | ||||
|             case 'linux': | ||||
|                 return `--env UNITY_SERIAL \
 | ||||
|                 --env GITHUB_WORKSPACE=/github/workspace \ | ||||
|                 ${sshAgent ? '--env SSH_AUTH_SOCK=/ssh-agent' : ''} \ | ||||
|                 --volume "/var/run/docker.sock":"/var/run/docker.sock" \ | ||||
|                 --volume "${runnerTemporaryPath}/_github_home":"/root" \ | ||||
|                 --volume "${runnerTemporaryPath}/_github_workflow":"/github/workflow" \ | ||||
|                 --volume "${workspace}":"/github/workspace" \ | ||||
|                 ${sshAgent ? `--volume ${sshAgent}:/ssh-agent` : ''} \ | ||||
|                 return `--env UNITY_SERIAL \
 | ||||
|                 --env GITHUB_WORKSPACE=/github/workspace \ | ||||
|                 ${sshAgent ? '--env SSH_AUTH_SOCK=/ssh-agent' : ''} \ | ||||
|                 --volume "/var/run/docker.sock":"/var/run/docker.sock" \ | ||||
|                 --volume "${runnerTemporaryPath}/_github_home":"/root" \ | ||||
|                 --volume "${runnerTemporaryPath}/_github_workflow":"/github/workflow" \ | ||||
|                 --volume "${workspace}":"/github/workspace" \ | ||||
|                 ${sshAgent ? `--volume ${sshAgent}:/ssh-agent` : ''} \ | ||||
|                 ${sshAgent ? '--volume /home/runner/.ssh/known_hosts:/root/.ssh/known_hosts:ro' : ''}`;
 | ||||
|             case 'win32': | ||||
|                 return `--env UNITY_SERIAL="${unitySerial}" \
 | ||||
|                 --env GITHUB_WORKSPACE=c:/github/workspace \ | ||||
|                 --volume "${workspace}":"c:/github/workspace" \ | ||||
|                 --volume "c:/regkeys":"c:/regkeys" \ | ||||
|                 --volume "C:/Program Files (x86)/Microsoft Visual Studio":"C:/Program Files (x86)/Microsoft Visual Studio" \ | ||||
|                 --volume "C:/Program Files (x86)/Windows Kits":"C:/Program Files (x86)/Windows Kits" \ | ||||
|                 return `--env UNITY_SERIAL="${unitySerial}" \
 | ||||
|                 --env GITHUB_WORKSPACE=c:/github/workspace \ | ||||
|                 --volume "${workspace}":"c:/github/workspace" \ | ||||
|                 --volume "c:/regkeys":"c:/regkeys" \ | ||||
|                 --volume "C:/Program Files (x86)/Microsoft Visual Studio":"C:/Program Files (x86)/Microsoft Visual Studio" \ | ||||
|                 --volume "C:/Program Files (x86)/Windows Kits":"C:/Program Files (x86)/Windows Kits" \ | ||||
|                 --volume "C:/ProgramData/Microsoft/VisualStudio":"C:/ProgramData/Microsoft/VisualStudio"`;
 | ||||
|             //Note: When upgrading to Server 2022, we will need to move to just "program files" since VS will be 64-bit
 | ||||
|         } | ||||
|  | @ -3515,7 +3515,7 @@ class ImageTag { | |||
|                         return windowsIl2cpp; | ||||
|                     } | ||||
|                     else { | ||||
|                         throw new Error(`Windows-based builds are only supported on 2019.3.X+ versions of Unity.
 | ||||
|                         throw new Error(`Windows-based builds are only supported on 2019.3.X+ versions of Unity.
 | ||||
|                              If you are trying to build for windows-mono, please use a Linux based OS.`);
 | ||||
|                     } | ||||
|                 } | ||||
|  | @ -3564,8 +3564,8 @@ class ImageTag { | |||
|             case platform_1.default.types.Test: | ||||
|                 return generic; | ||||
|             default: | ||||
|                 throw new Error(` | ||||
|           Platform must be one of the ones described in the documentation. | ||||
|                 throw new Error(` | ||||
|           Platform must be one of the ones described in the documentation. | ||||
|           "${platform}" is currently not supported.`);
 | ||||
|         } | ||||
|     } | ||||
|  | @ -4177,10 +4177,10 @@ class SetupMac { | |||
|     static installUnity(buildParameters, silent = false) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const unityChangeset = yield unity_changeset_1.getUnityChangeset(buildParameters.version); | ||||
|             const command = `${this.unityHubPath} -- --headless install \
 | ||||
|                                           --version ${buildParameters.version} \ | ||||
|                                           --changeset ${unityChangeset.changeset} \ | ||||
|                                           --module mac-il2cpp \ | ||||
|             const command = `${this.unityHubPath} -- --headless install \
 | ||||
|                                           --version ${buildParameters.version} \ | ||||
|                                           --changeset ${unityChangeset.changeset} \ | ||||
|                                           --module mac-il2cpp \ | ||||
|                                           --childModules`;
 | ||||
|             // Ignoring return code because the log seems to overflow the internal buffer which triggers
 | ||||
|             // a false error
 | ||||
|  | @ -4292,8 +4292,8 @@ class ValidateWindows { | |||
|     static validate(buildParameters) { | ||||
|         ValidateWindows.validateWindowsPlatformRequirements(buildParameters.platform); | ||||
|         if (!(process.env.UNITY_EMAIL && process.env.UNITY_PASSWORD)) { | ||||
|             throw new Error(`Unity email and password must be set for Windows based builds to
 | ||||
|                        authenticate the license. Make sure to set them inside UNITY_EMAIL | ||||
|             throw new Error(`Unity email and password must be set for Windows based builds to
 | ||||
|                        authenticate the license. Make sure to set them inside UNITY_EMAIL | ||||
|                        and UNITY_PASSWORD in Github Secrets and pass them into the environment.`);
 | ||||
|         } | ||||
|     } | ||||
|  | @ -4320,8 +4320,8 @@ class ValidateWindows { | |||
|         //Check for Windows 10 SDK on runner
 | ||||
|         const windows10SDKPathExists = fs_1.default.existsSync('C:/Program Files (x86)/Windows Kits'); | ||||
|         if (!windows10SDKPathExists) { | ||||
|             throw new Error(`Windows 10 SDK not found in default location. Make sure
 | ||||
|                       the runner has a Windows 10 SDK installed in the default | ||||
|             throw new Error(`Windows 10 SDK not found in default location. Make sure
 | ||||
|                       the runner has a Windows 10 SDK installed in the default | ||||
|                       location.`);
 | ||||
|         } | ||||
|     } | ||||
|  | @ -4330,8 +4330,8 @@ class ValidateWindows { | |||
|         const visualStudioInstallPathExists = fs_1.default.existsSync('C:/Program Files (x86)/Microsoft Visual Studio'); | ||||
|         const visualStudioDataPathExists = fs_1.default.existsSync('C:/ProgramData/Microsoft/VisualStudio'); | ||||
|         if (!visualStudioInstallPathExists || !visualStudioDataPathExists) { | ||||
|             throw new Error(`Visual Studio not found at the default location.
 | ||||
|               Make sure the runner has Visual Studio installed in the | ||||
|             throw new Error(`Visual Studio not found at the default location.
 | ||||
|               Make sure the runner has Visual Studio installed in the | ||||
|               default location`);
 | ||||
|         } | ||||
|     } | ||||
|  |  | |||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -0,0 +1,60 @@ | |||
| "use strict"; | ||||
| /* eslint-disable no-process-exit */ | ||||
| const util = require("util"); | ||||
| const { JSDOM } = require("../../../.."); | ||||
| const { READY_STATES } = require("./xhr-utils"); | ||||
| const idlUtils = require("../generated/utils"); | ||||
| const tough = require("tough-cookie"); | ||||
| 
 | ||||
| const dom = new JSDOM(); | ||||
| const xhr = new dom.window.XMLHttpRequest(); | ||||
| const xhrImpl = idlUtils.implForWrapper(xhr); | ||||
| 
 | ||||
| const chunks = []; | ||||
| 
 | ||||
| process.stdin.on("data", chunk => { | ||||
|   chunks.push(chunk); | ||||
| }); | ||||
| 
 | ||||
| process.stdin.on("end", () => { | ||||
|   const buffer = Buffer.concat(chunks); | ||||
| 
 | ||||
|   const flag = JSON.parse(buffer.toString()); | ||||
|   if (flag.body && flag.body.type === "Buffer" && flag.body.data) { | ||||
|     flag.body = Buffer.from(flag.body.data); | ||||
|   } | ||||
|   if (flag.cookieJar) { | ||||
|     flag.cookieJar = tough.CookieJar.fromJSON(flag.cookieJar); | ||||
|   } | ||||
| 
 | ||||
|   flag.synchronous = false; | ||||
|   Object.assign(xhrImpl.flag, flag); | ||||
|   const { properties } = xhrImpl; | ||||
|   xhrImpl.readyState = READY_STATES.OPENED; | ||||
|   try { | ||||
|     xhr.addEventListener("loadend", () => { | ||||
|       if (properties.error) { | ||||
|         properties.error = properties.error.stack || util.inspect(properties.error); | ||||
|       } | ||||
|       process.stdout.write(JSON.stringify({ | ||||
|         responseURL: xhrImpl.responseURL, | ||||
|         status: xhrImpl.status, | ||||
|         statusText: xhrImpl.statusText, | ||||
|         properties | ||||
|       }), () => { | ||||
|         process.exit(0); | ||||
|       }); | ||||
|     }, false); | ||||
|     xhr.send(flag.body); | ||||
|   } catch (error) { | ||||
|     properties.error += error.stack || util.inspect(error); | ||||
|     process.stdout.write(JSON.stringify({ | ||||
|       responseURL: xhrImpl.responseURL, | ||||
|       status: xhrImpl.status, | ||||
|       statusText: xhrImpl.statusText, | ||||
|       properties | ||||
|     }), () => { | ||||
|       process.exit(0); | ||||
|     }); | ||||
|   } | ||||
| }); | ||||
		Loading…
	
		Reference in New Issue