diff --git a/.github/workflows/builds/unity.yaml b/.github/workflows/builds/unity.yaml index a69c528..18c2cba 100644 --- a/.github/workflows/builds/unity.yaml +++ b/.github/workflows/builds/unity.yaml @@ -24,7 +24,7 @@ env: UNITY_KEYSTORE_PASSWORD: ${{ secrets.UNITY_KEYSTORE_PASSWORD }} UNITY_KEYSTORE_KEY_PASSWORD: ${{ secrets.UNITY_KEYSTORE_KEY_PASSWORD }} jobs: - build-unity-master1: + build-unity-master1-1: name: "Build ${{ matrix.platform.os }}" runs-on: master1 strategy: @@ -33,9 +33,61 @@ jobs: platform: - os: Windows method: StudioWhy.BatchBuild.BuildWindows + steps: + - name: "Checkout" + uses: https://github.com/actions/checkout@v3 + with: + submodules: true + token: ${{ env.GITEA_TOKEN }} + - name: "Build Unity Project" + uses: act/unity/unity-project-cached-artifacts@master + with: + platform: ${{ matrix.platform.os }} + email: ${{ env.UNITY_USERNAME }} + password: ${{ env.UNITY_PASSWORD }} + executeMethod: ${{ matrix.platform.method }} + noGraphics: ${{ env.NO_GRAPHICS }} + artifactSuffix: ${{ matrix.platform.suffix || matrix.platform.os }} + compression-level: ${{ env.ZIP_COMPRESSION_LEVEL }} + skipRestore: ${{ env.SKIP_CACHE }} + + build-unity-master1-2: + name: "Build ${{ matrix.platform.os }}" + depends-on: build-unity-master1-1 + runs-on: master1 + strategy: + max-parallel: 1 + matrix: + platform: - os: Windows32Bit method: StudioWhy.BatchBuild.BuildWindows32Bit suffix: Windows_32bit + steps: + - name: "Checkout" + uses: https://github.com/actions/checkout@v3 + with: + submodules: true + token: ${{ env.GITEA_TOKEN }} + - name: "Build Unity Project" + uses: act/unity/unity-project-cached-artifacts@master + with: + platform: ${{ matrix.platform.os }} + email: ${{ env.UNITY_USERNAME }} + password: ${{ env.UNITY_PASSWORD }} + executeMethod: ${{ matrix.platform.method }} + noGraphics: ${{ env.NO_GRAPHICS }} + artifactSuffix: ${{ matrix.platform.suffix || matrix.platform.os }} + compression-level: ${{ env.ZIP_COMPRESSION_LEVEL }} + skipRestore: ${{ env.SKIP_CACHE }} + + build-unity-master1-3: + name: "Build ${{ matrix.platform.os }}" + depends-on: build-unity-master1-2 + runs-on: master1 + strategy: + max-parallel: 1 + matrix: + platform: - os: WindowsARM method: StudioWhy.BatchBuild.BuildWindowsArm suffix: Windows_ARM @@ -57,7 +109,7 @@ jobs: compression-level: ${{ env.ZIP_COMPRESSION_LEVEL }} skipRestore: ${{ env.SKIP_CACHE }} - build-unity-master2: + build-unity-master2-1: name: "Build ${{ matrix.platform.os }}" runs-on: master2 strategy: @@ -66,8 +118,60 @@ jobs: platform: - os: OSX method: StudioWhy.BatchBuild.BuildOSX + steps: + - name: "Checkout" + uses: https://github.com/actions/checkout@v3 + with: + submodules: true + token: ${{ env.GITEA_TOKEN }} + - name: "Build Unity Project" + uses: act/unity/unity-project-cached-artifacts@master + with: + platform: ${{ matrix.platform.os }} + email: ${{ env.UNITY_USERNAME }} + password: ${{ env.UNITY_PASSWORD }} + executeMethod: ${{ matrix.platform.method }} + noGraphics: ${{ env.NO_GRAPHICS }} + artifactSuffix: ${{ matrix.platform.suffix || matrix.platform.os }} + compression-level: ${{ env.ZIP_COMPRESSION_LEVEL }} + skipRestore: ${{ env.SKIP_CACHE }} + + build-unity-master2-2: + name: "Build ${{ matrix.platform.os }}" + depends-on: build-unity-master2-1 + runs-on: master2 + strategy: + max-parallel: 1 + matrix: + platform: - os: Linux method: StudioWhy.BatchBuild.BuildLinux + steps: + - name: "Checkout" + uses: https://github.com/actions/checkout@v3 + with: + submodules: true + token: ${{ env.GITEA_TOKEN }} + - name: "Build Unity Project" + uses: act/unity/unity-project-cached-artifacts@master + with: + platform: ${{ matrix.platform.os }} + email: ${{ env.UNITY_USERNAME }} + password: ${{ env.UNITY_PASSWORD }} + executeMethod: ${{ matrix.platform.method }} + noGraphics: ${{ env.NO_GRAPHICS }} + artifactSuffix: ${{ matrix.platform.suffix || matrix.platform.os }} + compression-level: ${{ env.ZIP_COMPRESSION_LEVEL }} + skipRestore: ${{ env.SKIP_CACHE }} + + build-unity-master2-3: + name: "Build ${{ matrix.platform.os }}" + depends-on: build-unity-master2-2 + runs-on: master2 + strategy: + max-parallel: 1 + matrix: + platform: - os: Android method: StudioWhy.BatchBuild.BuildAndroid steps: diff --git a/.github/workflows/unused/unity-parallel.yaml b/.github/workflows/unused/unity-parallel.yaml new file mode 100644 index 0000000..a69c528 --- /dev/null +++ b/.github/workflows/unused/unity-parallel.yaml @@ -0,0 +1,89 @@ +name: "Unity Build Workflow" +on: + workflow_call: + workflow_dispatch: + +env: + GITEA_TOKEN: ${{ secrets.PACKAGE_APIKEY }} + SKIP_CACHE: ${{ vars.SKIP_CACHE && vars.SKIP_CACHE || 'false' }} + ZIP_COMPRESSION_LEVEL: ${{ vars.ZIP_COMPRESSION_LEVEL && vars.ZIP_COMPRESSION_LEVEL || '9' }} + + UNITY_COMPRESSION_LEVEL: lz4hc + UNITY_ZIP_ON_COMPLETE: false + UNITY_USERNAME: ${{ secrets.UNITY_USERNAME }} + UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} + NO_GRAPHICS: ${{ vars.NO_GRAPHICS && vars.NO_GRAPHICS || 'true' }} + + # For the Android keystore. + MINIO_URL: ${{ vars.MINIO_URL && vars.MINIO_URL || 'https://minio.studiowhy.net' }} + MINIO_ACCESS_KEY: ${{ secrets.MINIO_ACCESS_KEY }} + MINIO_SECRET_KEY: ${{ secrets.MINIO_SECRET_KEY }} + + UNITY_KEYSTORE_PATH: ${{ vars.UNITY_KEYSTORE_PATH && vars.UNITY_KEYSTORE_PATH || 'studiowhy.keystore' }} + UNITY_KEYSTORE_KEY_ALIAS: ${{ vars.UNITY_KEYSTORE_ALIAS && vars.UNITY_KEYSTORE_ALIAS || 'studiowhy' }} + UNITY_KEYSTORE_PASSWORD: ${{ secrets.UNITY_KEYSTORE_PASSWORD }} + UNITY_KEYSTORE_KEY_PASSWORD: ${{ secrets.UNITY_KEYSTORE_KEY_PASSWORD }} +jobs: + build-unity-master1: + name: "Build ${{ matrix.platform.os }}" + runs-on: master1 + strategy: + max-parallel: 1 + matrix: + platform: + - os: Windows + method: StudioWhy.BatchBuild.BuildWindows + - os: Windows32Bit + method: StudioWhy.BatchBuild.BuildWindows32Bit + suffix: Windows_32bit + - os: WindowsARM + method: StudioWhy.BatchBuild.BuildWindowsArm + suffix: Windows_ARM + steps: + - name: "Checkout" + uses: https://github.com/actions/checkout@v3 + with: + submodules: true + token: ${{ env.GITEA_TOKEN }} + - name: "Build Unity Project" + uses: act/unity/unity-project-cached-artifacts@master + with: + platform: ${{ matrix.platform.os }} + email: ${{ env.UNITY_USERNAME }} + password: ${{ env.UNITY_PASSWORD }} + executeMethod: ${{ matrix.platform.method }} + noGraphics: ${{ env.NO_GRAPHICS }} + artifactSuffix: ${{ matrix.platform.suffix || matrix.platform.os }} + compression-level: ${{ env.ZIP_COMPRESSION_LEVEL }} + skipRestore: ${{ env.SKIP_CACHE }} + + build-unity-master2: + name: "Build ${{ matrix.platform.os }}" + runs-on: master2 + strategy: + max-parallel: 1 + matrix: + platform: + - os: OSX + method: StudioWhy.BatchBuild.BuildOSX + - os: Linux + method: StudioWhy.BatchBuild.BuildLinux + - os: Android + method: StudioWhy.BatchBuild.BuildAndroid + steps: + - name: "Checkout" + uses: https://github.com/actions/checkout@v3 + with: + submodules: true + token: ${{ env.GITEA_TOKEN }} + - name: "Build Unity Project" + uses: act/unity/unity-project-cached-artifacts@master + with: + platform: ${{ matrix.platform.os }} + email: ${{ env.UNITY_USERNAME }} + password: ${{ env.UNITY_PASSWORD }} + executeMethod: ${{ matrix.platform.method }} + noGraphics: ${{ env.NO_GRAPHICS }} + artifactSuffix: ${{ matrix.platform.suffix || matrix.platform.os }} + compression-level: ${{ env.ZIP_COMPRESSION_LEVEL }} + skipRestore: ${{ env.SKIP_CACHE }}