kakakakakku blog

Weekly Tech Blog: Keep Learning!

GitHub

zizmor: GitHub Actions ワークフローのセキュリティ課題を検出しよう

はじめに zizmor を使うと GitHub Actions ワークフローのセキュリティ課題を検出できる.少し前に「zizmor イイぞ❗️」という話を聞いて試してみたいと思っていたところ docs.zizmor.sh 普段は GitHub Actions の Linter として actionlint を使っている.ac…

GitHub Quick Review (ghqr) を Classic PAT を発行せずに GitHub Apps の認証で実行する

はじめに 先週 GitHub のベストプラクティスとセキュリティ推奨設定をチェックできる GitHub Quick Review (ghqr) を試した. kakakakakku.hatenablog.com とても便利で既に仕事でも導入を検討しているけど,正直 Classic PAT は発行したくないな〜と思って…

GitHub のベストプラクティスとセキュリティ推奨設定をチェックできる GitHub Quick Review (ghqr)

はじめに Microsoft から公式に提供されている GitHub Quick Review (ghqr) コマンドを使うと,GitHub Enterprise・GitHub Organization・GitHub リポジトリの設定を「GitHub のベストプラクティスとセキュリティ推奨設定」と比較して自動的にチェックでき…

Hurl の API テストを GitHub Actions で動かす

はじめに Hurl の API テストを GitHub Actions で動かしてみようと思った.Hurl の CI/CD Integration というドキュメントを参考に簡易的な仕組みで試してみた hurl.dev 環境 Hurl 8.0.1 bin/integration.sh Hurl のドキュメントでは bin/integration.sh …

Google Cloud の Direct Workload Identity Federation を使って GitHub Actions から Terraform を実行する

はじめに GitHub Actions から Google Cloud にアクセスするときに「サービスアカウントキー」ではなく「Workload Identity Federation (WIF)」を使うことが推奨されている.長期的な認証情報を管理する必要がなくて安全に使える.今回はプリンシパルに直接…

EC2 インスタンスで GitHub Actions のセルフホステッドランナーを動かす

普段は GitHub Actions の GitHub ホステッドランナー (GitHub-hosted runners) を使うことが多くて,たまーに AWS CodeBuild ホステッドランナー (AWS CodeBuild-hosted runners) を使うこともある.そう言えば Amazon EC2 インスタンスを使ってセルフホス…

プルリクエストのドラフトが解除されたら GitHub Actions ワークフローを動かす

ドラフトとしてプルリクエストを出したときは GitHub Actions ワークフローを動かしたくないという場面がある.ワークフローから Slack 通知をしてる場合はノイズになるし,AI コードレビューを使ってる場合はトークンが無駄になる. そんなときは GitHub Ac…

GitHub Actions のコミットハッシュ指定(ピン留め)を Dependabot で自動的に更新する

