🐩

Actionsの破壊的変更予告やGitHubのガバナンス強化など|Productivity Weekly(2024-12-11)

2024/12/30に公開

こんにちは。サイボウズ株式会社 生産性向上チームの平木場です。

僕たち生産性向上チームは毎週水曜日に Productivity Weekly という「1 週間の間に発見された開発者の生産性向上に関するネタを共有する会」を社内で開催しています。
本記事はその時のネタをまとめたものです。

2023-01-25 号から、基本的に隔週で連載することとしました。たまに単独でも投稿するかもしれません。
今週は 2024-12-11 号です。

今回が第 171 回目です。過去の記事はこちら

news 📺

Notice of upcoming releases and breaking changes for GitHub Actions - GitHub Changelog

https://github.blog/changelog/2024-12-05-notice-of-upcoming-releases-and-breaking-changes-for-github-actions/

GitHub Actions において、今後の breaking changes がまとまって発表されています。

  • ubuntu-latest ランナーが Ubuntu 22 から Ubuntu 24 へ
    • 2024/12/05〜2025/01/17 の間に徐々に変わっていく予定
  • ubuntu-20.04 ランナーが廃止(2025/04/01 予定)
  • actions/upload-artifactactions/download-artifact の v3 のブラウンアウト[1]開始
    • 2025/01/09 17:00-18:00 (UTC)
    • 2025/01/16 15:00-19:00 (UTC)
    • 2025/01/23 14:00-22:00 (UTC)
  • actions/cache v1、v2 および actions/toolkit の cache npm パッケージ v4.0.0 以前が廃止(2025/02/01 から徐々に)
  • セルフホストランナーおよび Azure private network 内ランナーにおけるネットワーク許可リストの更新
    • Immutable Actions GA に向けた変更
    • Immutable Actions は GitHub Container Registry に保存されるため、pkg.actions.githubusercontent.com へのトラフィック許可が必要
      • 将来的には ghcr.io へのトラフィック許可も必要になってくる
    • GitHub Enterprise Server で github.com からカスタムアクションを取るようにしている場合はこちらでも許可が必要
    • Azure private network についても許可 IP リストが更新

めちゃくちゃまとめて来ましたね。どの項目も先に大丈夫そうか確認しておきたいですね。Immutable Actions、早く GA になってほしいです。

本項の執筆者: @korosuke613

Enterprise repository properties, policies and rulesets – Public Preview - GitHub Changelog

https://github.blog/changelog/2024-12-04-enterprise-repository-properties-policies-and-rulesets-public-preview/

GitHub において、enterprise レベルのカスタムプロパティ、enterprise レベルのリポジトリポリシー、rulesets を使えるようになりました(public preview)。

Enterprise custom properties

これまでは org レベルで custom properties を設定できましたが、enterprise レベルはなかったため、enterprise 全体で利用する custom properties を使いたい場合は org ごとに同じ custom properties の設定が必要でした。

プロパティ設定が容易になりますね。

Enterprise rulesets

こちらも org レベルでの rulesets しかなかったため、enterprise 全体で利用する rulesets を使いたい場合は org ごとに同じ rulesets の設定が必要でした。
そういった設定の使い回しを容易にするというメリットもありますが、先ほどの custom properties と違い、enterprise の権限で各 org に特定の rulesets を強制できる機能でもあります。
custom properties と組み合わせ、production に関わるリポジトリは org 問わずタグの push やマージ前の特定のチェックを強制するなどのガバナンスを強める使い方が浮かびますね。

Enterprise repository policy

repository policy ですが、この機能はおそらく全く新しい機能です。リポジトリの操作に関する統制を強化できる機能で、次の項目を各 org に強制出来ます。

  • 可視性の制限
    • public、internal、private を複数選択可能
  • 作成の制限
  • 削除の制限
  • 移譲(transfer)の制限
  • リポジトリ名の制限
    • 正規表現で指定

制限項目と同時に許可するロールや App、Team を指定できます。例えば特定のチームのみリポジトリ削除を許可することも可能です。
使いこなすのはむずそうですが、上手く使うと高い自由と高いガバナンスの両立もできそうで面白いです。

本項の執筆者: @korosuke613

