🙋

GitHub Packages を使うと GitHub Actions ははやくなりますか

に公開

Q. GitHub Packages から Docker image をダウンロードしてきたら, Docker Hub からダウンロードするよりも GitHub Actions の実行時間は短くなりますか?

A. なりません.

実際に検証してみましょう

309.95 MB の Docker image を Docker Hub と GitHub Packages からそれぞれダウンロードしてみます.

309.95 MB の Docker image. Docker Hub 上での表示
309.95 MB の Docker image

Docker Hub からダウンロードした場合の実行結果. GitHub Actions のログ
Docker Hub からダウンロードした場合の実行結果

GitHub Packages からダウンロードした場合の実行結果. GitHub Actions のログ
GitHub Packages からダウンロードした場合の実行結果

Docker Hub, GitHub Packages のいずれの場合でも右上の実行時間は 49s となっています. ダウンロードだけの時間はタイムスタンプから, Docker Hub は 47:00 - 46:48 = 12s, GitHub Packages は 53:29 - 53:18 = 11s でした. ほとんど変わりません.

しかし, これはイメージサイズが小さかったため, 大きな差が出なかったのかもしれません. もう少し大きなイメージを使って試してみましょう.

2.07GB の Docker image を Docker Hub と GitHub Packages からそれぞれダウンロードしてみます.

2.07GB の Docker image. Docker Hub 上での表示
2.07GB の Docker image

Docker Hub からダウンロードした場合の実行結果. GitHub Actions のログ
Docker Hub からダウンロードした場合の実行結果

GitHub Packages からダウンロードした場合の実行結果. GitHub Actions のログ
GitHub Packages からダウンロードした場合の実行結果

この例では「Initialize containers」で Docker image をダウンロードしています. Docker Hub からダウンロードした場合は 46s, GitHub Packages からダウンロードした場合は 47s でした. やはり変わりません.

結論

GitHub Actions で使う Docker レジストリは好きなのを使いましょう.

Discussion