Skip to main content
Deno 2 is finally here πŸŽ‰οΈ
Learn more

πŸ€– 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@0.158.0/testing/mod.ts => 0.159.0

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

Update any SemVer

- uses: denoland/setup-deno@v1
  with:
    deno-version: v1.26.0 # @denopendabot denoland/deno
πŸ’‘ denoland/deno@v1.26.0 => 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

You need a private access token with the workflow scope to update workflow definitions (./github/workflows/*.yml).

In the examples below, we assume the token is added in repository secrets as GH_TOKEN.

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

See action.yml for other options.

Manual configuration

name: Denopendabot
on:
  schedule:
    - cron: "1 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.5.6/main.ts
          ${{ github.repository }}
          --user-token ${{ secrets.GH_TOKEN }}

GitHub App

WIP