🐼
Denoの依存をUDDで自動アップデート 2023年版
結論
このGitHub Workflowの設定を置きましょう。
GitHub Repositoryの設定を変更する必要があります。
Actions→General→Workflow permissions でAllow GitHub Actions to create and approve pull requestsをオンにします。
参考: GitHub ActionsでのPR操作権限はデフォルトでオフになったよ
また、頻度はCRONで毎日午前9時の指定を行っているので、好きな頻度に変更して良いと思います。
.github/workflows/deno-update.yml
name: Deno Update
on:
push:
branches:
- main
schedule:
- cron: "0 9 * * *"
jobs:
update:
permissions: write-all
runs-on: ubuntu-latest
steps:
- name: Setup repo
uses: actions/checkout@v3
- name: Setup Deno
uses: denoland/setup-deno@v1
with:
deno-version: v2.x
- name: Update dependencies with udd
id: run-deno-udd
env:
NO_COLOR: true
run: |
{
echo 'UDD_RESULT<<EOF'
deno run --allow-all https://deno.land/x/udd/main.ts $(find . -type f | grep -E ".*\.([mc]?(ts|js)|(ts|js)x?)$" -)
echo EOF
} >> $GITHUB_OUTPUT
- name: Create pull request
uses: peter-evans/create-pull-request@v3
with:
commit-message: "chore(deps): Update deno dependencies"
title: Update Deno dependencies
body: |-
Some external modules are stale.
<details><summary>Details</summary><div>
```
${{ steps.run-deno-udd.outputs.UDD_RESULT }}
```
</div></details>
branch: udd-update
author: GitHub <noreply@github.com>
delete-branch: true
参考: Deno版dependabot(UDD)で自動アップデート
is 何
denoの依存関係で古くなったものを自動アップデートしてくれるサードパーティ製のツール、UDDを使って依存の更新をPull-Requestとして生成します。
すでにいくつかの記事で解説されていますが、GitHub Actionsの仕様更新前の記事が多かったので、2023年8月現在でも動作確認が取れるものを記事化しました。
注意点
uddのリポジトリ(https://github.com/hayd/deno-udd)自体のアクティビティが落ちているので、プロジェクト自体がForkされたり、廃止されたりするかもしれません。
一応注視しておきましょう。
Discussion