🤖 denopendabot

CI codecov denoland/deno

denopendabot keeps your Deno projects up-to-date.

Warning
Still under development. Many bugs might remain. Any breaking changes may be introduced on each Feature release.

🚀 Features

Update Deno modules automatically

import { assert } from "https://deno.land/std@0.158.0/testing/asserts.ts";
💡 deno.land/std from 0.158.0 to 0.159.0

Denopendabot takes advantage of the core engine of udd, one of the most widely used module update libraries for Deno, which supports many registry domains.

Update any SemVer

- uses: denoland/setup-deno@v1
  with:
    deno-version: v1.26.0 # @denopendabot denoland/deno
💡 denoland/deno from v1.26.0 to v1.26.1

Denopendabot update any SemVer in the code specified by a comment of @denopendabot {owner}/{repo}.

Commits and pull requests

  • Commits are created for each updated module/repository individually
  • Each run of Denopendabot creates only one pull request

See an example pull request.

GitHub App

WIP

💡 Usage

GitHub Action

Denopendabot needs a GitHub access token authorized to run workflows. secrets.GITHUB_TOKEN is used by default and it works fine in most cases.

If you want to update workflow files (./github/workflows/*.yml), it also needs a private access token with the workflow scope. In the examples below, we assume the token is added in repository secrets as GH_TOKEN.

name: Denopendabot
on:
  schedule:
    - cron: "0 0 * * *" # modify to your convinient time
jobs:
  update:
    name: Update
    runs-on: ubuntu-latest
    steps:
      - uses: hasundue/denopendabot@0.6.2 # @denopendabot hasundue/denopendabot
        with:
          user-token: ${{ secrets.GH_TOKEN }}

See action.yml for other options.

Manual configuration

name: Denopendabot
on:
  schedule:
    - cron: "0 0 * * *" # modify to your convinient time
jobs:
  update:
    name: Update
    runs-on: ubuntu-latest
    steps:
      - name: Setup Deno
        uses: denoland/setup-deno@v1
        with:
          deno-version: v1.26.1 # @denopendabot denoland/deno
      - name: Run Denopendabot
        run: >
          deno run -q --allow-env --allow-net
          https://deno.land/x/denopendabot@0.6.2/main.ts
          ${{ github.repository }}
          --token ${{ secrets.GITHUB_TOKEN }}
          --user-token ${{ secrets.GH_TOKEN }}

GitHub App

WIP