2020-05-17 01:43:54 +08:00
name : Build-Debug
on :
push :
branches :
2020-10-14 11:12:28 +08:00
- "master"
2020-05-17 01:43:54 +08:00
tags :
- "!*" # not a tag push
pull_request :
2021-02-04 02:01:21 +08:00
branches :
- "master"
2020-05-17 01:43:54 +08:00
jobs :
build-dotnet :
2021-02-04 01:58:29 +08:00
if : "!(contains(github.event.head_commit.message, '[skip ci]') || contains(github.event.head_commit.message, '[ci skip]'))"
2020-05-17 01:43:54 +08:00
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 :
2020-10-14 11:12:28 +08:00
dotnet-version : 3.1 .x
2020-05-17 01:43:54 +08:00
- run : dotnet test -c Debug ./src/UniTask.NetCoreTests/UniTask.NetCoreTests.csproj
build-unity :
2021-02-04 01:58:29 +08:00
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:'))"
2020-05-17 01:43:54 +08:00
strategy :
matrix :
2020-06-10 16:50:08 +08:00
unity : [ "2019.3.9f1" , "2020.1.0b5" ]
2020-05-17 01:43:54 +08:00
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 :
2021-02-04 01:58:29 +08:00
# 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
2020-05-17 01:43:54 +08:00
- 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
2021-02-04 01:58:29 +08:00
- 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
2020-06-10 16:50:08 +08:00
# Store artifacts.
2020-05-17 01:43:54 +08:00
- uses : actions/upload-artifact@v2
with :
2020-05-18 10:33:24 +08:00
name : UniTask.unitypackage.zip
2020-06-10 16:50:08 +08:00
path : ./src/UniTask/*.unitypackage