🎉

GitHub の破壊的変更多め、Tasklist が使えなくなるなど |Productivity Weekly(2025-02-19)

こんにちは。サイボウズ株式会社 生産性向上チームの佐々木(@ajfAfg)です。

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

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

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

news 📺

Dockerfileの最適化やエラーの原因などの質問に答える「Docker AI Agent」ベータ公開、Docker Desktopで利用可能に - Publickey

https://www.publickey1.jp/blog/25/dockerfiledocker_ai_agentdocker_desktop.html

Docker についての質問に答えてくれる AI エージェント「Docker AI Agent」が公開されました。
Docker の初歩的な使い方、 Dockerfile の最適化、トラブルシューティングなど、様々な質問に答えてくれるようです。

Docker 公式の記事では、 Redis のコンテナを起動するための docker run コマンドを対話的に作成する例や、Node.js のアプリケーションのための Dockerfile を最適化する例が紹介されています。

Introducing Beta Launch of Docker AI Agent | Docker
https://www.docker.com/blog/beta-launch-docker-ai-agent/

本項の執筆者: @takoeight0821

New GPT-4o Copilot code completion model available now in public preview for Copilot in VS Code - GitHub Changelog

https://github.blog/changelog/2025-02-18-new-gpt-4o-copilot-code-completion-model-now-available-in-public-preview-for-copilot-in-vs-code/

GitHub Copilot の補完で GPT-4o が利用可能になりました(public preview)。
ついに来たか、という感じです。まだ GPT 3.5 Turbo がデフォルトなのも驚きでした。

本項の執筆者: @takoeight0821

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

https://github.blog/changelog/2025-02-12-notice-of-upcoming-deprecations-and-breaking-changes-for-github-actions/

GitHub Actions において、今後非推奨になる機能や破壊的変更の発生する機能についてお知らせが出ました。箇条書きでお伝えします。

  • GITHUB_TOKEN を用いた check run の conclusion と status の変更が不可能に
    • Actions で作成された check run の信頼性と安全性を担保するため
    • 2025/03/31 に実施。2/17 より warning が表示される
  • ネットワーク許可リストの更新(Self-hosted runner や Azure private networking を使っている顧客向け。GHES(with GitHub Connect による actions のダウンロード)も対象)
    • Immutable Actions の登場に向けて、ネットワーク許可リストが更新されたため、ネットワーク制限をかけている顧客は許可するドメインに *.actions.githubusercontent.com を追加する必要がある
      • Azure private networking の場合は IP アドレスの追加も必要っぽい
    • なお、ネットワーク許可リストが更新されていない場合は、移行期間中自動で Immutable Actions が opt-out されるとのこと(しかも opt-out 後に更新されたら自動で opt-in されるらしい)
      • そんな柔軟に対応してくれるのか
  • ubuntu-20.04 ランナーのブラウンアウト計画
    • ubuntu-20.04 ランナー廃止に向け、2025 年 3 月より、ubuntu-20.04 ランナーを使うジョブが使用できない期間がたびたび発生することになる
    • 3 月 4 日 23:00 - 31:00 JST
    • 3 月 11 日 22:00 - 30:00 JST
    • 3 月 18 日 22:00 - 30:00 JST
    • 3 月 25 日 22:00 - 30:00 JST
  • actions/cache v1, v2 および actions/toolkit cache パッケージのブラウンアウト計画
    • actions/cache v1, v2 および actions/toolkit cache パッケージ廃止に向け、利用できなくなる期間が設けられる
    • 2 月 18 日 23:00 - 31:00 JST
      • この記事書いた段階でもう終わってた

ubuntu-20.04 ランナー、actions/cache v1, v2 および actions/toolkit cache パッケージの廃止についてはこれまでもたびたび廃止のお知らせされてきましたね。

check run については初耳でした。もし変更したい場合は GitHub Apps を使って CI で変更や、GitHub CLI を使って手元で変更などすることになりそうですね。

廃止予定の内容に依存している方々は気をつけましょう。

本項の執筆者: @korosuke613

Personal custom instructions, Bing web search, and more in Copilot on github.com - GitHub Changelog

https://github.blog/changelog/2025-02-14-personal-custom-instructions-bing-web-search-and-more-in-copilot-on-github-com/

GitHub.com の Copilot Chat において、パーソナルカスタムインストラクションを設定できるようになりました(パブリックプレビュー)。

例えば「常に日本語で回答してください。」を設定することで、日本語で回答を得られるようになります(何も指示しない場合、日本語の質問に英語で返すことが多々ありました)。他にも JavaScript に関するコードサンプルを常に TypeScript にするなどの好みも与えられそうですね。


また、Bing での Web 検索を伴う回答を行う機能が GA になりました。モデルが知らない情報についての質問が可能となります(例:React の最新バージョンは?)。この機能を組織で利用するにはポリシーでの許可が必要です。

