Skip to content

Re-enable YS; add play mode tests #13

Re-enable YS; add play mode tests

Re-enable YS; add play mode tests #13

Workflow file for this run

name: Run Tests (Self-Hosted) 🧪
env:
ACTIONS_RUNNER_DEBUG: true
ACTIONS_STEP_DEBUG: true
on:
push:
branches:
- self-hosted-runner
workflow_dispatch:
jobs:
buildAndTestForSomePlatforms:
concurrency:
group: ${{ github.workflow }}-${{ matrix.unityVersion }}
cancel-in-progress: true # Cancel other jobs if another one arrives
name: Test on ${{ matrix.unityVersion }} for ${{ matrix.targetPlatform }}
runs-on: self-hosted
strategy:
fail-fast: false
# max-parallel: 1 # Only run one at a time, to prevent license contention
matrix:
projectPath:
- YarnSpinner
unityVersion:
- 2021.3.35f1
- 2022.3.21f1
- 2023.2.12f1
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.
# - Android # Build an Android player.
# - WebGL # WebGL.
steps:
- name: Create empty Unity project
run: |
mkdir -p ${{ matrix.projectPath }}/Assets
mkdir -p ${{ matrix.projectPath }}/ProjectSettings
mkdir -p ${{ matrix.projectPath }}/Packages
mkdir -p output
# Add the Unity Input System package, and configure the new project to use
# both the Input System and the legacy Input Manager.
- name: Add Input System package
run: |
cat <<EOF > ${{ matrix.projectPath }}/ProjectSettings/ProjectSettings.asset
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!129 &1
PlayerSettings:
activeInputHandler: 2
EOF
cat <<EOF > ${{ matrix.projectPath }}/Packages/manifest.json
{
"dependencies": {
"com.unity.inputsystem": "1.0.2",
"com.unity.localization": "1.3.2"
}
}
EOF
- name: Check out to Packages/YarnSpinner
uses: actions/checkout@v2
with:
fetch-depth: 0
path: ${{ matrix.projectPath }}/Packages/YarnSpinner
- name: Run tests
run: |
docker run \
--rm \
-v ./${{ matrix.projectPath }}:/project \
-v ./output:/output \
-e TEST_MODE=EditMode \
--hostname YS-Linux-Build \
yarnspinner/unity-${{ matrix.unityVersion }}
- name: Upload test results
uses: actions/upload-artifact@v2
if: always()
with:
name: Test results (edit + play, ${{ matrix.unityVersion }}-${{ matrix.targetPlatform }}
# path: ${{ steps.testRunner.outputs.artifactsPath }}
path: ./output