158 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			YAML
		
	
	
			
		
		
	
	
			158 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			YAML
		
	
	
| name: Windows Builds
 | |
| 
 | |
| on:
 | |
|   workflow_dispatch:
 | |
|   push:
 | |
|     branches:
 | |
|       - main
 | |
| 
 | |
| env:
 | |
|   UNITY_LICENSE:
 | |
|     "<?xml version=\"1.0\" encoding=\"UTF-8\"?><root>\n    <License
 | |
|     id=\"Terms\">\n        <MachineBindings>\n            <Binding Key=\"1\"
 | |
|     Value=\"576562626572264761624c65526f7578\"/>\n            <Binding Key=\"2\"
 | |
|     Value=\"576562626572264761624c65526f7578\"/>\n        </MachineBindings>\n        <MachineID
 | |
|     Value=\"D7nTUnjNAmtsUMcnoyrqkgIbYdM=\"/>\n        <SerialHash
 | |
|     Value=\"2033b8ac3e6faa3742ca9f0bfae44d18f2a96b80\"/>\n        <Features>\n            <Feature
 | |
|     Value=\"33\"/>\n            <Feature Value=\"1\"/>\n            <Feature Value=\"12\"/>\n            <Feature
 | |
|     Value=\"2\"/>\n            <Feature Value=\"24\"/>\n            <Feature Value=\"3\"/>\n            <Feature
 | |
|     Value=\"36\"/>\n            <Feature Value=\"17\"/>\n            <Feature Value=\"19\"/>\n            <Feature
 | |
|     Value=\"62\"/>\n        </Features>\n        <DeveloperData
 | |
|     Value=\"AQAAAEY0LUJHUlgtWEQ0RS1aQ1dWLUM1SlctR0RIQg==\"/>\n        <SerialMasked
 | |
|     Value=\"F4-BGRX-XD4E-ZCWV-C5JW-XXXX\"/>\n        <StartDate Value=\"2021-02-08T00:00:00\"/>\n        <UpdateDate
 | |
|     Value=\"2021-02-09T00:34:57\"/>\n        <InitialActivationDate
 | |
|     Value=\"2021-02-08T00:34:56\"/>\n        <LicenseVersion Value=\"6.x\"/>\n        <ClientProvidedVersion
 | |
|     Value=\"2018.4.30f1\"/>\n        <AlwaysOnline Value=\"false\"/>\n        <Entitlements>\n            <Entitlement
 | |
|     Ns=\"unity_editor\" Tag=\"UnityPersonal\" Type=\"EDITOR\"
 | |
|     ValidTo=\"9999-12-31T00:00:00\"/>\n            <Entitlement Ns=\"unity_editor\" Tag=\"DarkSkin\"
 | |
|     Type=\"EDITOR_FEATURE\" ValidTo=\"9999-12-31T00:00:00\"/>\n        </Entitlements>\n    </License>\n<Signature
 | |
|     xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><SignedInfo><CanonicalizationMethod
 | |
|     Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\"/><SignatureMethod
 | |
|     Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/><Reference URI=\"#Terms\"><Transforms><Transform
 | |
|     Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/></Transforms><DigestMethod
 | |
|     Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><DigestValue>m0Db8UK+ktnOLJBtHybkfetpcKo=</DigestValue></Reference></SignedInfo><SignatureValue>o/pUbSQAukz7+ZYAWhnA0AJbIlyyCPL7bKVEM2lVqbrXt7cyey+umkCXamuOgsWPVUKBMkXtMH8L\n5etLmD0getWIhTGhzOnDCk+gtIPfL4jMo9tkEuOCROQAXCci23VFscKcrkB+3X6h4wEOtA2APhOY\nB+wvC794o8/82ffjP79aVAi57rp3Wmzx+9pe9yMwoJuljAy2sc2tIMgdQGWVmOGBpQm3JqsidyzI\nJWG2kjnc7pDXK9pwYzXoKiqUqqrut90d+kQqRyv7MSZXR50HFqD/LI69h68b7P8Bjo3bPXOhNXGR\n9YCoemH6EkfCJxp2gIjzjWW+l2Hj2EsFQi8YXw==</SignatureValue></Signature></root>"
 | |
| 
 | |
| jobs:
 | |
|   buildForAllPlatformsWindows:
 | |
|     name: Build for ${{ matrix.targetPlatform }} on version ${{ matrix.unityVersion }}
 | |
|     runs-on: windows-2019
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         projectPath:
 | |
|           - test-project
 | |
|         unityVersion:
 | |
|           - 2019.3.15f1 # Minimum version for IL2CPP
 | |
|           - 2019.4.40f1
 | |
|           - 2020.1.17f1
 | |
|           - 2020.2.7f1
 | |
|           - 2020.3.44f1
 | |
