Revert to cwd being the workspace folder and pass action folder as an env variable.
parent
40463d3b61
commit
f652a90039
|
|
@ -64,7 +64,7 @@ function run() {
|
|||
// default and local case
|
||||
default:
|
||||
core.info('Building locally');
|
||||
yield platform_setup_1.default.setup(buildParameters);
|
||||
yield platform_setup_1.default.setup(buildParameters, actionFolder);
|
||||
if (process.platform === 'darwin') {
|
||||
mac_builder_1.default.run(actionFolder, workspace, buildParameters);
|
||||
}
|
||||
|
|
@ -1219,7 +1219,6 @@ class MacBuilder {
|
|||
return __awaiter(this, void 0, void 0, function* () {
|
||||
yield exec_1.exec('bash', [`${actionFolder}/platforms/mac/entrypoint.sh`], {
|
||||
silent,
|
||||
cwd: `${actionFolder}/platforms/mac`,
|
||||
ignoreReturnCode: true,
|
||||
});
|
||||
});
|
||||
|
|
@ -1279,7 +1278,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|||
const platform_setup_1 = __webpack_require__(2014);
|
||||
const validate_windows_1 = __importDefault(__webpack_require__(41563));
|
||||
class PlatformSetup {
|
||||
static setup(buildParameters) {
|
||||
static setup(buildParameters, actionFolder) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
switch (process.platform) {
|
||||
case 'win32':
|
||||
|
|
@ -1287,7 +1286,7 @@ class PlatformSetup {
|
|||
platform_setup_1.SetupWindows.setup(buildParameters);
|
||||
break;
|
||||
case 'darwin':
|
||||
yield platform_setup_1.SetupMac.setup(buildParameters);
|
||||
yield platform_setup_1.SetupMac.setup(buildParameters, actionFolder);
|
||||
break;
|
||||
//Add other baseOS's here
|
||||
}
|
||||
|
|
@ -1339,22 +1338,27 @@ const unity_changeset_1 = __webpack_require__(4635);
|
|||
const exec_1 = __webpack_require__(71514);
|
||||
const fs_1 = __importDefault(__webpack_require__(35747));
|
||||
class SetupMac {
|
||||
static setup(buildParameters) {
|
||||
static setup(buildParameters, actionFolder) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const unityEditorPath = `/Applications/Unity/Hub/Editor/${buildParameters.version}/Unity.app/Contents/MacOS/Unity`;
|
||||
yield exec_1.exec('pwd');
|
||||
// Only install unity if the editor doesn't already exist
|
||||
if (!fs_1.default.existsSync(unityEditorPath)) {
|
||||
yield SetupMac.installUnityHub();
|
||||
yield SetupMac.installUnity(buildParameters);
|
||||
}
|
||||
yield SetupMac.setEnvironmentVariables(buildParameters);
|
||||
yield SetupMac.setEnvironmentVariables(buildParameters, actionFolder);
|
||||
});
|
||||
}
|
||||
static installUnityHub(silent = false) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const command = 'brew install unity-hub';
|
||||
if (!fs_1.default.existsSync(this.unityHubPath)) {
|
||||
yield exec_1.exec(command, undefined, { silent, ignoreReturnCode: true });
|
||||
//Ignoring return code because the log seems to overflow the internal buffer which triggers
|
||||
//a false error
|
||||
const errorCode = yield exec_1.exec(command, undefined, { silent, ignoreReturnCode: true });
|
||||
if (errorCode) {
|
||||
throw new Error(`There was an error installing the Unity Editor. See logs above for details.`);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -1366,16 +1370,19 @@ class SetupMac {
|
|||
--changeset ${unityChangeset.changeset} \
|
||||
--module mac-il2cpp \
|
||||
--childModules`;
|
||||
//Ignoring return code because the log seems to overflow the internal buffer which triggers
|
||||
//a false error
|
||||
const errorCode = yield exec_1.exec(command, undefined, { silent, ignoreReturnCode: true });
|
||||
if (errorCode) {
|
||||
throw new Error(`There was an error installing the Unity Editor. See logs above for details.`);
|
||||
}
|
||||
});
|
||||
}
|
||||
static setEnvironmentVariables(buildParameters) {
|
||||
static setEnvironmentVariables(buildParameters, actionFolder) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
//Need to set environment variables from here because we execute
|
||||
//the scripts on the host for mac
|
||||
process.env.ACTION_FOLDER = actionFolder;
|
||||
process.env.UNITY_VERSION = buildParameters.version;
|
||||
process.env.UNITY_SERIAL = buildParameters.unitySerial;
|
||||
process.env.PROJECT_PATH = buildParameters.projectPath;
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,24 +1,28 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
#
|
||||
# Create directory for license activation
|
||||
# Create directories for license activation
|
||||
#
|
||||
|
||||
sudo mkdir /Library/Application\ Support/Unity
|
||||
sudo chmod -R 777 /Library/Application\ Support/Unity
|
||||
|
||||
ACTIVATE_LICENSE_PATH="$GITHUB_WORKSPACE/_activate-license"
|
||||
mkdir -p "$ACTIVATE_LICENSE_PATH"
|
||||
|
||||
#
|
||||
# Run steps
|
||||
#
|
||||
source ./steps/activate.sh
|
||||
source ./steps/build.sh
|
||||
source ./steps/return_license.sh
|
||||
source $ACTION_FOLDER/platforms/mac/steps/activate.sh
|
||||
source $ACTION_FOLDER/platforms/mac/steps/build.sh
|
||||
source $ACTION_FOLDER/platforms/mac/steps/return_license.sh
|
||||
|
||||
#
|
||||
# Remove license activation directory
|
||||
#
|
||||
|
||||
sudo rm -r /Library/Application\ Support/Unity
|
||||
rm -r "$ACTIVATE_LICENSE_PATH"
|
||||
|
||||
#
|
||||
# Instructions for debugging
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Run in ACTIVATE_LICENSE_PATH directory
|
||||
echo "Changing to \"$ACTIVATE_LICENSE_PATH\" directory."
|
||||
pushd "$ACTIVATE_LICENSE_PATH"
|
||||
|
||||
echo "Requesting activation"
|
||||
|
||||
# Activate license
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Need this because it tries to initialize the library when deactivating
|
||||
UNITY_PROJECT_PATH="$GITHUB_WORKSPACE/$PROJECT_PATH"
|
||||
# Run in ACTIVATE_LICENSE_PATH directory
|
||||
echo "Changing to \"$ACTIVATE_LICENSE_PATH\" directory."
|
||||
pushd "$ACTIVATE_LICENSE_PATH"
|
||||
|
||||
/Applications/Unity/Hub/Editor/$UNITY_VERSION/Unity.app/Contents/MacOS/Unity \
|
||||
-logFile /dev/stdout \
|
||||
|
|
@ -9,3 +10,6 @@ UNITY_PROJECT_PATH="$GITHUB_WORKSPACE/$PROJECT_PATH"
|
|||
-nographics \
|
||||
-quit \
|
||||
-returnlicense
|
||||
|
||||
# Return to previous working directory
|
||||
popd
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ async function run() {
|
|||
// default and local case
|
||||
default:
|
||||
core.info('Building locally');
|
||||
await PlatformSetup.setup(buildParameters);
|
||||
await PlatformSetup.setup(buildParameters, actionFolder);
|
||||
if (process.platform === 'darwin') {
|
||||
MacBuilder.run(actionFolder, workspace, buildParameters);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ class MacBuilder {
|
|||
public static async run(actionFolder, workspace, buildParameters: BuildParameters, silent = false) {
|
||||
await exec('bash', [`${actionFolder}/platforms/mac/entrypoint.sh`], {
|
||||
silent,
|
||||
cwd: `${actionFolder}/platforms/mac`,
|
||||
ignoreReturnCode: true,
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@ import { SetupWindows, SetupMac } from './platform-setup/';
|
|||
import ValidateWindows from './platform-validation/validate-windows';
|
||||
|
||||
class PlatformSetup {
|
||||
static async setup(buildParameters: BuildParameters) {
|
||||
static async setup(buildParameters: BuildParameters, actionFolder: string) {
|
||||
switch (process.platform) {
|
||||
case 'win32':
|
||||
ValidateWindows.validate(buildParameters);
|
||||
SetupWindows.setup(buildParameters);
|
||||
break;
|
||||
case 'darwin':
|
||||
await SetupMac.setup(buildParameters);
|
||||
await SetupMac.setup(buildParameters, actionFolder);
|
||||
break;
|
||||
//Add other baseOS's here
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,20 +5,28 @@ import fs from 'fs';
|
|||
|
||||
class SetupMac {
|
||||
static unityHubPath = `"/Applications/Unity Hub.app/Contents/MacOS/Unity Hub"`;
|
||||
public static async setup(buildParameters: BuildParameters) {
|
||||
|
||||
public static async setup(buildParameters: BuildParameters, actionFolder: string) {
|
||||
const unityEditorPath = `/Applications/Unity/Hub/Editor/${buildParameters.version}/Unity.app/Contents/MacOS/Unity`;
|
||||
await exec('pwd');
|
||||
|
||||
// Only install unity if the editor doesn't already exist
|
||||
if (!fs.existsSync(unityEditorPath)) {
|
||||
await SetupMac.installUnityHub();
|
||||
await SetupMac.installUnity(buildParameters);
|
||||
}
|
||||
await SetupMac.setEnvironmentVariables(buildParameters);
|
||||
|
||||
await SetupMac.setEnvironmentVariables(buildParameters, actionFolder);
|
||||
}
|
||||
|
||||
private static async installUnityHub(silent = false) {
|
||||
const command = 'brew install unity-hub';
|
||||
if (!fs.existsSync(this.unityHubPath)) {
|
||||
await exec(command, undefined, { silent, ignoreReturnCode: true });
|
||||
//Ignoring return code because the log seems to overflow the internal buffer which triggers
|
||||
//a false error
|
||||
const errorCode = await exec(command, undefined, { silent, ignoreReturnCode: true });
|
||||
if (errorCode) {
|
||||
throw new Error(`There was an error installing the Unity Editor. See logs above for details.`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -29,15 +37,19 @@ class SetupMac {
|
|||
--changeset ${unityChangeset.changeset} \
|
||||
--module mac-il2cpp \
|
||||
--childModules`;
|
||||
|
||||
//Ignoring return code because the log seems to overflow the internal buffer which triggers
|
||||
//a false error
|
||||
const errorCode = await exec(command, undefined, { silent, ignoreReturnCode: true });
|
||||
if (errorCode) {
|
||||
throw new Error(`There was an error installing the Unity Editor. See logs above for details.`);
|
||||
}
|
||||
}
|
||||
|
||||
private static async setEnvironmentVariables(buildParameters: BuildParameters) {
|
||||
private static async setEnvironmentVariables(buildParameters: BuildParameters, actionFolder: string) {
|
||||
//Need to set environment variables from here because we execute
|
||||
//the scripts on the host for mac
|
||||
process.env.ACTION_FOLDER = actionFolder;
|
||||
process.env.UNITY_VERSION = buildParameters.version;
|
||||
process.env.UNITY_SERIAL = buildParameters.unitySerial;
|
||||
process.env.PROJECT_PATH = buildParameters.projectPath;
|
||||
|
|
|
|||
Loading…
Reference in New Issue