VitestのカバレッジレポートをGithub Actionsで添付する実装例
davelosert/vitest-coverage-report-actionを利用することで簡単にVitestのカバレッジレポートを添付することが出来る。
npmパッケージ公開のOIDC Trusted publishingへの移行
OIDC Trusted publishingを用いたnpmパッケージの公開方法およびTrusted publishingのメリットと制約について。
RenovateとDependabotのレビュワーを一元管理する
RenovateとDependabotを併用する場合、CODEOWNERSファイルを活用することでレビュワー設定を一元管理できる。
RenovateのPR数を削減するパターン
Renovateが作成するPR数を削減しレビュー負荷を軽減する設定パターンをいくつか紹介する
GitHub Actionsを利用してリリースノートの生成を自動化する
GitHub CLIを利用してリリースノートを生成する方法とGitHub Actionsでの使用例の紹介
AIなどの特定ユーザーの作成したPRに要求するApproval数を増やす
Botなどが作成したPull Requestに対して、GitHub Actionsを利用して通常より多くのApproveを要求する方法
GitHub Dependabot Alertを有効化したらRenovateが対象のPRを投げてくれる
Dependabot Alertを有効化するだけで、RenovateがセキュリティPRを投げてくれるようになる
PRが閉じられたら自動的にNetlifyのDeployを削除する
NetlifyにはDeployを自動的に削除する機能があるが、よりコントロールしたい場合にはNetlify APIが利用できる。この記事では、Github Actionsで自動的にNetlifyのDeployを削除する方法について紹介する。
Renovate - On demand config migration
RenovateのDependency DashboardからConfigを新しいスキーマに移行できるようになった。
QRコードを簡単に生成する
QRコードを生成するライブラリは多く存在する。また、一時的なもので良ければURLで生成できるサービスもある。
Q. gh pr createでレビュワーをチームに変更したら、Github Actions上で動作しなくなった
gh pr createでレビュワーをチームにする場合、追加で`read:org`の権限が必要になるため、デフォルトのsecrets.GITHUB_TOKENでは動作しなくなる。`repo`と`read:org`の権限を持ったPersonal Access Tokenを使うことで解決できる。
How to make Github Actions matrix items conditional
Github Actionsのmatrixのアイテムを条件によって切り替える方法について
Githubの検索に使える記述について
Githubの検索については公式ドキュメントが十分にまとめられている。しかし、少し辿りにくいようなので、人に共有しやすいように公式ドキュメントのリンクや一部の記述についてまとめた。
Github ActionsにおけるNode.jsパッケージのキャッシュについて
Github ActionsにおけるNode.jsパッケージのキャッシュについて、actions/setup-nodeの推奨する方法やnode_modulesをキャッシュする方法、その周辺について紹介する。
actions/setup-nodeでnode-version-fileの利用を勧める不純な理由
actions/setup-nodeではnode-version-fileを利用することで、利用されるNode.jsのバージョンをpackage.jsonなどに合わせることが出来る。これだけで便利だが、他にもお勧めできる不純な理由がある。
actions/setup-nodeのcacheはnode_modulesをキャッシュしない
actions/setup-nodeのcacheが期待通りに動作しないことは認識していたが、改めて調べたらそもそもnode_modulesをキャッシュしないことが分かった。
Renovateのレビュワーにチームを指定して運用する
Renovateでレビュワーを指定する際、Githubで設定したチームを指定することで、放置される可能性を減らしたり、チームメンバーが変わっても設定を変更する必要がなくなるなどのメリットを受けられる。
Q. Renovateでauto mergeが上手く動作せず、レビュワーが設定されない
Renovateでauto mergeを有効化した上で、Githubのブランチプロテクションでレビューを必須にした場合、適切な対応を行わなければオートマージが行われずレビュワーも設定されない。これによりRenovateのPRが見逃されるケースがあり、相談を受けた際の説明をまとめた。
Github Workflowsで環境に応じて異なるSecretsやVariablesを使う
Github WorkflowsでEnvironment SecretsやEnvironment Variablesを使って環境に応じて異なるSecretsやVariablesを使う方法を紹介する。
特定のディレクトリやファイルをRenovateに無視させる
Renovateには特定のファイルやディレクトリを無視させる機能があり、デフォルトではnode_modulesなどを無視するようになっている。
Q. pull_requestトリガーのworkflowがなぜか実行されていない
Github Actionsのpull_requestトリガーのworkflowがなぜか実行されていないという相談を受けたので、その原因と解決策についてまとめた。
Renovateの設定をバリデーションする
Renovateは公式が設定をバリデーションする機能を提供している。
Q. Github Workflowsが落ちたらIssueを作らせたい
Github Workflowsが落ちたらIssueを作らせる方法について調査した結果をまとめた。
Renovateでパッケージをreplaceする
Renovateにはパッケージを別のパッケージに差し替える機能がある。
Q. npm.rangeStrategyをpinにするとenigineもpinされてしまう
Renovateでnpm.rangeStrategyをpinにするとengineもpinされてしまう問題について解決策をまとめた。
Github Actionsを利用してReviewer全員のApprovedを必須にする
GithubでReviewer全員のApprovedを必須にする方法を紹介するが、おすすめしない。
RenovateのScheduleがminuteを指定できない。
Renovateでスケジュールが機能しないという相談を受けた際に調べたところ、技術的に分単位の制御が出来ないことが分かった。
Q. RenovateでGolangのバージョンが上がらなくなった
RenovateでGolangのバージョンが上がらないと相談を受けた際に調べた内容をまとめた。