From bb1b3b24329c25510730cf12d2f7b0af39599c69 Mon Sep 17 00:00:00 2001 From: VeyronSakai Date: Sat, 27 Apr 2024 00:48:29 +0900 Subject: [PATCH] Add WebGL Job --- .github/workflows/build-test.yml | 20 ++++++++++++++++++++ Assets/Editor/BuildEntryPoint.cs | 27 ++++++++++++++++++++++----- 2 files changed, 42 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index d1cbbc9..b19a168 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -77,3 +77,23 @@ jobs: -nographics \ -projectPath "$(pwd)" \ -executeMethod Editor.BuildEntryPoint.BuildMacOS + + webgl: + runs-on: [ self-hosted, macOS ] + steps: + - name: Switch workspace + uses: DeNA/setup-job-workspace-action@fea4ef4d011492fe235833241acbb4fced82da27 + - uses: actions/checkout@v4 + with: + clean: "${{ env.CLEAN }}" + - name: Get Unity version + run: |Ï + echo "UNITY_VERSION=$(grep "m_EditorVersion:" < ProjectSettings/ProjectVersion.txt | cut -d" " -f2)" >> "${GITHUB_ENV}" + - name: macOS Build + run: | + /Applications/Unity/Hub/Editor/"${UNITY_VERSION}"/Unity.app/Contents/MacOS/Unity \ + -quit \ + -batchmode \ + -nographics \ + -projectPath "$(pwd)" \ + -executeMethod Editor.BuildEntryPoint.BuildWebGL diff --git a/Assets/Editor/BuildEntryPoint.cs b/Assets/Editor/BuildEntryPoint.cs index e1d8491..35ada2f 100644 --- a/Assets/Editor/BuildEntryPoint.cs +++ b/Assets/Editor/BuildEntryPoint.cs @@ -1,3 +1,4 @@ +using Codice.Client.BaseCommands; using UnityEditor; namespace Editor @@ -5,12 +6,14 @@ namespace Editor // ReSharper disable once UnusedMember.Global public sealed class BuildEntryPoint { + private const string Scenes = "Assets/Scenes/SampleScene.unity"; + // ReSharper disable once UnusedMember.Global public static void BuildAndroid() { var buildPlayerOptions = new BuildPlayerOptions { - scenes = new[] { "Assets/Scenes/SampleScene.unity" }, + scenes = new[] { Scenes }, locationPathName = "Outputs/Android/Sample.apk", target = BuildTarget.Android, options = BuildOptions.Development, @@ -24,8 +27,8 @@ public static void BuildIOS() { var buildPlayerOptions = new BuildPlayerOptions { - scenes = new[] { "Assets/Scenes/SampleScene.unity" }, - locationPathName = "Outputs/IOS/", + scenes = new[] { Scenes }, + locationPathName = "Outputs/IOS", target = BuildTarget.iOS, options = BuildOptions.Development, }; @@ -38,13 +41,27 @@ public static void BuildMacOS() { var buildPlayerOptions = new BuildPlayerOptions { - scenes = new[] { "Assets/Scenes/SampleScene.unity" }, - locationPathName = "Outputs/MacOS/Sample.app", + scenes = new[] { Scenes }, + locationPathName = "Outputs/MacOS", target = BuildTarget.StandaloneOSX, options = BuildOptions.Development, }; BuildPipeline.BuildPlayer(buildPlayerOptions); } + + // ReSharper disable once UnusedMember.Global + public static void BuildWebGL() + { + var buildPlayerOptions = new BuildPlayerOptions + { + scenes = new[] { Scenes }, + locationPathName = "Outputs/WebGL", + target = BuildTarget.WebGL, + options = BuildOptions.Development, + }; + + BuildPipeline.BuildPlayer(buildPlayerOptions); + } } }