📌

Catch-up! 週刊 GitHub updates(2024年3月25日-31日)

2024/04/03に公開

GitHub Changelog for Mar 25 - 31, 2024

こんにちは、@dz_ こと、岩永かづみです。

先週のGitHub Changelogの週刊キャッチアップをお届けします。

GitHub PagesのカスタムGitHub ActionsワークフローがGA🎉

https://github.blog/changelog/2024-03-25-github-pages-with-custom-github-actions-workflows-are-now-generally-available

GitHub PagesのカスタムGitHub Actionsワークフローが一般公開で利用できるようになりました🎉 強化されたデプロイメントプロセスの柔軟性と制御をぜひ体験ください。詳しくは、カスタム GitHub Actions ワークフローによる公開をご参照ください。

CodeQLにおいて、Javaプロジェクトをビルドなしにスキャンできるように

https://github.blog/changelog/2024-03-26-codeql-can-scan-java-projects-without-a-build

CodeQLのリリース2.16.5にて、ビルドに頼ることなくJavaのコードベースのためのCodeQLデータベースを作成する新しいメカニズムを紹介しました。これにより、Organizationは広範囲のJavaプロジェクトにCodeQLをより適用しやすくなります。注釈: このリリースのお知らせは、CodeQL CLICode scanningのadvanced setupの利用者への詳細も含まれます。GitHub code scanningの(CodeQLエンジンにより強化された)default setupをご利用の場合、この関連するリリースのお知らせがおそらくあなたの探している情報を含んでいるでしょう。

以前は、CodeQLはJavaプロジェクトを解析するにはビルドが必要でした。これは自動で検知する場合も、手動で指定する場合どちらもです。CodeQL2.16.5を利用することで、ビルドを必要とすることなくJavaコードをスキャンできるようになります。GitHubによる大規模なテストにより、CodeQLが90%以上のJavaリポジトリにおいて手動の介入をすることなく正しく実行されることが示されました。

この機能は、現在public betaとして公開されており、JavaコードをスキャンするためにGitHub.com上でcode scanningのadvanced setupやCodeQL CLIを利用しているすべてのユーザーが利用可能です:

  • ワークフローファイルからcode scanningのadvanced setupを利用するリポジトリでは、build-modeを選択するオプションがあります。新しく構成されたJavaのリポジトリにおける初期値は、build-mode: noneです。
  • CodeQL CLIの利用者には、既存のワークフローと互換性が保たれているので、デフォルトの動作において何の変更もありません。この機能を有効にしたいユーザーは--build-mode noneオプションを利用できます。一般的に、デバッグをしやすくしたり、将来的にデフォルトの動作が変更された場合に構成を維持するために、CLIを利用するときは、--build-modeオプションを設定することを推奨します。
    codeql database create test_no_build_db --language java --build-mode none
  • KotlinとJavaのコードが混在するリポジトリにおいては、CodeQLの解析でまだビルドが必要です。

このJavaのスキャンの新しいメカニズムは、GitHub.comとCodeQL CLI 2.16.5で利用できます。public betaの間は、この機能はGitHub Enterprise Serverのcode scanningのdefault setupやadvanced setupでは利用いただけません。ビルドを必要とせずJavaプロジェクトのスキャンを今後も利用いただけるように、フィードバックをお送りください

WorkOSがGitHub secret scanningパートナーに

https://github.blog/changelog/2024-03-26-workos-is-now-a-github-secret-scanning-partner

GitHub secret scanningは、トークンやプライベートキーなどのシークレットの既知の型についてリポジトリを検索することで、利用者を保護する機能です。これらのシークレットを識別しフラグ付けすることで、スキャンによってデータの漏洩や詐欺を防ぐ手助けをします。

WorkOSとパートナーとして提携し、彼らのトークンをスキャンすることにより、パブリックリポジトリにおける共通のユーザーをセキュアに保つ手助けをします。WorkOSのAPIキーは、あなたのアプリケーションにエンタープライズ向けの機能を追加するWorkOSのAPIにアクセスできます。GitHubは、パブリックリポジトリでAPIキーの漏洩を検知するとそれをWorkOSに通知し、さらに、あなたのWorkOSアカウントの管理者に通知されます。WorkOS APIキーについてはこちらをご参照ください。

GitHub Advanced Securityの利用者はプライベートリポジトリにおいてもWorkOSのトークンをスキャンしてブロックできます。

LightspeedがGitHub secret scanningパートナーに

https://github.blog/changelog/2024-03-26-lightspeed-is-now-a-github-secret-scanning-partner

<略>

Lightspeedとパートナー提携し、彼らのトークンをスキャンすることにより、パブリックリポジトリにおける共通のユーザーをセキュアに保つ手助けをします。Lightspeed Retail Personal Tokensは、Lightspeed Retail POSにプログラマブルに通信をするために利用されます。詳しくは、Lightspeed tokensをご参照ください。

