📝

game-ci/unity-test-runner で Docker Image が見つからなくてエラーになる

2023/09/18に公開

はじめに

game-ci/unity-test-runner を用いて GitHub Actions で Unity のテストを実行した際に私が実際に遭遇したエラーと解決方法について記載しました。

筆者の環境

  • Unity 2022.3.9f1

遭遇した問題

テストに使用した workflow はおおよそ以下のような内容です。(関係の無い部分は省略しています)

name: Test
on:
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: game-ci/unity-test-runner@v2
        env:
          UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}

この workflow を実行したところ、game-ci/unity-test-runner の step で以下のエラーが発生しました。


Unable to find image 'unityci/editor:ubuntu-2022.3.9f1-linux-il2cpp-1' locally
docker: Error response from daemon: manifest for unityci/editor:ubuntu-2022.3.9f1-linux-il2cpp-1 not found: manifest unknown: manifest unknown.
See 'docker run --help'.
Error: The process '/usr/bin/docker' failed with exit code 125

'unityci/editor:ubuntu-2022.3.9f1-linux-il2cpp-1' の Docker イメージが見つからない、という内容のエラーです。

原因

game-ci/unity-test-runner@v2 では

https://github.com/game-ci/unity-test-runner/blob/7787abf249f862fc18ae187bd2ca1740a7990dc9/src/model/image-tag.ts#L34

ここの imageRollingVersion が 1 なので、ubuntu-2022.3.9f1-linux-il2cpp-1 のタグが付いた Docker イメージを取得しようとします。

しかし、Docker Hub には

  • ubuntu-2022.3.9f1-linux-il2cpp-2
  • ubuntu-2022.3.9f1-linux-il2cpp-2.0
  • ubuntu-2022.3.9f1-linux-il2cpp-2.0.0

これらのように 2 が付いたタグは存在するものの、1 は存在しないため、対象のイメージの取得に失敗してエラーになったと考えられます。

解決方法

game-ci/unity-test-runner の v3 を使うことで解決しました。
(v3 では imageRollingVersion が2になります)

name: Test
on:
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: game-ci/unity-test-runner@v3
        env:
          UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}

ちなみに Unity 2022.3.8 でも同様で、v3 を使う必要があります。

Discussion