📝
game-ci/unity-test-runner で Docker Image が見つからなくてエラーになる
はじめに
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 では
ここの 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