From be7fee4d7c450220785c881116679787eb6dfcac Mon Sep 17 00:00:00 2001 From: Michael Buhler Date: Thu, 30 Jan 2025 14:40:06 +0700 Subject: [PATCH] ci: add tests for Unity 6 and build profiles --- .github/workflows/build-tests-ubuntu.yml | 15 ++++-- test-project/Assets/Settings.meta | 8 ++++ .../Assets/Settings/Build Profiles.meta | 8 ++++ .../Sample WebGL Build Profile.asset | 46 +++++++++++++++++++ .../Sample WebGL Build Profile.asset.meta | 8 ++++ 5 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 test-project/Assets/Settings.meta create mode 100644 test-project/Assets/Settings/Build Profiles.meta create mode 100644 test-project/Assets/Settings/Build Profiles/Sample WebGL Build Profile.asset create mode 100644 test-project/Assets/Settings/Build Profiles/Sample WebGL Build Profile.asset.meta diff --git a/.github/workflows/build-tests-ubuntu.yml b/.github/workflows/build-tests-ubuntu.yml index 9e67536c..0125357c 100644 --- a/.github/workflows/build-tests-ubuntu.yml +++ b/.github/workflows/build-tests-ubuntu.yml @@ -36,7 +36,8 @@ env: jobs: buildForAllPlatformsUbuntu: - name: ${{ matrix.targetPlatform }} on ${{ matrix.unityVersion }} + name: + "${{ matrix.targetPlatform }} on ${{ matrix.unityVersion}}${{startsWith(matrix.buildProfile, 'Assets') && ' (via Build Profile)' || '' }}" runs-on: ubuntu-latest strategy: fail-fast: false @@ -91,6 +92,12 @@ jobs: - targetPlatform: StandaloneWindows64 additionalParameters: -standaloneBuildSubtarget Server buildWithIl2cpp: true + include: + - unityVersion: 6000.0.36f1 + targetPlatform: WebGL + - unityVersion: 6000.0.36f1 + targetPlatform: WebGL + buildProfile: 'Assets/Settings/Build Profiles/Sample WebGL Build Profile.asset' steps: - name: Clear Space for Android Build @@ -136,6 +143,7 @@ jobs: with: buildName: 'GameCI Test Build' projectPath: ${{ matrix.projectPath }} + buildProfile: ${{ matrix.buildProfile }} unityVersion: ${{ matrix.unityVersion }} targetPlatform: ${{ matrix.targetPlatform }} customParameters: -profile SomeProfile -someBoolean -someValue exampleValue ${{ matrix.additionalParameters }} @@ -158,6 +166,7 @@ jobs: with: buildName: 'GameCI Test Build' projectPath: ${{ matrix.projectPath }} + buildProfile: ${{ matrix.buildProfile }} unityVersion: ${{ matrix.unityVersion }} targetPlatform: ${{ matrix.targetPlatform }} customParameters: -profile SomeProfile -someBoolean -someValue exampleValue ${{ matrix.additionalParameters }} @@ -179,6 +188,7 @@ jobs: with: buildName: 'GameCI Test Build' projectPath: ${{ matrix.projectPath }} + buildProfile: ${{ matrix.buildProfile }} unityVersion: ${{ matrix.unityVersion }} targetPlatform: ${{ matrix.targetPlatform }} customParameters: -profile SomeProfile -someBoolean -someValue exampleValue ${{ matrix.additionalParameters }} @@ -191,7 +201,6 @@ jobs: - uses: actions/upload-artifact@v4 with: name: - 'Build ${{ matrix.targetPlatform }} on Ubuntu (${{ matrix.unityVersion }}_il2cpp_${{ matrix.buildWithIl2cpp - }}_params_${{ matrix.additionalParameters }})' + "Build ${{ matrix.targetPlatform }}${{ startsWith(matrix.buildProfile, 'Assets') && ' (via Build Profile)' || '' }} on Ubuntu (${{ matrix.unityVersion }}_il2cpp_${{ matrix.buildWithIl2cpp }}_params_${{ matrix.additionalParameters }})" path: build retention-days: 14 diff --git a/test-project/Assets/Settings.meta b/test-project/Assets/Settings.meta new file mode 100644 index 00000000..469fdc4c --- /dev/null +++ b/test-project/Assets/Settings.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 28bfc999a135648538355bfcb6a23aee +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/test-project/Assets/Settings/Build Profiles.meta b/test-project/Assets/Settings/Build Profiles.meta new file mode 100644 index 00000000..1bd4102a --- /dev/null +++ b/test-project/Assets/Settings/Build Profiles.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cd91492ed9aca40c49d42156a4a8f387 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/test-project/Assets/Settings/Build Profiles/Sample WebGL Build Profile.asset b/test-project/Assets/Settings/Build Profiles/Sample WebGL Build Profile.asset new file mode 100644 index 00000000..50ee7f2b --- /dev/null +++ b/test-project/Assets/Settings/Build Profiles/Sample WebGL Build Profile.asset @@ -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 WebGL Build Profile + m_EditorClassIdentifier: + m_AssetVersion: 1 + m_BuildTarget: 20 + m_Subtarget: 0 + m_PlatformId: 84a3bb9e7420477f885e98145999eb20 + m_PlatformBuildProfile: + rid: 200022742090383361 + m_OverrideGlobalSceneList: 0 + m_Scenes: [] + m_ScriptingDefines: [] + m_PlayerSettingsYaml: + m_Settings: [] + references: + version: 2 + RefIds: + - rid: 200022742090383361 + type: {class: WebGLPlatformSettings, ns: UnityEditor.WebGL, asm: UnityEditor.WebGL.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: -1 + m_InstallInBuildFolder: 0 + m_CodeOptimization: 0 + m_WebGLClientBrowserPath: + m_WebGLClientBrowserType: 0 + m_WebGLTextureSubtarget: 0 diff --git a/test-project/Assets/Settings/Build Profiles/Sample WebGL Build Profile.asset.meta b/test-project/Assets/Settings/Build Profiles/Sample WebGL Build Profile.asset.meta new file mode 100644 index 00000000..5370e7d2 --- /dev/null +++ b/test-project/Assets/Settings/Build Profiles/Sample WebGL Build Profile.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b9aac23ad2add4b439decb0cf65b0d68 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: