Github Actionsでubuntu-latestラベルがUbuntu24系になるらしい。
概要
2024年11月5日にGithubから以下のような記事がでていました。
簡単に内容をまとめると、
-
ubuntu-latest
ラベルのイメージをUbuntu 24系に変更予定。 -
actions/upload-artifact
actions/download-artifact
のv3は終了予定。 - fork時にActionsを実行しないように変更可能。
- WebhookのRatelimitが追加。
- SelhHosted Runner等を利用している人はドメイン/IP許可の追加。
特にUbuntu 24系への変更が気になったのでまとめていきます。
Ubuntu 24系になると何が変わるのか?
記事にはUbuntu24系になった際の注意点が以下のように書かれていました。
We will migrate the ubuntu-latest label to ubuntu 24 starting on December 5, 2024 and ending on January 17, 2025.
ubuntu-latest
ラベルを利用している人は12月5日〜2025年1月17日の間にUbuntu24系に切り替えると書かれています。
The ubuntu 24 image has a different set of tools and packages than ubuntu 22. We have made cuts to the list of packages so that we can maintain our SLA for free disk space. This may break your workflows if you depend on certain packages that have been removed. Please review this list to see if you are using any affected packages.
また、Ubuntu 24のイメージは22系と比べてツールやパッケージのバンドルが少なくなったようです。
この影響で今まで動いていたワークフローが動かなくなるような影響が考えられます。
使えなくなるツール/パッケージ
実際に22 > 24に変更される上で削除されているパッケージは何なのかを比較します。
ちなみにイメージの内容は以下のリポジトリから確認できます。
今回は以下のイシューを参考にまとめています。
削除されるパッケージ/ツール
Heroku
Leiningen
Mono / MSBuild / NuGet
Terraform
R
SVN
Alibaba Cloud CLI
Netlify CLI
OpenShift CLI
ORAS CLI
Vercel CLI
Bindgen / Cbindgen
Cargo audit/clippy/outdated
MS SQL Server Client Tools
MarkdownPS Module
Cached Docker images
消えるものは手動でセットアップするアクションを追加しておく必要があります。
DockerImageのキャシュが消えるのは一部のワークフローの実行時間に影響を与えそうです。
バージョンが変更になるパッケージ/ツール
Tool name | Ubuntu 22.04 | Ubuntu 24.04 |
---|---|---|
Clang | 13.* 14.* (default) 15.* | 16.* 17.* 18.* (default) |
GCC / GNU C++ / GNU Fortran | 9.* 10.* 11.* 12.* 13.* | 12.* 13.* 14.* |
PHP | 8.1.* | 8.3.* |
Java | 8.* 11.* (default) 17.* 21.* | 8.* 11.* 17.* (default) 21.* |
Python | 3.7.* (cached) 3.8.* (cached) 3.9.* (cached) 3.10.* (default) 3.11.* (cached) 3.12.* (cached) | 3.9.* (cached) 3.10.* (cached) 3.11.* (cached) 3.12.* (default) |
Go | 1.20.* (cached) 1.21.* (default) 1.22.* (cached) | 1.21.* (cached) 1.22.* (cached) 1.23.* (default) |
PyPy | 3.7.* (cached) 3.8.* (cached) 3.9.* (cached) 3.10.* (cached) | 3.9.* (cached) 3.10.* (cached) |
Ruby | 3.0.* (default) 3.1.* (cached) | 3.2.* (default) |
Node.js | 16.* (cached) 18.* (default) 20.* (cached) | 16.* (cached) 18.* (cached) 20.* (default) |
.NET Core SDK | 6.* 7.* 8.* | 8.* |
PostgreSQL | 14.* | 16.* |
Android Command Line Tools | 9.0 | 12.0 |
Android SDK Build-tools | 34.0.0 33.0.0 33.0.1 33.0.2 33.0.3 32.0.0 31.0.0 | 34.0.0 |
Android NDK | 25.* (default) 26.* | 27.* (default) 26.* |
主にデフォルトのバージョンが上がっており、古いバージョンに関しては消えているものも存在します。
まとめ
-
ubuntu-latest
ラベルを使ってワークフローを使っている人は、12月5日までに確認をする。 - 削除されるパッケージ/ツールを利用している場合は
setup-*
系のアクションか手動でのセットアップを検討する。 - バージョンが変更されるパッケージ/ツールを利用している場合は変更されても問題ないのか / 固定する場合は
setup-*
系か手動でのバージョン固定を検討する。
「N organic」、「FAS」等の化粧品ブランドを展開している株式会社シロクのエンジニアブログです。 ECサイトを中心とした自社サービスの開発・運用を行っています。 sirok.jp/norganic
Discussion