GitHub Copilot is now available on your GitHub dashboard in public preview - GitHub Changelog

https://github.blog/changelog/2024-12-05-github-copilot-is-now-available-on-your-github-dashboard-in-public-preview/

GitHub Copilot in github.com において、GitHub のダッシュボード画面上で GitHub Copilot Chat に尋ねることができるようになりました。

僕はまだ GitHub Copilot in github.com が使えてないので正直今までの GitHub 上での Copilot Chat とどれだけ体験が違うのかよくわかりませんが、すぐに Copilot とお話しできるのは良いですね。

本項の執筆者: @korosuke613

Pull request merge method rule – Public Preview - GitHub Changelog

https://github.blog/changelog/2024-12-04-pull-request-merge-method-rule-public-preview/

GitHub の rulesets において、プルリクエストのマージ方式(merge commit、squash、rebase)を制限できるようになりました。
これまでもリポジトリ全体の設定としてマージ方式は制限できましたが、rulesets による制限ができるようになったことで、例えばデフォルトブランチに対するプルリクエストのみ squash を強制するなど、より柔軟にマージ方式を強制できるようになりました。

大規模なリポジトリだと一部ブランチでのみマージ方式を制限したいなどの要望があるかもしれません。使っていきましょう。

本項の執筆者: @korosuke613

Copilot Chat now has a 64k context window with OpenAI GPT-4o - GitHub Changelog

https://github.blog/changelog/2024-12-06-copilot-chat-now-has-a-64k-context-window-with-openai-gpt-4o/

GitHub Copilot Chat の GPT-4o において 64k トークンまでコンテキストを扱えるようになりました。これにより、より大きい、多くのファイルの情報を元に回答を引き出せるようになります。

また、64k じゃ足りないという人は VSCode Insiders を使うとさらに大きい 128k トークンを扱えるようです。すでに Insiders Build で 128k 扱えるのであれば、近いうちにさらに扱えるコンテキスト数が増えそうですね。

本項の執筆者: @korosuke613

know-how 🎓

GuardDuty Malware Protection for S3 本番導入の手引き - Nealle Developer's Blog

https://nealle-dev.hatenablog.com/entry/2024/12/09/01
ニーリーさんによる GuardDuty Malware Protection for S3 の導入記事です。
検出されたオブジェクトのアクセス制御の自動化ができる話やアラートをどのように受け取るか、検知時の対応などの話が書かれています。
(個人的には導入対象バケットの選定についての基準をもっと詳しく知りたかったです)

GuardDuty Malware Protection for S3 が気になっている人は参考になりそうですね。

本項の執筆者: @korosuke613

tool 🔨

GitHub Skyline CLI extension now available - GitHub Changelog

https://github.blog/changelog/2024-12-09-github-skyline-cli-extension/

GitHub CLI 拡張機能に GitHub Skyline が登場しました。GitHub Skyline は GitHub のコミット数を可視化するツールです。CUI 形式で年ごとに表示したり、stl ファイルを吐き出して 3D で楽しんだり 3D プリントしたりもできるようです。

僕も試してみました。みんなもあそぼう!
https://x.com/Shitimi_613/status/1866726009644711952

本項の執筆者: @korosuke613

read more 🍘

Productivity Weekly で出たネタを全て紹介したいけど紹介する体力が持たなかったネタを一言程度で書くコーナーです。

本項の執筆者: @korosuke613

あとがき

いやはや、年の瀬ですね。これも実家で寝ながら書いてます。
今年の Productivity Weekly は残すところ 2024-12-18 号、2024-12-25 号の 2 回です。多分明日明後日に投稿すると思います。

サイボウズの生産性向上チームでは社内エンジニアの開発生産性を上げるための活動を行なっています。そんな生産性向上チームが気になる方は下のリンクをクリック!
https://www.docswell.com/s/cybozu-tech/5R2X3N-engineering-productivity-team-recruitment-information


脚注
  1. サービス廃止に向けて、あらかじめ決められたスケジュールにそのサービスの利用を不可とすることで、利用者にサービスの移行を促す手法 ↩︎

GitHubで編集を提案
サイボウズ 生産性向上チーム 💪

Discussion