outdated-check-action - 最新版ではない依存パッケージを数える Actions を作った

2024/02/07に公開

JavaScript のプロジェクトで最新版ではない依存パッケージを数える GitHub Actions を作りました。

https://github.com/odanado/outdated-check-action

目的

BARフロントえんどう #1 「フロントエンドリアーキテクト」@KawamataRyoさんのGitHub Actions と Datadog でコードベースの定点観測という内容の登壇を見たのがきっかけです。

この登壇のスライドの中に次の内容がありました。

これは Datadog のダッシュボードで依存パッケージの更新状況を可視化している様子を表しています。このスライドを見たときに「これがあると最近 Renovate の対応を進めていることがわかりやすい」と思いました。

登壇内容によると今回使用した集計スクリプトは GitHub Actions として切り出されてなさそうだったので、同じ機能を提供するものを作ってみました。

使い方

npm ci を実行したあとに outdated-check-action を実行します。
step の outputs に統計情報が格納されています。例えば更新されていない依存パッケージの数は steps.outdate-check.outputs.outdated-dependencies-count で取得できます。

name: "oudated-check"
on:
  workflow_dispatch:
  schedule:
    - cron:  '30 5,17 * * *'

jobs:
  outdated-check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4

      - run: npm ci

      - name: run outdate check
        uses: odanado/outdated-check-action@v0
        id: outdate-check

GCP のサンプル

リポジトリには GCP に統計情報を送信するサンプルがあります。

https://github.com/odanado/outdated-check-action/blob/f791c1e94e35afbfaae2b5b28b418238354abe0d/.github/workflows/dogfooding.yml#L25-L44

この情報を元にダッシュボードを作成することができます。

Discussion