mirror of
https://github.com/game-ci/unity-builder.git
synced 2026-02-02 22:59:06 +08:00
Compare commits
2 Commits
codex/crea
...
v4.6.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
88a89c94a0 | ||
|
|
f7f3f70c57 |
10
.github/workflows/build-tests-mac.yml
vendored
10
.github/workflows/build-tests-mac.yml
vendored
@@ -24,6 +24,13 @@ jobs:
|
|||||||
targetPlatform:
|
targetPlatform:
|
||||||
- StandaloneOSX # Build a MacOS executable
|
- StandaloneOSX # Build a MacOS executable
|
||||||
- iOS # Build an iOS executable
|
- iOS # Build an iOS executable
|
||||||
|
include:
|
||||||
|
# Additionally test enableGpu build for a standalone windows target
|
||||||
|
- unityVersion: 6000.0.36f1
|
||||||
|
targetPlatform: StandaloneOSX
|
||||||
|
- unityVersion: 6000.0.36f1
|
||||||
|
targetPlatform: StandaloneOSX
|
||||||
|
buildProfile: 'Assets/Settings/Build Profiles/Sample macOS Build Profile.asset'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
###########################
|
###########################
|
||||||
@@ -65,6 +72,7 @@ jobs:
|
|||||||
projectPath: ${{ matrix.projectPath }}
|
projectPath: ${{ matrix.projectPath }}
|
||||||
unityVersion: ${{ matrix.unityVersion }}
|
unityVersion: ${{ matrix.unityVersion }}
|
||||||
targetPlatform: ${{ matrix.targetPlatform }}
|
targetPlatform: ${{ matrix.targetPlatform }}
|
||||||
|
buildProfile: ${{ matrix.buildProfile }}
|
||||||
customParameters: -profile SomeProfile -someBoolean -someValue exampleValue
|
customParameters: -profile SomeProfile -someBoolean -someValue exampleValue
|
||||||
# We use dirty build because we are replacing the default project settings file above
|
# We use dirty build because we are replacing the default project settings file above
|
||||||
allowDirtyBuild: true
|
allowDirtyBuild: true
|
||||||
@@ -74,6 +82,6 @@ jobs:
|
|||||||
###########################
|
###########################
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: Build ${{ matrix.targetPlatform }} on MacOS (${{ matrix.unityVersion }})
|
name: Build ${{ matrix.targetPlatform }} on MacOS (${{ matrix.unityVersion }})${{ matrix.buildProfile && ' With Build Profile' || '' }}
|
||||||
path: build
|
path: build
|
||||||
retention-days: 14
|
retention-days: 14
|
||||||
|
|||||||
8
.github/workflows/build-tests-windows.yml
vendored
8
.github/workflows/build-tests-windows.yml
vendored
@@ -34,6 +34,11 @@ jobs:
|
|||||||
unityVersion: 2023.2.2f1
|
unityVersion: 2023.2.2f1
|
||||||
targetPlatform: StandaloneWindows64
|
targetPlatform: StandaloneWindows64
|
||||||
enableGpu: true
|
enableGpu: true
|
||||||
|
- unityVersion: 6000.0.36f1
|
||||||
|
targetPlatform: StandaloneWindows64
|
||||||
|
- unityVersion: 6000.0.36f1
|
||||||
|
targetPlatform: StandaloneWindows64
|
||||||
|
buildProfile: 'Assets/Settings/Build Profiles/Sample Windows Build Profile.asset'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
###########################
|
###########################
|
||||||
@@ -79,6 +84,7 @@ jobs:
|
|||||||
projectPath: ${{ matrix.projectPath }}
|
projectPath: ${{ matrix.projectPath }}
|
||||||
unityVersion: ${{ matrix.unityVersion }}
|
unityVersion: ${{ matrix.unityVersion }}
|
||||||
targetPlatform: ${{ matrix.targetPlatform }}
|
targetPlatform: ${{ matrix.targetPlatform }}
|
||||||
|
buildProfile: ${{ matrix.buildProfile }}
|
||||||
enableGpu: ${{ matrix.enableGpu }}
|
enableGpu: ${{ matrix.enableGpu }}
|
||||||
customParameters: -profile SomeProfile -someBoolean -someValue exampleValue
|
customParameters: -profile SomeProfile -someBoolean -someValue exampleValue
|
||||||
allowDirtyBuild: true
|
allowDirtyBuild: true
|
||||||
@@ -140,6 +146,6 @@ jobs:
|
|||||||
###########################
|
###########################
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: Build ${{ matrix.targetPlatform }} on Windows (${{ matrix.unityVersion }})${{ matrix.enableGpu && ' With GPU' || '' }}
|
name: Build ${{ matrix.targetPlatform }} on Windows (${{ matrix.unityVersion }})${{ matrix.enableGpu && ' With GPU' || '' }}${{ matrix.buildProfile && ' With Build Profile' || '' }}
|
||||||
path: build
|
path: build
|
||||||
retention-days: 14
|
retention-days: 14
|
||||||
|
|||||||
@@ -56,14 +56,23 @@ namespace UnityBuilderAction
|
|||||||
// of either `UnityEditor.BuildPlayerOptions` or `UnityEditor.BuildPlayerWithProfileOptions`
|
// of either `UnityEditor.BuildPlayerOptions` or `UnityEditor.BuildPlayerWithProfileOptions`
|
||||||
dynamic buildPlayerOptions;
|
dynamic buildPlayerOptions;
|
||||||
|
|
||||||
if (options["customBuildProfile"] != "") {
|
if (options.TryGetValue("activeBuildProfile", out var buildProfilePath)) {
|
||||||
|
if (string.IsNullOrEmpty(buildProfilePath)) {
|
||||||
|
throw new Exception("`-activeBuildProfile` is set but with an empty value; this shouldn't happen");
|
||||||
|
}
|
||||||
|
|
||||||
#if UNITY_6000_0_OR_NEWER
|
#if UNITY_6000_0_OR_NEWER
|
||||||
// Load build profile from Assets folder
|
// Load build profile from Assets folder
|
||||||
BuildProfile buildProfile = AssetDatabase.LoadAssetAtPath<BuildProfile>(options["customBuildProfile"]);
|
var buildProfile = AssetDatabase.LoadAssetAtPath<BuildProfile>(buildProfilePath)
|
||||||
|
?? throw new Exception("Build profile file not found at path: " + buildProfilePath);
|
||||||
|
|
||||||
// Set it as active
|
#if !BUILD_PROFILE_LOADED
|
||||||
BuildProfile.SetActiveBuildProfile(buildProfile);
|
throw new Exception("Build profile's define symbol not present before script execution; shouldn't happen");
|
||||||
|
#endif // BUILD_PROFILE_LOADED
|
||||||
|
|
||||||
|
// no need to set active profile, as already set by `-activeBuildProfile` CLI argument
|
||||||
|
// BuildProfile.SetActiveBuildProfile(buildProfile);
|
||||||
|
Debug.Log($"build profile: {buildProfile.name}");
|
||||||
|
|
||||||
// Define BuildPlayerWithProfileOptions
|
// Define BuildPlayerWithProfileOptions
|
||||||
buildPlayerOptions = new BuildPlayerWithProfileOptions {
|
buildPlayerOptions = new BuildPlayerWithProfileOptions {
|
||||||
@@ -71,12 +80,16 @@ namespace UnityBuilderAction
|
|||||||
locationPathName = options["customBuildPath"],
|
locationPathName = options["customBuildPath"],
|
||||||
options = buildOptions,
|
options = buildOptions,
|
||||||
};
|
};
|
||||||
#else
|
#else // UNITY_6000_0_OR_NEWER
|
||||||
throw new Exception("Build profiles are not supported by this version of Unity (" + Application.unityVersion +")");
|
throw new Exception("Build profiles are not supported by this version of Unity (" + Application.unityVersion +")");
|
||||||
#endif
|
#endif // UNITY_6000_0_OR_NEWER
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
#if BUILD_PROFILE_LOADED
|
||||||
|
throw new Exception("Build profile's define symbol present; shouldn't happen");
|
||||||
|
#endif // BUILD_PROFILE_LOADED
|
||||||
|
|
||||||
// Gather values from project
|
// Gather values from project
|
||||||
var scenes = EditorBuildSettings.scenes.Where(scene => scene.enabled).Select(s => s.path).ToArray();
|
var scenes = EditorBuildSettings.scenes.Where(scene => scene.enabled).Select(s => s.path).ToArray();
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,19 @@ namespace UnityBuilderAction.Input
|
|||||||
EditorApplication.Exit(110);
|
EditorApplication.Exit(110);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if UNITY_6000_0_OR_NEWER
|
||||||
|
var buildProfileSupport = true;
|
||||||
|
#else
|
||||||
|
var buildProfileSupport = false;
|
||||||
|
#endif // UNITY_6000_0_OR_NEWER
|
||||||
|
|
||||||
|
string buildProfile;
|
||||||
|
if (buildProfileSupport && validatedOptions.TryGetValue("activeBuildProfile", out buildProfile)) {
|
||||||
|
if (validatedOptions.ContainsKey("buildTarget")) {
|
||||||
|
Console.WriteLine("Extra argument -buildTarget");
|
||||||
|
EditorApplication.Exit(122);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
string buildTarget;
|
string buildTarget;
|
||||||
if (!validatedOptions.TryGetValue("buildTarget", out buildTarget)) {
|
if (!validatedOptions.TryGetValue("buildTarget", out buildTarget)) {
|
||||||
Console.WriteLine("Missing argument -buildTarget");
|
Console.WriteLine("Missing argument -buildTarget");
|
||||||
@@ -31,6 +44,7 @@ namespace UnityBuilderAction.Input
|
|||||||
Console.WriteLine(buildTarget + " is not a defined " + typeof(BuildTarget).Name);
|
Console.WriteLine(buildTarget + " is not a defined " + typeof(BuildTarget).Name);
|
||||||
EditorApplication.Exit(121);
|
EditorApplication.Exit(121);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
string customBuildPath;
|
string customBuildPath;
|
||||||
if (!validatedOptions.TryGetValue("customBuildPath", out customBuildPath)) {
|
if (!validatedOptions.TryGetValue("customBuildPath", out customBuildPath)) {
|
||||||
|
|||||||
3
dist/platforms/mac/steps/build.sh
vendored
3
dist/platforms/mac/steps/build.sh
vendored
@@ -153,10 +153,11 @@ echo ""
|
|||||||
-password "$UNITY_PASSWORD" \
|
-password "$UNITY_PASSWORD" \
|
||||||
-customBuildName "$BUILD_NAME" \
|
-customBuildName "$BUILD_NAME" \
|
||||||
-projectPath "$UNITY_PROJECT_PATH" \
|
-projectPath "$UNITY_PROJECT_PATH" \
|
||||||
-buildTarget "$BUILD_TARGET" \
|
$( [ -z "$BUILD_PROFILE" ] && echo "-buildTarget $BUILD_TARGET") \
|
||||||
-customBuildTarget "$BUILD_TARGET" \
|
-customBuildTarget "$BUILD_TARGET" \
|
||||||
-customBuildPath "$CUSTOM_BUILD_PATH" \
|
-customBuildPath "$CUSTOM_BUILD_PATH" \
|
||||||
-customBuildProfile "$BUILD_PROFILE" \
|
-customBuildProfile "$BUILD_PROFILE" \
|
||||||
|
${BUILD_PROFILE:+-activeBuildProfile} ${BUILD_PROFILE:+"$BUILD_PROFILE"} \
|
||||||
-executeMethod "$BUILD_METHOD" \
|
-executeMethod "$BUILD_METHOD" \
|
||||||
-buildVersion "$VERSION" \
|
-buildVersion "$VERSION" \
|
||||||
-androidVersionCode "$ANDROID_VERSION_CODE" \
|
-androidVersionCode "$ANDROID_VERSION_CODE" \
|
||||||
|
|||||||
3
dist/platforms/ubuntu/steps/build.sh
vendored
3
dist/platforms/ubuntu/steps/build.sh
vendored
@@ -125,10 +125,11 @@ unity-editor \
|
|||||||
$( [ "${MANUAL_EXIT}" == "true" ] || echo "-quit" ) \
|
$( [ "${MANUAL_EXIT}" == "true" ] || echo "-quit" ) \
|
||||||
-customBuildName "$BUILD_NAME" \
|
-customBuildName "$BUILD_NAME" \
|
||||||
-projectPath "$UNITY_PROJECT_PATH" \
|
-projectPath "$UNITY_PROJECT_PATH" \
|
||||||
-buildTarget "$BUILD_TARGET" \
|
$( [ -z "$BUILD_PROFILE" ] && echo "-buildTarget $BUILD_TARGET" ) \
|
||||||
-customBuildTarget "$BUILD_TARGET" \
|
-customBuildTarget "$BUILD_TARGET" \
|
||||||
-customBuildPath "$CUSTOM_BUILD_PATH" \
|
-customBuildPath "$CUSTOM_BUILD_PATH" \
|
||||||
-customBuildProfile "$BUILD_PROFILE" \
|
-customBuildProfile "$BUILD_PROFILE" \
|
||||||
|
${BUILD_PROFILE:+-activeBuildProfile} ${BUILD_PROFILE:+"$BUILD_PROFILE"} \
|
||||||
-executeMethod "$BUILD_METHOD" \
|
-executeMethod "$BUILD_METHOD" \
|
||||||
-buildVersion "$VERSION" \
|
-buildVersion "$VERSION" \
|
||||||
-androidVersionCode "$ANDROID_VERSION_CODE" \
|
-androidVersionCode "$ANDROID_VERSION_CODE" \
|
||||||
|
|||||||
8
dist/platforms/windows/build.ps1
vendored
8
dist/platforms/windows/build.ps1
vendored
@@ -166,7 +166,6 @@ $unityArgs = @(
|
|||||||
"-customBuildName", "`"$Env:BUILD_NAME`"",
|
"-customBuildName", "`"$Env:BUILD_NAME`"",
|
||||||
"-projectPath", "`"$Env:UNITY_PROJECT_PATH`"",
|
"-projectPath", "`"$Env:UNITY_PROJECT_PATH`"",
|
||||||
"-executeMethod", "`"$Env:BUILD_METHOD`"",
|
"-executeMethod", "`"$Env:BUILD_METHOD`"",
|
||||||
"-buildTarget", "`"$Env:BUILD_TARGET`"",
|
|
||||||
"-customBuildTarget", "`"$Env:BUILD_TARGET`"",
|
"-customBuildTarget", "`"$Env:BUILD_TARGET`"",
|
||||||
"-customBuildPath", "`"$Env:CUSTOM_BUILD_PATH`"",
|
"-customBuildPath", "`"$Env:CUSTOM_BUILD_PATH`"",
|
||||||
"-customBuildProfile", "`"$Env:BUILD_PROFILE`"",
|
"-customBuildProfile", "`"$Env:BUILD_PROFILE`"",
|
||||||
@@ -181,6 +180,13 @@ $unityArgs = @(
|
|||||||
"-logfile", "-"
|
"-logfile", "-"
|
||||||
) + $customParametersArray
|
) + $customParametersArray
|
||||||
|
|
||||||
|
if (-not $Env:BUILD_PROFILE) {
|
||||||
|
$unityArgs += @("-buildTarget", "`"$Env:BUILD_TARGET`"")
|
||||||
|
}
|
||||||
|
if ($Env:BUILD_PROFILE) {
|
||||||
|
$unityArgs += @("-activeBuildProfile", "`"$Env:BUILD_PROFILE`"")
|
||||||
|
}
|
||||||
|
|
||||||
# Remove null items as that will fail the Start-Process call
|
# Remove null items as that will fail the Start-Process call
|
||||||
$unityArgs = $unityArgs | Where-Object { $_ -ne $null }
|
$unityArgs = $unityArgs | Where-Object { $_ -ne $null }
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ MonoBehaviour:
|
|||||||
rid: 200022742090383361
|
rid: 200022742090383361
|
||||||
m_OverrideGlobalSceneList: 0
|
m_OverrideGlobalSceneList: 0
|
||||||
m_Scenes: []
|
m_Scenes: []
|
||||||
m_ScriptingDefines: []
|
m_ScriptingDefines:
|
||||||
|
- BUILD_PROFILE_LOADED
|
||||||
m_PlayerSettingsYaml:
|
m_PlayerSettingsYaml:
|
||||||
m_Settings: []
|
m_Settings: []
|
||||||
references:
|
references:
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 15003, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
m_Name: Sample Windows Build Profile
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_AssetVersion: 1
|
||||||
|
m_BuildTarget: 19
|
||||||
|
m_Subtarget: 2
|
||||||
|
m_PlatformId: 4e3c793746204150860bf175a9a41a05
|
||||||
|
m_PlatformBuildProfile:
|
||||||
|
rid: 9120355575023534081
|
||||||
|
m_OverrideGlobalSceneList: 0
|
||||||
|
m_Scenes: []
|
||||||
|
m_ScriptingDefines:
|
||||||
|
- BUILD_PROFILE_LOADED
|
||||||
|
m_PlayerSettingsYaml:
|
||||||
|
m_Settings: []
|
||||||
|
references:
|
||||||
|
version: 2
|
||||||
|
RefIds:
|
||||||
|
- rid: 9120355575023534081
|
||||||
|
type: {class: WindowsPlatformSettings, ns: UnityEditor.WindowsStandalone, asm: UnityEditor.WindowsStandalone.Extensions}
|
||||||
|
data:
|
||||||
|
m_Development: 1
|
||||||
|
m_ConnectProfiler: 0
|
||||||
|
m_BuildWithDeepProfilingSupport: 0
|
||||||
|
m_AllowDebugging: 0
|
||||||
|
m_WaitForManagedDebugger: 0
|
||||||
|
m_ManagedDebuggerFixedPort: 0
|
||||||
|
m_ExplicitNullChecks: 0
|
||||||
|
m_ExplicitDivideByZeroChecks: 0
|
||||||
|
m_ExplicitArrayBoundsChecks: 0
|
||||||
|
m_CompressionType: 0
|
||||||
|
m_InstallInBuildFolder: 0
|
||||||
|
m_WindowsBuildAndRunDeployTarget: 0
|
||||||
|
m_Architecture: 0
|
||||||
|
m_CreateSolution: 0
|
||||||
|
m_CopyPDBFiles: 0
|
||||||
|
m_WindowsDevicePortalAddress:
|
||||||
|
m_WindowsDevicePortalUsername:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 89540e92f0e247d4084f426eb3bdb288
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 15003, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
m_Name: Sample macOS Build Profile
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_AssetVersion: 1
|
||||||
|
m_BuildTarget: 2
|
||||||
|
m_Subtarget: 2
|
||||||
|
m_PlatformId: 0d2129357eac403d8b359c2dcbf82502
|
||||||
|
m_PlatformBuildProfile:
|
||||||
|
rid: 9120355587586260993
|
||||||
|
m_OverrideGlobalSceneList: 0
|
||||||
|
m_Scenes: []
|
||||||
|
m_ScriptingDefines:
|
||||||
|
- BUILD_PROFILE_LOADED
|
||||||
|
m_PlayerSettingsYaml:
|
||||||
|
m_Settings: []
|
||||||
|
references:
|
||||||
|
version: 2
|
||||||
|
RefIds:
|
||||||
|
- rid: 9120355587586260993
|
||||||
|
type: {class: OSXStandaloneBuildProfile, ns: UnityEditor.OSXStandalone, asm: UnityEditor.OSXStandalone.Extensions}
|
||||||
|
data:
|
||||||
|
m_Development: 0
|
||||||
|
m_ConnectProfiler: 0
|
||||||
|
m_BuildWithDeepProfilingSupport: 0
|
||||||
|
m_AllowDebugging: 0
|
||||||
|
m_WaitForManagedDebugger: 0
|
||||||
|
m_ManagedDebuggerFixedPort: 0
|
||||||
|
m_ExplicitNullChecks: 0
|
||||||
|
m_ExplicitDivideByZeroChecks: 0
|
||||||
|
m_ExplicitArrayBoundsChecks: 0
|
||||||
|
m_CompressionType: 0
|
||||||
|
m_InstallInBuildFolder: 0
|
||||||
|
m_MacOSXcodeBuildConfig: 1
|
||||||
|
m_Architecture: 2
|
||||||
|
m_CreateXcodeProject: 0
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 081f4929fd671734ea1aa1511be7ec97
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Reference in New Issue
Block a user