特にパーソナルカスタムインストラクションが嬉しいですね。GitHub.com 上の Copilot Chat を使っててお困りの方はぜひ試してみてください。

本項の執筆者: @korosuke613

GitHub Issues & Projects – February 18th update - GitHub Changelog

https://github.blog/changelog/2025-02-18-github-issues-projects-february-18th-update/

GitHub Issue と Project に関するアップデート。珍しく破壊的変更が入っているので注意ですね。

1 つはプライベートプレビュー機能として提供されていた Tasklist ブロックが Sub issues に置き換えられる影響で、2025 年 4 月 30 日から Tasklist が使えなくなります。Sub issues への移行方法として、Tasklist 記法を Markdown のチェックリストに書き換えて、Convert to sub-issue ボタンから変換していくやり方が案内されています。Tasklist を使い倒している方は移行がとても大変そうですね...
同時に Tracked, Tracked By フィールドは使用できなくなるそうです。

もう 1 つは ISSUE_TEMPLATE.md から ISSUE_TEMPLATE/ への置き換えによる影響で、2025 年 3 月 30 日から ISSUE_TEMPLATE.md があってもユーザーが issue を作る際にテンプレートが表示されなくなります。移行方法として、ISSUE_TEMPLATE フォルダを作りその中に Markdown ファイルを置くやり方が紹介されています。

本項の執筆者: @uta8a

know-how 🎓

Go 1.24 で map が30%以上高速化!Swiss Tableとは? - カンム テックブログ

https://tech.kanmu.co.jp/entry/2025/02/14/094838

Go 1.24 において、連想配列の方の map を 30% 以上高速化した Swiss Table というハッシュテーブル実装の紹介記事です。

Swiss Table における Lookup の仕組みを超絶簡単に説明します。Swiss Table では、キーに対するハッシュ値をいい感じに使い、SIMD 命令で並列に発見したバリューの候補の中から所望のバリューを見つけます。SIMD 命令で並列化している点が肝みたいです。詳しくは Swiss Tables Design Notes をご覧ください。

高速化された Go の map を使い倒しましょう!

本項の執筆者: @ajfAfg

tool 🔨

スキーマバリデーションライブラリの標準インターフェース standard-schema

https://azukiazusa.dev/blog/schema-validation-library-standard-interface-standard-schema/

TypeScript 向けバリデーションライブラリたちの大統一を狙ったインタフェースライブラリです。インタフェースが統一されていると、バリデーションライブラリの入れ替えが容易になる点が嬉しさとのことです。

こういったインタフェースは腐敗防止層としても機能するので嬉しいですね。standard-schema が standard になるか、今後の動向をウォッチしていきたいです。

本項の執筆者: @ajfAfg

cosmos72/schemesh: A Unix shell and Lisp REPL, fused together

https://github.com/cosmos72/schemesh

今週のネタ(?)枠。Shell × LISP の悪魔合体です。

公式サンプルコードを利用したコード例を次に示します:

shell user@localhost:~:(define (fib n)
  (let %fib ((i n))
    (if (fx>? i 2)
      (fx+ (%fib (fx1- i))
           (%fib (fx- i 2)))
      1)))

shell user@localhost:~:(fib 10)
55

LISP はいつも君のそばにいるよ。

本項の執筆者: @ajfAfg

Notionからmarkdownに変換するOSSを公開しました(Zennも対応)

https://zenn.dev/smartcamp/articles/4b3e05623bf11e

Notion を CMS のように使い、一度 Notion から Markdown に変換し、Qiita や Zenn といったブログサイトに投稿できる形に変換する OSS を公開したという記事。
内部的には Notion の公式 SDK である @notionhq/client でデータを得て、それを Markdown に変換しているようです。変換部分は notion-md-converter-core/src/transformer あたりに書かれているようです。
この実装で Notion の個別のブロックに対しての処理をカスタマイズできるようになっており、Notion の特定のブロックをこういう Markdown で出力したい、等の調整ができるようです。カスタマイズ可能なのは便利ですね。

本項の執筆者: @uta8a

jdx/hk: git hook and pre-commit lint manager

https://github.com/jdx/hk

開発環境のセットアップツールで有名な mise の作者の方が hk と呼ばれる新しいツールを開発しているようです。

hk はリンターと統合された git hook マネージャーで、Rust で書かれていることに加え、高度な並列化を実現して高速で動作するのがウリです。設定ファイルには pkl を使用します。似たようなツールとして Husky が存在するため、どういった観点でツールを選択するのかがポイントになってきそうですね。

現時点では hk はまだアーリーベータの段階でありバグや仕様変更もあるとのことなので、安定版が出たら本格的に Husky との比較が始まりそうな予感です。

本項の執筆者: @takamin55

read more 🍘

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

あとがき

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


サイボウズ 生産性向上チーム 💪

Discussion