GitHub Advanced Securityの利用者はプライベートリポジトリにおいてもLightspeedのトークンをスキャンしてブロックできます。

VolcengineがGitHub secret scanningパートナーに

https://github.blog/changelog/2024-03-27-volcengine-is-now-a-github-secret-scanning-partner

GitHub secret scanningは既知のシークレットの型についてリポジトリを検索することでユーザーを保護する機能です。これらのシークレットを識別しフラグ付けすることで、スキャンによってのデータの漏洩や漏洩したデータに関連する詐欺を防ぐ手助けをします。

GitHubはvolcengineとパートナー提携し、クラウドコンピューティングサービスで利用される彼らのアクセストークンをスキャンできるようになりました。パブリックリポジトリでそれらのアクセストークンが検出されると、volcengineに通知します。彼らは、トークンを変更せずにEmailでユーザーに通知します。ユーザーはvolcengine API tokensについてサポートを依頼できます

GitHubは、パブリックリポジトリのsecret scanningにおける新しいパートナーを歓迎します。また、GitHub Advanced Securityの利用者は、プライベートリポジトリに対しても漏洩したシークレットをスキャンできます。

MergifyがGitHub secret scanningパートナーに

https://github.blog/changelog/2024-03-27-mergify-is-now-a-github-secret-scanning-partner

GitHubはMergifyとパートナー提携し、パブリックリポジトリにおいて共通のユーザーをセキュアに保つ手助けをするため、彼らのトークンをスキャンできるようになりました。MergifyのAPIキーは、彼らのマージ キューの情報を取得するためにMergifyのAPIと通信するために利用されます。GitHubはパブリックリポジトリで漏洩したAPIキーを検出するとMergifyに通知し、彼らはキーを無効化してキーの所有者に通知します。詳細は、Mergify API keysをご参照ください。

GitHub Advanced Securityの利用者は、プライベートリポジトリに対してもMergifyのトークンをスキャンできます。

Dependabotのgrouped security updatesがGA🎉

https://github.blog/changelog/2024-03-28-dependabot-grouped-security-updates-generally-available

Dependabotのgrouped security updateが一般公開されました。この機能は、自動的にDependabotによるプルリクエストをグループ化するもので、グルーピングを調整するためのいくつかの追加のオプションを提供します。

Dependabotのgrouped security updatesは、リポジトリまたはOrganizationレベルで有効化できます。この機能を有効にするには、リポジトリまたはOrganizationのsettingsページを開き、COde security and analysisタブを開き、grouped security updatesの「Enable」をクリックしてください(これは影響する各リポジトリのDependency graph、Dependabot alerts、Dependabot security updatesの有効化も要求されます)。この機能を有効化すると、Dependabotはリポジトリ内のすべての利用可能なsecurity updatesを収集し、エコシステムごとにディレクトリを横断してそれらをまとめて1つのプルリクエストを作成しようと試みます。

もしより細かくDependabotのグルーピングを制御したい場合は、リポジトリのdependabot.ymlファイルで以下の項目によるグループ化を設定できます。

  • パッケージ名
  • Dependency type(productionまたはdevelopment)
  • Semver更新レベル(patch、minor、major)

GitHub Enterprise Serverの利用者向けには、grouped security updatesは3.14バージョンで利用可能になる予定です。

Actions Usage Metricsがpublic beta公開

https://github.blog/changelog/2024-03-28-actions-usage-metrics-public-beta

Actionsのワークフローが彼らのOrganizationでどう使われているかについて、明確で、関連性がわかりやすく、実用的なインサイトが求められています。本日(2024年3月28日)、GitHub Enterprise Cloudの利用者に対して、Actions Usage Metricsがpublic betaで利用可能になりました。

時間はDevOpsやDevExのチームにとってとても重要なメトリックです。彼らが答えを求める質問は、「私が費やした時間はどこへ行った?」ということです。Actions Usage Metricsは、ワークフロー、ジョブ、リポジトリ、ランタイムOS、ランナータイプごとの利用された時間に焦点を当てることで、この質問や他の質問に答えられるでしょう。このデータは、Organizationがソフトウェアデリバリのライフサイクルの中で改善すべき領域を特定し、時間やコストを節約するのに役立ちます。

利用者は、ワークフローやジョブ、リポジトリ、ランタイムOS、ランナータイプの組み合わせでデータを絞り込め、総時間(分)やジョブ数、ワークフローの実行などを閲覧できます。すべての利用量のメトリクスは、フィルターされていてもされていなくても、他のツールで利用できるように.csvファイルとしてダウンロードできます。

