昨年、こういう記事を書いた。
しかしバイナリを直に配るよりもGitHub Actionsから呼び出せたほうがお得だろうなと思ったので、Actionとして作り直した(内部的にはバイナリをDLして実行するだけ)。
windymelt/psi-mackerel
以下のようにGitHub Actionsのワークフローを設定することで、特定のURLのPageSpeed InsightsのスコアをMackerelのサービスメトリックとして投稿できる。
name: 主要ページのPage Speed Insights scoreを監視する君 on: schedule: # JST 13:00 = UTC 04:00 - cron: '0 4 * * *' workflow_dispatch: jobs: psi: runs-on: ubuntu-latest steps: - uses: windymelt/psi-mackerel@c7e06dad46f430208b1df80d8b680876d847e910 with: urls: | # 1行1URLを書けばよい https://example.com/ https://a.example.com/ https://example.com/b mackerel_api_token: "${{ secrets.MACKEREL_API }}" # MackerelのAPIトークン mackerel_service: "mackerel-service-name-here" # Mackerelの投稿先となるサービス名 psi_api_token: "${{ secrets.PSI_API_KEY }}" # PageSpeed InsightsのAPIトークン version: "v1.0.2" # 省略すると最新のバイナリが使われる。
PageSpeed InsightsのAPIトークンは省略できるが、Too Many Requestsになって弾かれることがあるので、↓のページで作っておいたほうがよい。
中身
アクションはComposite Actionとして構成した。
正月の暇な時期に練習していたので、今回このようにActionを作ることができた。
どうぞご活用ください。