mirror of
https://github.com/game-ci/unity-actions.git
synced 2026-01-29 04:39:07 +08:00
212 lines
8.2 KiB
YAML
212 lines
8.2 KiB
YAML
name: Actions 😎
|
|
|
|
on:
|
|
pull_request: {}
|
|
push: { branches: [master] }
|
|
|
|
env:
|
|
UNITY_LICENSE: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><root>\n <License id=\"Terms\">\n <MachineBindings>\n <Binding Key=\"1\" Value=\"d39b8e2f4d364b2e98b06afa0c6e08c5\"/>\n <Binding Key=\"2\" Value=\"d39b8e2f4d364b2e98b06afa0c6e08c5\"/>\n </MachineBindings>\n <MachineID Value=\"Xxo1ZKbdPu/IATrc0mPBYANJFF0=\"/>\n <SerialHash Value=\"1efd68fa935192b6090ac03c77d289a9f588c55a\"/>\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=\"AQAAAEY0LUg2WFMtUE00NS1SM0M4LUUyWlotWkdWOA==\"/>\n <SerialMasked Value=\"F4-H6XS-PM45-R3C8-E2ZZ-XXXX\"/>\n <StartDate Value=\"2018-05-02T00:00:00\"/>\n <UpdateDate Value=\"2019-11-25T18:23:38\"/>\n <InitialActivationDate Value=\"2018-05-02T14:21:28\"/>\n <LicenseVersion Value=\"6.x\"/>\n <ClientProvidedVersion Value=\"2019.2.11f1\"/>\n <AlwaysOnline Value=\"false\"/>\n <Entitlements>\n <Entitlement Ns=\"unity_editor\" Tag=\"UnityPersonal\" Type=\"EDITOR\" 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>JHdOBFmBNq2H8BrGFzir/StLoYo=</DigestValue></Reference></SignedInfo><SignatureValue>aENLHd37a51RtP2/g7YU0Pexf5mx0/ENXYGtrPzqwZ8NQt2AsSdxGnl0CUB45/GuNXfJVDt2HWot\ncNYZB2OylVBn1WHQbKZlPmm8gEAMz0MYbr4Isb5i5buryBrZlmbEOjnRI+pEg1CBwlgMo6xdtjjE\n/d7cC293QIUO91kdzRXftYou1dNaUyuPL9ZH65vdB2pDXGRNxgUVD+GnnqZA7b5L2HXqNQclcWAK\n5Yd1BeF3VzR1iLw9G/SmH5oOhnpXSmqbL4qk7LVP2/mgXpFk5kP4X8VC3z47obNhBIGq40dwWyEe\nUYk5/nRAOkZawDT+tcu96e06gPC9Cxk5PdbRbA==</SignatureValue></Signature></root>"
|
|
|
|
jobs:
|
|
requestManualActivationFile:
|
|
name: Request manual activation file 🔑
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
unityVersion:
|
|
- 2018.4.15f1
|
|
- 2019.2.11f1
|
|
- 2019.2.14f1
|
|
- 2019.2.17f1
|
|
steps:
|
|
# Checkout repository
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v2
|
|
|
|
# Request manual activation file
|
|
- name: Request manual activation file
|
|
id: getManualLicenseFile
|
|
uses: webbertakken/unity-request-manual-activation-file@v1.1
|
|
with:
|
|
unityVersion: ${{ matrix.unityVersion }}
|
|
|
|
# Upload artifact (Unity_v20XX.X.XXXX.alf)
|
|
- name: Expose as artifact
|
|
uses: actions/upload-artifact@v1
|
|
with:
|
|
name: Manual Activation File
|
|
path: ${{ steps.getManualLicenseFile.outputs.filePath }}
|
|
|
|
requestActivation:
|
|
name: Request activation ✔
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Checkout repository
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v2
|
|
|
|
# Activate Unity
|
|
- name: Unity - Activate
|
|
uses: webbertakken/unity-activate@v1.2
|
|
env:
|
|
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
|
|
|
|
activateAndThenReturnLicense:
|
|
name: returnLicense 🎈
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Checkout repository (required to test local actions)
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v2
|
|
|
|
# Activate Unity
|
|
- name: Activate Unity
|
|
uses: webbertakken/unity-activate@v1.2
|
|
|
|
# Return License
|
|
- name: Return license
|
|
uses: webbertakken/unity-return-license@v0.1
|
|
|
|
testRunnerInEditMode:
|
|
name: Test in editmode 📝
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Checkout repository (required to test local actions)
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v2
|
|
with:
|
|
lfs: true
|
|
|
|
# Cache
|
|
- uses: actions/cache@v1.1.0
|
|
with:
|
|
path: test-project/Library
|
|
key: Library-test-project-${{ matrix.targetPlatform }}
|
|
restore-keys: |
|
|
Library-test-project-
|
|
Library-
|
|
|
|
# Configure test runner
|
|
- name: Run tests
|
|
id: testRunner
|
|
uses: webbertakken/unity-test-runner@v1
|
|
env:
|
|
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
|
|
UNITY_PROJECT_PATH: test-project
|
|
TEST_MODE: editmode
|
|
|
|
# Upload artifact
|
|
- name: Expose as artifact
|
|
uses: actions/upload-artifact@v1
|
|
with:
|
|
name: Test results (edit mode)
|
|
path: ${{ steps.testRunner.outputs.artifactsPath }}
|
|
|
|
testRunnerInPlayMode:
|
|
name: Test in playmode 📺
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Checkout repository (required to test local actions)
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v2
|
|
with:
|
|
lfs: true
|
|
|
|
# Cache
|
|
- uses: actions/cache@v1.1.0
|
|
with:
|
|
path: test-project/Library
|
|
key: Library-test-project-${{ matrix.targetPlatform }}
|
|
restore-keys: |
|
|
Library-test-project-
|
|
Library-
|
|
|
|
# Configure test runner
|
|
- name: Run tests
|
|
id: testRunner
|
|
uses: webbertakken/unity-test-runner@v1
|
|
env:
|
|
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
|
|
UNITY_PROJECT_PATH: test-project
|
|
TEST_MODE: playmode
|
|
|
|
# Upload artifact
|
|
- name: Expose as artifact
|
|
uses: actions/upload-artifact@v1
|
|
with:
|
|
name: Test results (play mode)
|
|
path: ${{ steps.testRunner.outputs.artifactsPath }}
|
|
|
|
testRunnerInAllModes:
|
|
name: Test all modes ✨
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Checkout repository (required to test local actions)
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v2
|
|
with:
|
|
lfs: true
|
|
|
|
# Cache
|
|
- uses: actions/cache@v1.1.0
|
|
with:
|
|
path: test-project/Library
|
|
key: Library-test-project-${{ matrix.targetPlatform }}
|
|
restore-keys: |
|
|
Library-test-project-
|
|
Library-
|
|
|
|
# Configure test runner
|
|
- name: Run tests
|
|
id: testRunner
|
|
uses: webbertakken/unity-test-runner@v1
|
|
env:
|
|
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
|
|
UNITY_PROJECT_PATH: test-project
|
|
TEST_MODE: all
|
|
|
|
# Upload artifacts
|
|
- name: Expose as artifact
|
|
uses: actions/upload-artifact@v1
|
|
with:
|
|
name: Test results (all modes)
|
|
path: ${{ steps.testRunner.outputs.artifactsPath }}
|
|
|
|
buildForSomePlatforms:
|
|
name: Build for ${{ matrix.targetPlatform }} on version ${{ matrix.unityVersion }}
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
projectPath:
|
|
- test-project
|
|
unityVersion:
|
|
- 2019.2.11f1
|
|
targetPlatform:
|
|
- StandaloneOSX # Build a macOS standalone (Intel 64-bit).
|
|
- StandaloneWindows64 # Build a Windows 64-bit standalone.
|
|
- StandaloneLinux64 # Build a Linux 64-bit standalone.
|
|
- iOS # Build an iOS player.
|
|
- WebGL # WebGL.
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
lfs: true
|
|
- uses: actions/cache@v1.1.0
|
|
with:
|
|
path: ${{ matrix.projectPath }}/Library
|
|
key: Library-${{ matrix.projectPath }}-${{ matrix.targetPlatform }}
|
|
restore-keys: |
|
|
Library-${{ matrix.projectPath }}-
|
|
Library-
|
|
- uses: webbertakken/unity-builder@v0.9
|
|
with:
|
|
projectPath: ${{ matrix.projectPath }}
|
|
unityVersion: ${{ matrix.unityVersion }}
|
|
targetPlatform: ${{ matrix.targetPlatform }}
|
|
- uses: actions/upload-artifact@v1
|
|
with:
|
|
name: Build
|
|
path: build
|