デフォルトでは、Organizationの所有者がActions Usage Metricsにアクセスできます。また、Actions fine-grained permissionsを利用して他のメンバーやチームにアクセス権を与えることができます。これにより、Actions Usage Metricsのデータに対して適切なレベルのアクセスが保証され、情報に基づいた意思決定や改善が可能になります。

Actions Usage Metricsについての詳細は、ドキュメントをご参照ください。ご意見は、community discussionにてお寄せください。

GitHub Copilot Enterprise – March 2024 update

https://github.blog/changelog/2024-03-29-github-copilot-enterprise-march-2024-update

GitHub Copilot Enterpriseが一般公開されてから1ヶ月ほどが経ちました。新着情報をチェックしましょう!

GitHub.comのCopilot Chatにおいて、文脈の理解の強化、関連性の高い提案

Copilot Chat in GitHub.comでは今、より早くてより賢い組込みモデルを利用しており、文脈の取得が強化され、コードの検索ナレッジベースにおいて、Copilotにより高いクオリティとより関連性の高い文脈が実装されました。

Copilot Chat in GitHub.comはユーザーが見ているリポジトリのプログラミング言語を理解できるようになりました: これまでのCopilotは、ユーザーのプロジェクトで使われていないプログラミング言語をもとに回答することがありました。これからは、Copilotはリポジトリで利用されているプログラミング言語がなんであるか理解できるようになり、よりユーザーの文脈に沿ったコードの例を提案できるようになります。

プルリクエストの変更の理解をより早く助ける

変更差分において、変更されたファイルについてCopilotに聞くことがより簡単になりました: files changedビューにおいて、Copilotに何か質問するとき、会話に含めたいファイルを選択できるようになりました。

また、コードの行にカーソルを乗せているとき、Copilotアイコンをクリックすることでより簡単に差分の指定した行に対してCopilotに質問しやすくなりました。

ユーザビリティの改善

すばらしいフィードバックをくださったみなさまに感謝を申し上げます。以下のように小さな修正をたくさん行いました。

返答がまだ生成中の間に次の質問を入力できるようになりました: これまでは、次に続く質問を入力する前に、Copilotの返答の生成が完了するのを待たなければなりませんでした。

キーボードの上下印キーで過去のメッセージを引用できるようになりました: 会話の履歴の中にある質問と似た質問をしたくなることがあると思います。キーボードで上矢印キーを押すことで、以前のメッセージを引用できるようになりました。

Copilot Chat in GitHub.comで日本語や中国語がよりサポートされるようになりました: これまでは、IMEの変換を選択した後、ユーザーがメッセージを送信する準備ができる前にメッセージが送信されてしまっていました。

SSH CAがエンタープライズが所有するユーザーアカウントでもサポート

https://github.blog/changelog/2024-03-29-ssh-ca-support-for-enterprise-owned-user-accounts

ユーザーアカウントを所有するEnterpriseで、ユーザーが所有するリポジトリにアクセスするためのSSH CAが利用できるようになりました。これは、EnterpriseレベルのSSH CA設定ページでEnterpriseの所有者が有効化できる追加の設定です。この設定を有効にすると、開発者はGitHubにおける彼らのアカウントが所有するリポジトリやEnterpriseが所有するリポジトリに至るまで、すべての操作において単一のSSH証明書を利用することを許可されます。

これは、GHECの中のEnterprise Managed Usersを利用する顧客向けに利用可能で、GHES 3.14に含まれる予定です。GHEC Classic enterprise(訳者見解: おそらく通常のGHEC)では、開発者が彼ら自身の個人アカウントをEnterpriseに持ち込んで利用する形式であり、Enterpriseはそれらのアカウントを所有できず彼らのリポジトリにアクセスできないため、この機能は利用できません。

SSH証明機関に関しては、Enterprise の SSH 証明機関を管理するをご参照ください。

Enterprise Managed UsersにおけるGitHub Appの可視性の更新

https://github.blog/changelog/2024-03-29-updated-github-app-visibility-for-enterprise-managed-users

Enterprise Managed Users(EMUs)におけるGitHub App作成の体験を明瞭にし、アプリを作成したいユーザーとOrganizationの両方に対して更新しました。

EMU enterprise内で作成されたGitHub Appsは、Enterprise内でのみアクセス可能で、外部に対してはブロックされます。加えて、EMUにおけるユーザーアカウントはGitHubアプリをインストールできません。

この制限を反映するために、作成UIにおいてEMUユーザーに対して「Private」オプションを無効にしました。これは、誰もインストールできないアプリを作成してしまうことを防ぐためです。そして、実際にインストールされる場所を反映し、「Public」オプションを「This enterprise」に変更しました。

EMUsについての詳細は、「Enterprise Managed Users について」をご参照ください。GitHub Appsについての詳細は、「GitHub App の使用について」をご参照ください。

Discussion