GitHub Actions ワークフローでアクションを使うときにセキュリティ面を考慮すると「タグ指定」ではなく「コミットハッシュ指定(ピン留め)」が良いと言われている.たとえば GitHub Actions のドキュメントでも Pin actions to a full-length commit SHA(…

GitHub Actions の schedule で timezone を指定できるようになった

GitHub Actions の schedule トリガーで「タイムゾーン」を指定できるようになった❗️2026年3月19日のブログ記事に Timezone support for scheduled workflows と書いてあって気付いた.些細なアップデートすぎて個別のアナウンスはなし...? github.blog tim…

Dependabot で Composer ライブラリを自動でアップデートする

Dependabot を使うと PHP のプロジェクトで Composer ライブラリを自動でアップデートできる docs.github.com 詳細な設定はドキュメントにまとまっている 今回は2つのパターンを試してみた \( 'ω')/ require と require-dev を別々にアップデートする requ…

GitHub Actions で Dependabot のプルリクエストを自動的に merge する

GitHub Actions で Dependabot のプルリクエストを自動的に merge する仕組みを作ってみた.ライブラリのバージョンアップ時に CI を実行して pass するなら merge して OKという前提で使うイメージ. .github/workflows/auto-merge-for-dependabot.yml Git…

GitHub Actions でアクションの SHA 固定を強制できる「Enforce SHA pinning」

2025年8月15日に GitHub Actions で「特定のアクションやバージョンをブロックする機能」と「アクションの SHA 固定を強制する機能」がリリースされた github.blog たとえば GitHub Actions で使っているアクションにバックドア的な脆弱性が組み込まれてしま…

AWS Lambda Deploy GitHub Action: GitHub Actions から Lambda 関数をデプロイしよう

2025年8月7日にリリースされた AWS Lambda Deploy GitHub Action (aws-actions/aws-lambda-deploy) を使うと GitHub Actions から AWS Lambda 関数を直接デプロイできるさっそく試してみた \( 'ω')/ aws.amazon.com github.com 仕組み AWS Lambda Deploy G…

CDK で IAM OIDC ID プロバイダーを設定するときは OidcProviderNative を使おう

AWS CDK で IAM OIDC ID プロバイダーを設定するときに OpenIdConnectProvider を使うと内部的に AWS Lambda 関数(カスタムリソース)もデプロイされる仕組みになっているとは言えデプロイのために AWS Lambda 関数が増えるのは避けたいな〜(ちょっと嫌だ…

OpenCommit: AI に Git のコミットメッセージを考えてもらおう

git commit を実行するときに差分を確認しつつ「どういうコミットメッセージにしたら良いかなぁ〜」と悩むことがある. そこで LLM (Large Language Models) を使ってコミットメッセージを自動生成できる「OpenCommit」を個人的な検証リポジトリを中心に導入…

GitHub Actions で GitHub Organization のチームに所属しているかどうかを判定する

GitHub Actions でワークフローを実行した GitHub アカウントが GitHub Organization のチームに所属しているかどうかを判定できる tspascoal/get-user-teams-membership を試してみた❗️tspascoal/get-user-teams-membership では大きく2種類の値を取得でき…

Branch Deploy Action でプルリクエストの Approve なしでも例外的にデプロイできる Admins 設定

Branch Deploy Action (branch-deploy) には Admins という設定がある⚙️ Admins に管理者レベルの権限を持った GitHub アカウント名を指定すると,あくまで「例外的な運用として」Branch protection rule(ブランチ保護ルール)の「Require approvals」を無…

Branch Deploy Action で複数環境に Terraform をデプロイする

Branch Deploy Action (branch-deploy) を使って Terraform をデプロイする仕組みを以下の記事にまとめたプルリクエストに .plan や .apply とコメントするとデプロイできるという IssueOps を実現できる kakakakakku.hatenablog.com 前に書いた記事では「1…

Branch Deploy Action で Terraform をデプロイする (Apply-Before-Merge)

IssueOps でブランチデプロイを実現できる GitHub 公式アクション Branch Deploy Action (branch-deploy) を使って,Terraform の Apply-Before-Merge デプロイ (plan / apply) を自動化してみた❗️ github.com ちなみに Branch Deploy Action に関しては2023…

actionlint: GitHub Actions ワークフローの構文をチェックしよう

actionlint を使うと GitHub Actions ワークフローの構文をチェックできる✅️ また run: に指定するシェルを ShellCheck でチェックすることもできて便利❗️actionlint は仕事でも個人プロジェクトでもよく使っているけど,実は今までブログで紹介していなかっ…

tfcmt: GitHub Actions から terraform plan / apply の出力結果をプルリクエストにコメントしよう

GitHub Actions で terraform plan / terraform apply を実行するときに出力結果をイイ感じにプルリクエストにコメントしたいという場面があった 自前でゴニョゴニョと実装するのではなく tfcmt を試してみたらとても便利だったので,検証ログも兼ねてまとめ…

GitHub Actions で gh label create コマンドを使ってラベルを追加する

GitHub Actions で gh label create コマンドを使って GitHub リポジトリにラベルを追加するサンプル❗️ 青背景で hello という名前のラベルを追加する \( 'ω')/ name: Create label on: push: branches: - main permissions: contents: read issues: write…

gh models run コマンドを使って GitHub Actions から LLM を呼び出そう

GitHub CLI(gh コマンド)の拡張機能「gh-models(gh models コマンド)」を使うとお手軽に LLM を呼び出すことができる❗️たとえば gh models list コマンドを実行すると,現時点で45種類のモデルが登録されていた \( 'ω')/ github.com $ gh models list …

Dependabot の uv サポートを試す

Python プロジェクトで uv を使っていて,Dependabot で依存関係を自動アップデートできないという悩みがあった.ちなみに Renovate はもともと uv をサポートしているという背景があった現時点では uv のドキュメントには uv is supported by Renovate. / S…

GitHub Codespaces のストレージ使用率 90% !? DuckDB で GitHub Usage Report を分析する

最近 GitHub から以下のようなメールが届いていた✉️ [GitHub] You've used 75% of included services for the kakakakakku account [GitHub] You've used 90% of included services for the kakakakakku account GitHub Codespaces では毎月「コア時間」と「…

コードレビュー時に GitHub の Saved replies に保存したコメントプレフィックスを使う

書籍 "Looks Good to Me" を読んでいたら,Chapter.6「Composing effective code review comments」にコメントプレフィックスのトピックがあっておもしろかった❗️大きく3種類紹介されていた. MoSCoW Comments Conventional Comments Comment Signals 僕自身…

GitHub の CODEOWNERS でプルリクエストのレビュアーを自動アサインしよう

GitHub で CODEOWNERS ファイルを使うとコードに対するオーナーシップを設定することができて,プルリクエストを作ると自動的にレビュアーにアサインされるという仕組みを実現できるドラフト状態のプルリクエストだとレビュアーはアサインされないようにもな…

GitHub Codespaces prebuilds(プレビルド)を使って GitHub Codespaces の起動時間を速くする

Zenn Book で公開している「LocalStack 実践入門 | AWS アプリケーション開発ワークショップ」と「LocalStack 実践入門 | AWS サーバレスパターン開発ワークショップ」ではワークショップ環境として GitHub Codespaces を使っているできる限りセットアップの…

GitHub リポジトリで「リリースノート」を自動的に作ろう

GitHub にはリリースノートを自動的に作る機能があって,マージされたプルリクエストをまとめたりできる OSS ライブラリで semver に沿ってリリースノートを作るのも便利だし,仕事で使っているプライベートリポジトリでも「いつどのプルリクエストがデプロ…

GitHub Actions のジョブサマリーに Service Quotas のクォータ一覧を出力する

AWS Organizations 未導入のマルチアカウント環境でマネジメントコンソールに入らずに Service Quotas のクォータをシュッと確認できたらちょっと便利かも?と思って(あくまでアイデアとして),検証も兼ねて AWS SDK for Python (Boto3) と GitHub Actions…