【Unity】GIthub Action で Test を行う。続き

概要

以前の記事でCIサーバーを自前で用意しなくてもGithubActionでプルリクをトリガーにEditTestとPlayTestを走らせることが出来ることを書きました。

toshizabeth.hatenablog.com

Unity2019までは問題なかったのですが、Unity2020.1.x系を利用するとエラーが出るように....
(Unity 2020.1.11f1を使用)

f:id:toshizabeth:20201101233755p:plain

Error: The process '/usr/bin/docker' failed with exit code 1

2019 に戻すと問題ないので 2020 の不具合か仕様変更によるものだと思われる...

解決策

使用させていただいている webbertakken リポジトリに潜るとissueに同様の症状と思われる物が議論。
https://github.com/webbertakken/unity-actions/issues/84

( Error コード 139 同じく吐いてた)

Unity2020で同じ現象が起きている方がいるようですね。
解決策としては -nographics をパラメータとして追加すると治るよう



f:id:toshizabeth:20201101234234p:plain

-nographics を追加すると,,,

治った!!!!

f:id:toshizabeth:20201101234317p:plain

現在は -nographics を追加するしか解決策はなさそうですね


Other

現在使用しているUnityTestRunner.ymlファイルの中身は以下になります。
(ちょいバージョンを最新に)

name: UnityTestRunner

on:
  pull_request:
   types: [opened, synchronize]

env:
  UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
  PROJECT_ROOT: .

jobs:
  testAllModes:
    name: Test in ${{ matrix.testMode }} on version ${{ matrix.unityVersion }}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        unityVersion:
          - 2020.1.11f1
        testMode:
          - playmode
          - editmode

    steps:
      # Checkout
      - name: Checkout repository
        uses: actions/checkout@v2
        with:
          ref: ${{ github.event.pull_request.head.sha }}
          lfs: true
    
      # Cache
      - uses: actions/cache@v2.1.2
        with:
          path: ${{ env.PROJECT_ROOT }}/Library
          key: Library-${{ env.PROJECT_ROOT }}

      # Test
      - uses: webbertakken/unity-test-runner@v1.7
        id: tests
        with:
          customParameters: '-nographics'
          projectPath: ${{ env.PROJECT_ROOT }}
          unityVersion: ${{ matrix.unityVersion }}
          testMode: ${{ matrix.testMode }}
          artifactsPath: ${{ matrix.testMode }}-artifacts
        
      # Output
      - uses: actions/upload-artifact@v1
        with:
          name: Test results for ${{ matrix.testMode }}
          path: ${{ steps.tests.outputs.artifactsPath }}