|           - 2021.3.18f1 # 2021.1 and 2021.2 seem to have IL2CPP issues
 | |
|           - 2022.1.24f1
 | |
|           - 2022.2.6f1
 | |
|         targetPlatform:
 | |
|           - StandaloneWindows64 # Build a Windows 64-bit standalone.
 | |
|           - StandaloneWindows # Build a Windows 32-bit standalone.
 | |
|           - WSAPlayer # Build a UWP App
 | |
|           - tvOS # Build an Apple TV XCode project
 | |
| 
 | |
|     steps:
 | |
|       ###########################
 | |
|       #         Checkout        #
 | |
|       ###########################
 | |
|       - uses: actions/checkout@v3
 | |
|         with:
 | |
|           lfs: true
 | |
| 
 | |
|       ###########################
 | |
|       #          Cache          #
 | |
|       ###########################
 | |
|       - uses: actions/cache@v3
 | |
|         with:
 | |
|           path: ${{ matrix.projectPath }}/Library
 | |
|           key: Library-${{ matrix.projectPath }}-windows-${{ matrix.targetPlatform }}
 | |
|           restore-keys: |
 | |
|             Library-${{ matrix.projectPath }}-windows-
 | |
|             Library-            
 | |
| 
 | |
|       ###########################
 | |
|       #  Set Scripting Backend  #
 | |
|       ###########################
 | |
|       - name: Set Scripting Backend To il2cpp
 | |
|         run: |
 | |
|           Move-Item -Path "./test-project/ProjectSettings/ProjectSettingsIl2cpp.asset" -Destination "./test-project/ProjectSettings/ProjectSettings.asset" -Force          
 | |
| 
 | |
|       ###########################
 | |
|       #          Build          #
 | |
|       ###########################
 | |
|       - name: Build
 | |
|         uses: ./
 | |
|         id: build-1
 | |
|         continue-on-error: true
 | |
|         timeout-minutes: 60
 | |
|         env:
 | |
|           UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
 | |
|           UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
 | |
|           UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }}
 | |
|         with:
 | |
|           projectPath: ${{ matrix.projectPath }}
 | |
|           unityVersion: ${{ matrix.unityVersion }}
 | |
|           targetPlatform: ${{ matrix.targetPlatform }}
 | |
|           customParameters: -profile SomeProfile -someBoolean -someValue exampleValue
 | |
|           allowDirtyBuild: true
 | |
|       # We use dirty build because we are replacing the default project settings file above
 | |
| 
 | |
|       - name: Sleep for Retry
 | |
|         if: ${{ steps.build-1.outcome == 'failure' }}
 | |
|         run: |
 | |
|           Start-Sleep -s 120          
 | |
| 
 | |
|       - name: Build Retry 1
 | |
|         uses: ./
 | |
|         id: build-2
 | |
|         continue-on-error: true
 | |
|         timeout-minutes: 60
 | |
|         if: steps.build-1.outcome == 'failure'
 | |
|         env:
 | |
|           UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
 | |
|           UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
 | |
|           UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }}
 | |
|         with:
 | |
|           projectPath: ${{ matrix.projectPath }}
 | |
|           unityVersion: ${{ matrix.unityVersion }}
 | |
|           targetPlatform: ${{ matrix.targetPlatform }}
 | |
|           customParameters: -profile SomeProfile -someBoolean -someValue exampleValue
 | |
|           allowDirtyBuild: true
 | |
|       # We use dirty build because we are replacing the default project settings file above
 | |
| 
 | |
|       - name: Sleep for Retry
 | |
|         if: ${{ steps.build-1.outcome == 'failure' && steps.build-2.outcome == 'failure' }}
 | |
|         run: |
 | |
|           Start-Sleep -s 240          
 | |
| 
 | |
|       - name: Build Retry 2
 | |
|         uses: ./
 | |
|         id: build-3
 | |
|         timeout-minutes: 60
 | |
|         if: ${{ steps.build-1.outcome == 'failure' && steps.build-2.outcome == 'failure' }}
 | |
|         env:
 | |
|           UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
 | |
|           UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
 | |
|           UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }}
 | |
|         with:
 | |
|           projectPath: ${{ matrix.projectPath }}
 | |
|           unityVersion: ${{ matrix.unityVersion }}
 | |
|           targetPlatform: ${{ matrix.targetPlatform }}
 | |
|           customParameters: -profile SomeProfile -someBoolean -someValue exampleValue
 | |
|           allowDirtyBuild: true
 | |
|       # We use dirty build because we are replacing the default project settings file above
 | |
| 
 | |
|       ###########################
 | |
|       #          Upload         #
 | |
|       ###########################
 | |
|       - uses: actions/upload-artifact@v3
 | |
|         with:
 | |
|           name: Build Windows (${{ matrix.unityVersion }})
 | |
|           path: build
 | |
|           retention-days: 14
 |