feat: Add support for macos #211
parent
d982116b88
commit
97a959b57e
|
@ -24,8 +24,8 @@ jobs:
|
||||||
# - run: yarn build --quiet && git diff --quiet action || { echo "ERROR - index.js is different from repository version. Forgot to run `yarn build`?" ; exit 62; }
|
# - run: yarn build --quiet && git diff --quiet action || { echo "ERROR - index.js is different from repository version. Forgot to run `yarn build`?" ; exit 62; }
|
||||||
|
|
||||||
testAllModesLikeInTheReadme:
|
testAllModesLikeInTheReadme:
|
||||||
name: Test in ${{ matrix.testMode }} on version ${{ matrix.unityVersion }}
|
name: Test in ${{ matrix.testMode }} on version ${{ matrix.unityVersion }} on system ${{ matrix.system }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ${{ matrix.system }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -36,6 +36,9 @@ jobs:
|
||||||
testMode:
|
testMode:
|
||||||
- playmode
|
- playmode
|
||||||
- editmode
|
- editmode
|
||||||
|
system:
|
||||||
|
- ubuntu-latest
|
||||||
|
- macos-latest
|
||||||
steps:
|
steps:
|
||||||
###########################
|
###########################
|
||||||
# Checkout #
|
# Checkout #
|
||||||
|
|
|
@ -98,20 +98,35 @@ function run() {
|
||||||
const baseImage = new model_1.ImageTag({ editorVersion, customImage });
|
const baseImage = new model_1.ImageTag({ editorVersion, customImage });
|
||||||
const runnerContext = model_1.Action.runnerContext();
|
const runnerContext = model_1.Action.runnerContext();
|
||||||
try {
|
try {
|
||||||
yield model_1.Docker.run(baseImage, Object.assign({ actionFolder,
|
yield (process.platform === 'darwin'
|
||||||
editorVersion,
|
? model_1.MacRunner.run(Object.assign({ actionFolder,
|
||||||
workspace,
|
editorVersion,
|
||||||
projectPath,
|
workspace,
|
||||||
customParameters,
|
projectPath,
|
||||||
testMode,
|
customParameters,
|
||||||
coverageOptions,
|
testMode,
|
||||||
artifactsPath,
|
coverageOptions,
|
||||||
useHostNetwork,
|
artifactsPath,
|
||||||
sshAgent,
|
useHostNetwork,
|
||||||
gitPrivateToken,
|
sshAgent,
|
||||||
githubToken,
|
gitPrivateToken,
|
||||||
chownFilesTo,
|
githubToken,
|
||||||
unityLicensingServer }, runnerContext));
|
chownFilesTo,
|
||||||
|
unityLicensingServer }, runnerContext))
|
||||||
|
: model_1.Docker.run(baseImage, Object.assign({ actionFolder,
|
||||||
|
editorVersion,
|
||||||
|
workspace,
|
||||||
|
projectPath,
|
||||||
|
customParameters,
|
||||||
|
testMode,
|
||||||
|
coverageOptions,
|
||||||
|
artifactsPath,
|
||||||
|
useHostNetwork,
|
||||||
|
sshAgent,
|
||||||
|
gitPrivateToken,
|
||||||
|
githubToken,
|
||||||
|
chownFilesTo,
|
||||||
|
unityLicensingServer }, runnerContext)));
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
yield model_1.Output.setArtifactsPath(artifactsPath);
|
yield model_1.Output.setArtifactsPath(artifactsPath);
|
||||||
|
@ -146,7 +161,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
const path_1 = __importDefault(__nccwpck_require__(1017));
|
const path_1 = __importDefault(__nccwpck_require__(1017));
|
||||||
const Action = {
|
const Action = {
|
||||||
get supportedPlatforms() {
|
get supportedPlatforms() {
|
||||||
return ['linux', 'win32'];
|
return ['linux', 'win32', 'darwin'];
|
||||||
},
|
},
|
||||||
get isRunningLocally() {
|
get isRunningLocally() {
|
||||||
return process.env.RUNNER_WORKSPACE === undefined;
|
return process.env.RUNNER_WORKSPACE === undefined;
|
||||||
|
@ -427,6 +442,8 @@ class ImageTag {
|
||||||
return 'ubuntu';
|
return 'ubuntu';
|
||||||
case 'win32':
|
case 'win32':
|
||||||
return 'windows';
|
return 'windows';
|
||||||
|
case 'darwin':
|
||||||
|
return 'macos';
|
||||||
default:
|
default:
|
||||||
throw new Error(`The Operating System of this runner, "${platform}", is not yet supported.`);
|
throw new Error(`The Operating System of this runner, "${platform}", is not yet supported.`);
|
||||||
}
|
}
|
||||||
|
@ -437,6 +454,8 @@ class ImageTag {
|
||||||
return platform_1.default.types.StandaloneLinux64;
|
return platform_1.default.types.StandaloneLinux64;
|
||||||
case 'win32':
|
case 'win32':
|
||||||
return platform_1.default.types.StandaloneWindows;
|
return platform_1.default.types.StandaloneWindows;
|
||||||
|
case 'darwin':
|
||||||
|
return platform_1.default.types.StandaloneOSX;
|
||||||
default:
|
default:
|
||||||
throw new Error(`The Operating System of this runner, "${platform}", is not yet supported.`);
|
throw new Error(`The Operating System of this runner, "${platform}", is not yet supported.`);
|
||||||
}
|
}
|
||||||
|
@ -523,7 +542,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
exports.ResultsCheck = exports.Output = exports.Input = exports.ImageTag = exports.Docker = exports.Action = void 0;
|
exports.ResultsCheck = exports.Output = exports.MacRunner = exports.Input = exports.ImageTag = exports.Docker = exports.Action = void 0;
|
||||||
var action_1 = __nccwpck_require__(9088);
|
var action_1 = __nccwpck_require__(9088);
|
||||||
Object.defineProperty(exports, "Action", ({ enumerable: true, get: function () { return __importDefault(action_1).default; } }));
|
Object.defineProperty(exports, "Action", ({ enumerable: true, get: function () { return __importDefault(action_1).default; } }));
|
||||||
var docker_1 = __nccwpck_require__(6934);
|
var docker_1 = __nccwpck_require__(6934);
|
||||||
|
@ -532,6 +551,8 @@ var image_tag_1 = __nccwpck_require__(7648);
|
||||||
Object.defineProperty(exports, "ImageTag", ({ enumerable: true, get: function () { return __importDefault(image_tag_1).default; } }));
|
Object.defineProperty(exports, "ImageTag", ({ enumerable: true, get: function () { return __importDefault(image_tag_1).default; } }));
|
||||||
var input_1 = __nccwpck_require__(1933);
|
var input_1 = __nccwpck_require__(1933);
|
||||||
Object.defineProperty(exports, "Input", ({ enumerable: true, get: function () { return __importDefault(input_1).default; } }));
|
Object.defineProperty(exports, "Input", ({ enumerable: true, get: function () { return __importDefault(input_1).default; } }));
|
||||||
|
var mac_runner_1 = __nccwpck_require__(6460);
|
||||||
|
Object.defineProperty(exports, "MacRunner", ({ enumerable: true, get: function () { return __importDefault(mac_runner_1).default; } }));
|
||||||
var output_1 = __nccwpck_require__(5487);
|
var output_1 = __nccwpck_require__(5487);
|
||||||
Object.defineProperty(exports, "Output", ({ enumerable: true, get: function () { return __importDefault(output_1).default; } }));
|
Object.defineProperty(exports, "Output", ({ enumerable: true, get: function () { return __importDefault(output_1).default; } }));
|
||||||
var results_check_1 = __nccwpck_require__(9183);
|
var results_check_1 = __nccwpck_require__(9183);
|
||||||
|
@ -663,6 +684,97 @@ class LicensingServerSetup {
|
||||||
exports["default"] = LicensingServerSetup;
|
exports["default"] = LicensingServerSetup;
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 6460:
|
||||||
|
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||||
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||||
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||||
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
|
});
|
||||||
|
};
|
||||||
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||||
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||||
|
};
|
||||||
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
|
const fs_1 = __nccwpck_require__(7147);
|
||||||
|
const licensing_server_setup_1 = __importDefault(__nccwpck_require__(6089));
|
||||||
|
const exec_1 = __nccwpck_require__(1514);
|
||||||
|
const path_1 = __importDefault(__nccwpck_require__(1017));
|
||||||
|
const MacRunner = {
|
||||||
|
run(parameters, silent = false) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
if (parameters.unityLicensingServer !== '') {
|
||||||
|
licensing_server_setup_1.default.Setup(parameters.unityLicensingServer, parameters.actionFolder);
|
||||||
|
}
|
||||||
|
const runCommand = this.getMacCommand(parameters);
|
||||||
|
yield (0, exec_1.exec)(runCommand, undefined, { silent });
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getMacCommand(parameters) {
|
||||||
|
const { actionFolder, editorVersion, workspace, projectPath, customParameters, testMode, coverageOptions, artifactsPath, sshAgent, gitPrivateToken, githubToken, runnerTemporaryPath, chownFilesTo, unityLicensingServer, } = parameters;
|
||||||
|
const githubHome = path_1.default.join(runnerTemporaryPath, '_github_home');
|
||||||
|
if (!(0, fs_1.existsSync)(githubHome))
|
||||||
|
(0, fs_1.mkdirSync)(githubHome);
|
||||||
|
const githubWorkflow = path_1.default.join(runnerTemporaryPath, '_github_workflow');
|
||||||
|
if (!(0, fs_1.existsSync)(githubWorkflow))
|
||||||
|
(0, fs_1.mkdirSync)(githubWorkflow);
|
||||||
|
const testPlatforms = (testMode === 'all' ? ['playmode', 'editmode', 'COMBINE_RESULTS'] : [testMode]).join(';');
|
||||||
|
return `cd "${workspace}"
|
||||||
|
ln -s /root "${githubHome}"
|
||||||
|
ln -s /github/workflow "${githubWorkflow}"
|
||||||
|
ln -s /github/workspace "${workspace}"
|
||||||
|
ln -s /steps "${actionFolder}/steps"
|
||||||
|
ln -s /entrypoint.sh "${actionFolder}/entrypoint.sh"
|
||||||
|
ln -s /usr/share/unity3d/config "${actionFolder}/unity-config"
|
||||||
|
${sshAgent ? `ln -s /ssh-agent ${sshAgent}` : ''}
|
||||||
|
${sshAgent ? `ln -s /root/.ssh/known_hosts /home/runner/.ssh/known_hosts` : ''}
|
||||||
|
env \
|
||||||
|
UNITY_LICENSE= \
|
||||||
|
UNITY_LICENSE_FILE= \
|
||||||
|
UNITY_EMAIL= \
|
||||||
|
UNITY_PASSWORD= \
|
||||||
|
UNITY_SERIAL= \
|
||||||
|
UNITY_LICENSING_SERVER="${unityLicensingServer}" \
|
||||||
|
UNITY_VERSION="${editorVersion}" \
|
||||||
|
PROJECT_PATH="${projectPath}" \
|
||||||
|
CUSTOM_PARAMETERS="${customParameters}" \
|
||||||
|
TEST_PLATFORMS="${testPlatforms}" \
|
||||||
|
COVERAGE_OPTIONS="${coverageOptions}" \
|
||||||
|
COVERAGE_RESULTS_PATH="CodeCoverage" \
|
||||||
|
ARTIFACTS_PATH="${artifactsPath}" \
|
||||||
|
GITHUB_REF= \
|
||||||
|
GITHUB_SHA= \
|
||||||
|
GITHUB_REPOSITORY= \
|
||||||
|
GITHUB_ACTOR= \
|
||||||
|
GITHUB_WORKFLOW= \
|
||||||
|
GITHUB_HEAD_REF= \
|
||||||
|
GITHUB_BASE_REF= \
|
||||||
|
GITHUB_EVENT_NAME= \
|
||||||
|
GITHUB_WORKSPACE="/github/workspace" \
|
||||||
|
GITHUB_ACTION= \
|
||||||
|
GITHUB_EVENT_PATH= \
|
||||||
|
RUNNER_OS= \
|
||||||
|
RUNNER_TOOL_CACHE= \
|
||||||
|
RUNNER_TEMP= \
|
||||||
|
RUNNER_WORKSPACE= \
|
||||||
|
GIT_PRIVATE_TOKEN="${gitPrivateToken}" \
|
||||||
|
CHOWN_FILES_TO="${chownFilesTo}" \
|
||||||
|
${sshAgent ? `SSH_AUTH_SOCK=/ssh-agent` : ''} \
|
||||||
|
USE_EXIT_CODE=${githubToken ? 'false' : 'true'} \
|
||||||
|
/bin/bash -c /entrypoint.sh`;
|
||||||
|
},
|
||||||
|
};
|
||||||
|
exports["default"] = MacRunner;
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 5487:
|
/***/ 5487:
|
||||||
|
@ -768,6 +880,14 @@ const Platform = {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
isMac(platform) {
|
||||||
|
switch (platform) {
|
||||||
|
case Platform.types.StandaloneOSX:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
};
|
};
|
||||||
exports["default"] = Platform;
|
exports["default"] = Platform;
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
54
src/main.ts
54
src/main.ts
|
@ -1,5 +1,5 @@
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
import { Action, Docker, ImageTag, Input, Output, ResultsCheck } from './model';
|
import { Action, Docker, ImageTag, Input, MacRunner, Output, ResultsCheck } from './model';
|
||||||
|
|
||||||
export async function run() {
|
export async function run() {
|
||||||
try {
|
try {
|
||||||
|
@ -26,23 +26,41 @@ export async function run() {
|
||||||
const runnerContext = Action.runnerContext();
|
const runnerContext = Action.runnerContext();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await Docker.run(baseImage, {
|
await (process.platform === 'darwin'
|
||||||
actionFolder,
|
? MacRunner.run({
|
||||||
editorVersion,
|
actionFolder,
|
||||||
workspace,
|
editorVersion,
|
||||||
projectPath,
|
workspace,
|
||||||
customParameters,
|
projectPath,
|
||||||
testMode,
|
customParameters,
|
||||||
coverageOptions,
|
testMode,
|
||||||
artifactsPath,
|
coverageOptions,
|
||||||
useHostNetwork,
|
artifactsPath,
|
||||||
sshAgent,
|
useHostNetwork,
|
||||||
gitPrivateToken,
|
sshAgent,
|
||||||
githubToken,
|
gitPrivateToken,
|
||||||
chownFilesTo,
|
githubToken,
|
||||||
unityLicensingServer,
|
chownFilesTo,
|
||||||
...runnerContext,
|
unityLicensingServer,
|
||||||
});
|
...runnerContext,
|
||||||
|
})
|
||||||
|
: Docker.run(baseImage, {
|
||||||
|
actionFolder,
|
||||||
|
editorVersion,
|
||||||
|
workspace,
|
||||||
|
projectPath,
|
||||||
|
customParameters,
|
||||||
|
testMode,
|
||||||
|
coverageOptions,
|
||||||
|
artifactsPath,
|
||||||
|
useHostNetwork,
|
||||||
|
sshAgent,
|
||||||
|
gitPrivateToken,
|
||||||
|
githubToken,
|
||||||
|
chownFilesTo,
|
||||||
|
unityLicensingServer,
|
||||||
|
...runnerContext,
|
||||||
|
}));
|
||||||
} finally {
|
} finally {
|
||||||
await Output.setArtifactsPath(artifactsPath);
|
await Output.setArtifactsPath(artifactsPath);
|
||||||
await Output.setCoveragePath('CodeCoverage');
|
await Output.setCoveragePath('CodeCoverage');
|
||||||
|
|
|
@ -5,7 +5,11 @@ import path from 'path';
|
||||||
describe('Action', () => {
|
describe('Action', () => {
|
||||||
describe('compatibility check', () => {
|
describe('compatibility check', () => {
|
||||||
it('throws for anything other than linux or windows', () => {
|
it('throws for anything other than linux or windows', () => {
|
||||||
if (process.platform !== 'linux' && process.platform !== 'win32') {
|
if (
|
||||||
|
process.platform !== 'linux' &&
|
||||||
|
process.platform !== 'win32' &&
|
||||||
|
process.platform !== 'darwin'
|
||||||
|
) {
|
||||||
expect(() => Action.checkCompatibility()).toThrow();
|
expect(() => Action.checkCompatibility()).toThrow();
|
||||||
} else {
|
} else {
|
||||||
expect(() => Action.checkCompatibility()).not.toThrow();
|
expect(() => Action.checkCompatibility()).not.toThrow();
|
||||||
|
|
|
@ -7,7 +7,7 @@ export interface RunnerContext {
|
||||||
|
|
||||||
const Action = {
|
const Action = {
|
||||||
get supportedPlatforms() {
|
get supportedPlatforms() {
|
||||||
return ['linux', 'win32'];
|
return ['linux', 'win32', 'darwin'];
|
||||||
},
|
},
|
||||||
|
|
||||||
get isRunningLocally() {
|
get isRunningLocally() {
|
||||||
|
|
|
@ -58,6 +58,8 @@ class ImageTag {
|
||||||
return 'ubuntu';
|
return 'ubuntu';
|
||||||
case 'win32':
|
case 'win32':
|
||||||
return 'windows';
|
return 'windows';
|
||||||
|
case 'darwin':
|
||||||
|
return 'macos';
|
||||||
default:
|
default:
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`The Operating System of this runner, "${platform}", is not yet supported.`,
|
`The Operating System of this runner, "${platform}", is not yet supported.`,
|
||||||
|
@ -71,6 +73,8 @@ class ImageTag {
|
||||||
return Platform.types.StandaloneLinux64;
|
return Platform.types.StandaloneLinux64;
|
||||||
case 'win32':
|
case 'win32':
|
||||||
return Platform.types.StandaloneWindows;
|
return Platform.types.StandaloneWindows;
|
||||||
|
case 'darwin':
|
||||||
|
return Platform.types.StandaloneOSX;
|
||||||
default:
|
default:
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`The Operating System of this runner, "${platform}", is not yet supported.`,
|
`The Operating System of this runner, "${platform}", is not yet supported.`,
|
||||||
|
|
|
@ -2,5 +2,6 @@ export { default as Action } from './action';
|
||||||
export { default as Docker } from './docker';
|
export { default as Docker } from './docker';
|
||||||
export { default as ImageTag } from './image-tag';
|
export { default as ImageTag } from './image-tag';
|
||||||
export { default as Input } from './input';
|
export { default as Input } from './input';
|
||||||
|
export { default as MacRunner } from './mac-runner';
|
||||||
export { default as Output } from './output';
|
export { default as Output } from './output';
|
||||||
export { default as ResultsCheck } from './results-check';
|
export { default as ResultsCheck } from './results-check';
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
import Action from './action';
|
||||||
|
import MacRunner from './mac-runner';
|
||||||
|
|
||||||
|
describe('MacRunner', () => {
|
||||||
|
it.skip('runs', async () => {
|
||||||
|
const parameters = {
|
||||||
|
workspace: Action.rootFolder,
|
||||||
|
projectPath: `${Action.rootFolder}/test-project`,
|
||||||
|
buildName: 'someBuildName',
|
||||||
|
buildsPath: 'build',
|
||||||
|
method: '',
|
||||||
|
};
|
||||||
|
await MacRunner.run(parameters);
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,88 @@
|
||||||
|
import { existsSync, mkdirSync } from 'fs';
|
||||||
|
import LicensingServerSetup from './licensing-server-setup';
|
||||||
|
import { exec } from '@actions/exec';
|
||||||
|
import path from 'path';
|
||||||
|
|
||||||
|
const MacRunner = {
|
||||||
|
async run(parameters, silent = false) {
|
||||||
|
if (parameters.unityLicensingServer !== '') {
|
||||||
|
LicensingServerSetup.Setup(parameters.unityLicensingServer, parameters.actionFolder);
|
||||||
|
}
|
||||||
|
|
||||||
|
const runCommand = this.getMacCommand(parameters);
|
||||||
|
await exec(runCommand, undefined, { silent });
|
||||||
|
},
|
||||||
|
|
||||||
|
getMacCommand(parameters): string {
|
||||||
|
const {
|
||||||
|
actionFolder,
|
||||||
|
editorVersion,
|
||||||
|
workspace,
|
||||||
|
projectPath,
|
||||||
|
customParameters,
|
||||||
|
testMode,
|
||||||
|
coverageOptions,
|
||||||
|
artifactsPath,
|
||||||
|
sshAgent,
|
||||||
|
gitPrivateToken,
|
||||||
|
githubToken,
|
||||||
|
runnerTemporaryPath,
|
||||||
|
chownFilesTo,
|
||||||
|
unityLicensingServer,
|
||||||
|
} = parameters;
|
||||||
|
|
||||||
|
const githubHome = path.join(runnerTemporaryPath, '_github_home');
|
||||||
|
if (!existsSync(githubHome)) mkdirSync(githubHome);
|
||||||
|
const githubWorkflow = path.join(runnerTemporaryPath, '_github_workflow');
|
||||||
|
if (!existsSync(githubWorkflow)) mkdirSync(githubWorkflow);
|
||||||
|
const testPlatforms = (
|
||||||
|
testMode === 'all' ? ['playmode', 'editmode', 'COMBINE_RESULTS'] : [testMode]
|
||||||
|
).join(';');
|
||||||
|
|
||||||
|
return `cd "${workspace}"
|
||||||
|
ln -s /root "${githubHome}"
|
||||||
|
ln -s /github/workflow "${githubWorkflow}"
|
||||||
|
ln -s /github/workspace "${workspace}"
|
||||||
|
ln -s /steps "${actionFolder}/steps"
|
||||||
|
ln -s /entrypoint.sh "${actionFolder}/entrypoint.sh"
|
||||||
|
ln -s /usr/share/unity3d/config "${actionFolder}/unity-config"
|
||||||
|
${sshAgent ? `ln -s /ssh-agent ${sshAgent}` : ''}
|
||||||
|
${sshAgent ? `ln -s /root/.ssh/known_hosts /home/runner/.ssh/known_hosts` : ''}
|
||||||
|
env \
|
||||||
|
UNITY_LICENSE= \
|
||||||
|
UNITY_LICENSE_FILE= \
|
||||||
|
UNITY_EMAIL= \
|
||||||
|
UNITY_PASSWORD= \
|
||||||
|
UNITY_SERIAL= \
|
||||||
|
UNITY_LICENSING_SERVER="${unityLicensingServer}" \
|
||||||
|
UNITY_VERSION="${editorVersion}" \
|
||||||
|
PROJECT_PATH="${projectPath}" \
|
||||||
|
CUSTOM_PARAMETERS="${customParameters}" \
|
||||||
|
TEST_PLATFORMS="${testPlatforms}" \
|
||||||
|
COVERAGE_OPTIONS="${coverageOptions}" \
|
||||||
|
COVERAGE_RESULTS_PATH="CodeCoverage" \
|
||||||
|
ARTIFACTS_PATH="${artifactsPath}" \
|
||||||
|
GITHUB_REF= \
|
||||||
|
GITHUB_SHA= \
|
||||||
|
GITHUB_REPOSITORY= \
|
||||||
|
GITHUB_ACTOR= \
|
||||||
|
GITHUB_WORKFLOW= \
|
||||||
|
GITHUB_HEAD_REF= \
|
||||||
|
GITHUB_BASE_REF= \
|
||||||
|
GITHUB_EVENT_NAME= \
|
||||||
|
GITHUB_WORKSPACE="/github/workspace" \
|
||||||
|
GITHUB_ACTION= \
|
||||||
|
GITHUB_EVENT_PATH= \
|
||||||
|
RUNNER_OS= \
|
||||||
|
RUNNER_TOOL_CACHE= \
|
||||||
|
RUNNER_TEMP= \
|
||||||
|
RUNNER_WORKSPACE= \
|
||||||
|
GIT_PRIVATE_TOKEN="${gitPrivateToken}" \
|
||||||
|
CHOWN_FILES_TO="${chownFilesTo}" \
|
||||||
|
${sshAgent ? `SSH_AUTH_SOCK=/ssh-agent` : ''} \
|
||||||
|
USE_EXIT_CODE=${githubToken ? 'false' : 'true'} \
|
||||||
|
/bin/bash -c /entrypoint.sh`;
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default MacRunner;
|
|
@ -34,4 +34,14 @@ describe('Platform', () => {
|
||||||
expect(Platform.isAndroid(Platform.types.StandaloneWindows64)).toStrictEqual(false);
|
expect(Platform.isAndroid(Platform.types.StandaloneWindows64)).toStrictEqual(false);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('isMac', () => {
|
||||||
|
it('returns true for MacOS', () => {
|
||||||
|
expect(Platform.isMac(Platform.types.StandaloneOSX)).toStrictEqual(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('returns false for windows', () => {
|
||||||
|
expect(Platform.isMac(Platform.types.StandaloneWindows64)).toStrictEqual(false);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -46,6 +46,15 @@ const Platform = {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
isMac(platform) {
|
||||||
|
switch (platform) {
|
||||||
|
case Platform.types.StandaloneOSX:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Platform;
|
export default Platform;
|
||||||
|
|
Loading…
Reference in New Issue