81 lines
3.5 KiB
YAML
81 lines
3.5 KiB
YAML
name: Build-Debug
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "master"
|
|
tags:
|
|
- "!*" # not a tag push
|
|
pull_request:
|
|
branches:
|
|
- "master"
|
|
|
|
jobs:
|
|
build-dotnet:
|
|
if: "!(contains(github.event.head_commit.message, '[skip ci]') || contains(github.event.head_commit.message, '[ci skip]'))"
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
DOTNET_CLI_TELEMETRY_OPTOUT: 1
|
|
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
|
|
NUGET_XMLDOC_MODE: skip
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-dotnet@v1
|
|
with:
|
|
dotnet-version: 3.1.x
|
|
- run: dotnet test -c Debug ./src/UniTask.NetCoreTests/UniTask.NetCoreTests.csproj
|
|
|
|
build-unity:
|
|
if: "!(contains(github.event.head_commit.message, '[skip ci]') || contains(github.event.head_commit.message, '[ci skip]')) && ((github.event_name == 'push' && github.repository_owner == 'Cysharp') || startsWith(github.event.pull_request.head.label, 'Cysharp:'))"
|
|
strategy:
|
|
matrix:
|
|
unity: ["2019.3.9f1", "2020.1.0b5"]
|
|
include:
|
|
- unity: 2019.3.9f1
|
|
license: UNITY_2019_3
|
|
- unity: 2020.1.0b5
|
|
license: UNITY_2020_1
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
# with linux-il2cpp. image from https://hub.docker.com/r/gableroux/unity3d/tags
|
|
image: gableroux/unity3d:${{ matrix.unity }}-linux-il2cpp
|
|
steps:
|
|
# Ubuntu 18.04 git is too old, use ppa latest git.
|
|
- run: |
|
|
apt-get update && apt-get install --no-install-recommends -y software-properties-common && add-apt-repository -y ppa:git-core/ppa
|
|
apt-get update && apt-get install --no-install-recommends -y git
|
|
- uses: actions/checkout@v2
|
|
- run: echo -n "$UNITY_LICENSE" >> .Unity.ulf
|
|
env:
|
|
UNITY_LICENSE: ${{ secrets[matrix.license] }}
|
|
- name: Activate Unity, always returns a success. But if a subsequent run fails, the activation may have failed(if succeeded, shows `Next license update check is after` and not shows other message(like GUID != GUID). If fails not). In that case, upload the artifact's .alf file to https://license.unity3d.com/manual to get the .ulf file and set it to secrets.
|
|
run: /opt/Unity/Editor/Unity -quit -batchmode -nographics -silent-crashes -logFile -manualLicenseFile .Unity.ulf || exit 0
|
|
|
|
# Execute scripts: RuntimeUnitTestToolkit
|
|
- name: Build UnitTest(Linux64, mono)
|
|
run: /opt/Unity/Editor/Unity -quit -batchmode -nographics -silent-crashes -logFile -projectPath . -executeMethod UnitTestBuilder.BuildUnitTest /headless /ScriptBackend mono /BuildTarget StandaloneLinux64
|
|
working-directory: src/UniTask
|
|
- name: Execute UnitTest
|
|
run: ./src/UniTask/bin/UnitTest/StandaloneLinux64_Mono2x/test
|
|
|
|
# Execute scripts: Export Package
|
|
- name: Export unitypackage
|
|
run: /opt/Unity/Editor/Unity -quit -batchmode -nographics -silent-crashes -logFile -projectPath . -executeMethod PackageExporter.Export
|
|
working-directory: src/UniTask
|
|
|
|
- name: check all .meta is commited
|
|
run: |
|
|
if git ls-files --others --exclude-standard -t | grep --regexp='[.]meta$'; then
|
|
echo "Detected .meta file generated. Do you forgot commit a .meta file?"
|
|
exit 1
|
|
else
|
|
echo "Great, all .meta files are commited."
|
|
fi
|
|
working-directory: src/UniTask
|
|
|
|
# Store artifacts.
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: UniTask.unitypackage.zip
|
|
path: ./src/UniTask/*.unitypackage
|