Skip to content
This repository has been archived by the owner on Jul 31, 2023. It is now read-only.

kachick/action-update-dprint-plugins

Repository files navigation

action-update-dprint-plugins

Deprecated: This repositoy is archived

I do NOT recommend to use this action now, because some updating will not work.
See #6 (comment) for further detail

CI

GitHub Action to update dprint plugins in dprint.json

Usage

An example workflow in your repository, assuming it is named .github/workflows/dprint-update-plugin.yml.

name: Update dprint plugins
on:
  push:
    branches: ['main']
    paths:
      - '.github/workflows/dprint-update-plugin.yml'
  schedule:
    # Run at 17:00 UTC every Monday
    - cron: '0 17 * * 1'
  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

permissions:
  contents: write
  pull-requests: write

# Allow one concurrent dprint updater
concurrency:
  group: 'update-dprint'
  cancel-in-progress: true

jobs:
  update:
    runs-on: ubuntu-latest
    timeout-minutes: 15
    steps:
      - id: update-dprint-plugins
        uses: kachick/[email protected]
        with:
          base-branch: 'main'
          dprint-version: '0.40.1'

      # Enable `Allow auto-merge` in your repository settings if you need following steps
      - name: Merge sent PR
        # Checking `dprint fmt` did not make any diff even after updating plugins
        if: ${{ steps.update-dprint-plugins.outputs.pr_url != '' && steps.update-dprint-plugins.outputs.fmt == 'false' }}
        run: gh pr merge --auto --squash --delete-branch "${{ steps.update-dprint-plugins.outputs.pr_url }}"
        env:
          # Need to be replaced to your PAT if need to approve or need to trigger other actions
          GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'

Preparation

Need to add following permissions if you use GITHUB_TOKEN

permissions:
  contents: write
  pull-requests: write

Enable the following options in your repository settings

  • Enable Allow GitHub Actions to create and approve pull requests
  • Enable Allow auto-merge if you need auto merging

Input Parameters

All options should be specified with string. So true/false should be 'true'/'false'

name default options description
base-branch (null) e.g 'main' The branch into which you want updating PR merged
github-token ${{ github.token }} e.g '${{ secrets.YOUR_PAT }}' The token will be used to create PR
dprint-version (null) e.g '0.40.1' Specific dprint version to use. Should be specified
config-path 'dprint.json' e.g 'dprint-ci.json' Specific dprint config to use
fmt false true/false Run fmt and outputs the result in outputs.fmt if enabled. It may fail from some reasons

Outputs

name patterns description
pr_url e.g. 'https://github.com/owner/repos/pull/42' Sent PR URL
fmt true/false Return true if diff was made in dprint fmt after updating plugins. Can be used only in fmt in inputs is enabled

Motivation

About

GitHub Action to update dprint plugins

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages