├── .github ├── renovate.json └── workflows │ ├── dockerimage.yml │ ├── test.yml │ ├── reviewdog.yml │ ├── release.yml │ └── depup.yml ├── testdata └── text.md ├── Dockerfile ├── langtool.tmpl ├── LICENSE ├── action.yml ├── entrypoint.sh └── README.md /.github/renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "config:base" 4 | ], 5 | "labels": [ 6 | "bump:patch" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /testdata/text.md: -------------------------------------------------------------------------------- 1 | It doesn't works on an unix environment. 2 | 3 | It maybe helpful in the future if Austin Energy goes combined cycle. 4 | 5 | It still possible for Tom to build a similar chart. 6 | 7 | You can do that if need. 8 | -------------------------------------------------------------------------------- /.github/workflows/dockerimage.yml: -------------------------------------------------------------------------------- 1 | name: Docker Image CI 2 | on: 3 | push: 4 | branches: 5 | - master 6 | pull_request: 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 12 | - name: Build the Docker image 13 | run: docker build . --file Dockerfile --tag ${{ github.repository }}:$(date +%s) 14 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erikvl87/languagetool:6.5 2 | # https://github.com/Erikvl87/docker-languagetool 3 | 4 | ENV REVIEWDOG_VERSION=v0.21.0 5 | ENV TMPL_VERSION=v1.2.0 6 | ENV OFFSET_VERSION=v1.0.6 7 | ENV LANGUAGETOOL_VERSION=5.2 8 | ENV GHGLOB_VERSION=v2.0.2 9 | 10 | USER root 11 | 12 | SHELL ["/bin/ash", "-eo", "pipefail", "-c"] 13 | 14 | # hadolint ignore=DL3006 15 | RUN apk --no-cache add git curl 16 | 17 | RUN wget -O - -q https://raw.githubusercontent.com/reviewdog/reviewdog/fd59714416d6d9a1c0692d872e38e7f8448df4fc/install.sh| sh -s -- -b /usr/local/bin/ ${REVIEWDOG_VERSION} && \ 18 | wget -O - -q https://raw.githubusercontent.com/haya14busa/tmpl/master/install.sh| sh -s -- -b /usr/local/bin/ ${TMPL_VERSION} && \ 19 | wget -O - -q https://raw.githubusercontent.com/haya14busa/offset/master/install.sh| sh -s -- -b /usr/local/bin/ ${OFFSET_VERSION} && \ 20 | wget -O - -q https://raw.githubusercontent.com/haya14busa/ghglob/master/install.sh| sh -s -- -b /usr/local/bin/ ${GHGLOB_VERSION} 21 | 22 | COPY entrypoint.sh /entrypoint.sh 23 | COPY langtool.tmpl /langtool.tmpl 24 | 25 | ENTRYPOINT ["/entrypoint.sh"] 26 | -------------------------------------------------------------------------------- /langtool.tmpl: -------------------------------------------------------------------------------- 1 | {{- $result := . -}} 2 | 3 | {{ range $_, $m := .matches -}} 4 | {{- /* ::: */ -}} 5 | {{ env "FILE" }}:{{ (pos.Offset (env "FILE") $m.offset).Line }}:{{ (pos.Offset (env "FILE") $m.offset).Column }}: {{ $m.message }} 6 | {{- sp}}({{ $m.rule.id }}{{ if $m.rule.subId }}[{{ $m.rule.subId }}]{{end}}){{- nl -}} 7 | 8 | {{- /* Suggestions */ -}} 9 | {{ if ne (len $m.replacements) 0 -}} 10 | {{sp}}Suggestions: {{ range $i, $r := $m.replacements -}}{{ if ne $i 0 }},{{sp}}{{end}}`{{ $r.value }}`{{ end -}} 11 | {{- nl -}} 12 | {{ end }} 13 | 14 | {{- /* URLs */ -}} 15 | {{ if $m.rule.urls }}{{ if ne (len $m.rule.urls) 0 -}} 16 | {{sp}}URL: {{ range $_, $u := $m.rule.urls -}}{{ $u.value }}{{sp}}{{- end -}} 17 | {{- nl -}} 18 | {{ end }}{{ end }} 19 | 20 | {{- /* Rule URL */ -}} 21 | {{sp}}Rule: https://community.languagetool.org/rule/show/{{ $m.rule.id }}?lang={{ $result.language.code }} 22 | {{- if $m.rule.subId }}&subId={{ $m.rule.subId }}{{end}}{{- nl -}} 23 | 24 | {{- /* Category */ -}} 25 | {{sp}}Category: {{ $m.rule.category.id }} 26 | 27 | {{- nl -}} 28 | {{- end -}} 29 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 haya14busa, reviewdog developers 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: Test 2 | on: 3 | push: 4 | branches: 5 | - master 6 | pull_request: 7 | jobs: 8 | test-check: 9 | name: runner / languagetool (github-check) 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 13 | - uses: ./ 14 | with: 15 | github_token: ${{ secrets.github_token }} 16 | reporter: github-check 17 | level: info 18 | 19 | test-pr-check: 20 | if: github.event_name == 'pull_request' 21 | name: runner / languagetool (github-pr-check) 22 | runs-on: ubuntu-latest 23 | steps: 24 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 25 | - uses: ./ 26 | with: 27 | github_token: ${{ secrets.github_token }} 28 | reporter: github-pr-check 29 | level: info 30 | 31 | test-pr-review: 32 | if: github.event_name == 'pull_request' 33 | name: runner / languagetool (github-pr-review) 34 | runs-on: ubuntu-latest 35 | steps: 36 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 37 | - uses: ./ 38 | with: 39 | github_token: ${{ secrets.github_token }} 40 | reporter: github-pr-review 41 | level: info 42 | patterns: "**.md" 43 | custom_api_endpoint: https://languagetool.org/api 44 | -------------------------------------------------------------------------------- /.github/workflows/reviewdog.yml: -------------------------------------------------------------------------------- 1 | name: reviewdog 2 | on: 3 | push: 4 | branches: 5 | - master 6 | pull_request: 7 | jobs: 8 | shellcheck: 9 | name: runner / shellcheck 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 13 | - uses: haya14busa/action-cond@94f77f7a80cd666cb3155084e428254fea4281fd # v1.2.1 14 | id: reporter 15 | with: 16 | cond: ${{ github.event_name == 'pull_request' }} 17 | if_true: "github-pr-review" 18 | if_false: "github-check" 19 | - uses: reviewdog/action-shellcheck@57079a832290a049f49cee90984b072c870fb7d4 # v1.29.3 20 | with: 21 | github_token: ${{ secrets.github_token }} 22 | reporter: ${{ steps.reporter.outputs.value }} 23 | level: warning 24 | 25 | hadolint: 26 | name: runner / hadolint 27 | runs-on: ubuntu-latest 28 | steps: 29 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 30 | - uses: haya14busa/action-cond@94f77f7a80cd666cb3155084e428254fea4281fd # v1.2.1 31 | id: reporter 32 | with: 33 | cond: ${{ github.event_name == 'pull_request' }} 34 | if_true: "github-pr-review" 35 | if_false: "github-check" 36 | - uses: reviewdog/action-hadolint@fc7ee4a9f71e521bc43e370819247b70e5327540 # v1.50.2 37 | with: 38 | github_token: ${{ secrets.github_token }} 39 | reporter: ${{ steps.reporter.outputs.value }} 40 | level: warning 41 | 42 | misspell: 43 | name: runner / misspell 44 | runs-on: ubuntu-latest 45 | steps: 46 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 47 | - uses: reviewdog/action-misspell@9daa94af4357dddb6fd3775de806bc0a8e98d3e4 # v1.26.3 48 | with: 49 | github_token: ${{ secrets.github_token }} 50 | reporter: github-check 51 | level: warning 52 | locale: "US" 53 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: release 2 | on: 3 | push: 4 | branches: 5 | - master 6 | tags: 7 | - 'v*.*.*' 8 | pull_request: 9 | types: 10 | - labeled 11 | 12 | jobs: 13 | release: 14 | if: github.event.action != 'labeled' 15 | runs-on: ubuntu-latest 16 | steps: 17 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 18 | 19 | # Bump version on merging Pull Requests with specific labels. 20 | # (bump:major,bump:minor,bump:patch) 21 | - id: bumpr 22 | if: "!startsWith(github.ref, 'refs/tags/')" 23 | uses: haya14busa/action-bumpr@78ab5a104d20896c9c9122c64221b3aecf1a8cbb # v1.10.0 24 | 25 | # Update corresponding major and minor tag. 26 | # e.g. Update v1 and v1.2 when releasing v1.2.3 27 | - uses: haya14busa/action-update-semver@fb48464b2438ae82cc78237be61afb4f461265a1 # v1.2.1 28 | if: "!steps.bumpr.outputs.skip" 29 | with: 30 | tag: ${{ steps.bumpr.outputs.next_version }} 31 | 32 | # Get tag name. 33 | - id: tag 34 | uses: haya14busa/action-cond@94f77f7a80cd666cb3155084e428254fea4281fd # v1.2.1 35 | with: 36 | cond: "${{ startsWith(github.ref, 'refs/tags/') }}" 37 | if_true: ${{ github.ref }} 38 | if_false: ${{ steps.bumpr.outputs.next_version }} 39 | 40 | # Create release. 41 | - if: "steps.tag.outputs.value != ''" 42 | env: 43 | TAG_NAME: ${{ steps.tag.outputs.value }} 44 | BODY: ${{ steps.bumpr.outputs.message }} 45 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 46 | run: | 47 | gh release create "${TAG_NAME}" -t "Release ${TAG_NAME/refs\/tags\//}" --notes "${BODY}" 48 | 49 | release-check: 50 | if: github.event.action == 'labeled' 51 | runs-on: ubuntu-latest 52 | steps: 53 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 54 | - name: Post bumpr status comment 55 | uses: haya14busa/action-bumpr@78ab5a104d20896c9c9122c64221b3aecf1a8cbb # v1.10.0 56 | -------------------------------------------------------------------------------- /action.yml: -------------------------------------------------------------------------------- 1 | name: 'Run LanguageTool with reviewdog' 2 | description: '🐶 Run LanguageTool with reviewdog on pull requests to improve code review experience.' 3 | author: 'haya14busa' 4 | inputs: 5 | github_token: 6 | description: 'GITHUB_TOKEN' 7 | default: '${{ github.token }}' 8 | ### Flags for reviewdog ### 9 | level: 10 | description: 'Report level for reviewdog [info,warning,error]' 11 | default: 'error' 12 | reporter: 13 | description: 'Reporter of reviewdog command [github-pr-check,github-pr-review].' 14 | default: 'github-pr-check' 15 | ### Flags for target file ### 16 | patterns: 17 | description: 'Space separated target file glob patterns. https://github.com/haya14busa/ghglob' 18 | default: '**/*.md **/*.txt' 19 | ### Flags for LanguageTool ### 20 | # Ref: https://languagetool.org/http-api/swagger-ui/#!/default/post_check 21 | language: 22 | description: 'language of LanguageTool' 23 | default: 'en-US' 24 | enabled_rules: 25 | description: 'comma separeted enabledRules of LanguageTool' 26 | disabled_rules: 27 | description: 'comma separeted disabledRules of LanguageTool' 28 | default: 'WHITESPACE_RULE,EN_QUOTES,DASH_RULE,WORD_CONTAINS_UNDERSCORE,UPPERCASE_SENTENCE_START,ARROWS,COMMA_PARENTHESIS_WHITESPACE,UNLIKELY_OPENING_PUNCTUATION,SENTENCE_WHITESPACE,CURRENCY,EN_UNPAIRED_BRACKETS,PHRASE_REPETITION,PUNCTUATION_PARAGRAPH_END,METRIC_UNITS_EN_US,ENGLISH_WORD_REPEAT_BEGINNING_RULE' 29 | enabled_categories: 30 | description: 'comma separeted enabledCategories of LanguageTool' 31 | disabled_categories: 32 | description: 'comma separeted disabledCategories of LanguageTool' 33 | default: 'TYPOS,TYPOGRAPHY' 34 | enabled_only: 35 | description: 'enabledOnly of LanguageTool' 36 | default: 'false' 37 | custom_api_endpoint: 38 | description: 'Custom API endpoint of LanguageTool server. e.g. https://languagetool.org/api' 39 | default: '' 40 | wait_server_startup_duration: 41 | description: 'Wait the startup of the server.' 42 | default: '3' 43 | runs: 44 | using: 'docker' 45 | image: 'Dockerfile' 46 | 47 | # Ref: https://haya14busa.github.io/github-action-brandings/ 48 | branding: 49 | icon: 'type' 50 | color: 'blue' 51 | -------------------------------------------------------------------------------- /entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -eo pipefail 3 | 4 | API_ENDPOINT="${INPUT_CUSTOM_API_ENDPOINT}" 5 | if [ -z "${INPUT_CUSTOM_API_ENDPOINT}" ]; then 6 | API_ENDPOINT=http://localhost:8010 7 | java -cp "/LanguageTool/languagetool-server.jar" org.languagetool.server.HTTPServer --port 8010 & 8 | echo "Wait the server startup for ${INPUT_WAIT_SERVER_STARTUP_DURATION}s" 9 | sleep "${INPUT_WAIT_SERVER_STARTUP_DURATION}" # Wait the server startup. 10 | fi 11 | 12 | echo "API ENDPOINT: ${API_ENDPOINT}" >&2 13 | 14 | if [ -n "${GITHUB_WORKSPACE}" ]; then 15 | cd "${GITHUB_WORKSPACE}" || exit 16 | fi 17 | 18 | git config --global --add safe.directory $GITHUB_WORKSPACE 19 | 20 | # https://languagetool.org/http-api/swagger-ui/#!/default/post_check 21 | DATA="language=${INPUT_LANGUAGE}" 22 | if [ -n "${INPUT_ENABLED_RULES}" ]; then 23 | DATA="$DATA&enabledRules=${INPUT_ENABLED_RULES}" 24 | fi 25 | if [ -n "${INPUT_DISABLED_RULES}" ]; then 26 | DATA="$DATA&disabledRules=${INPUT_DISABLED_RULES}" 27 | fi 28 | if [ -n "${INPUT_ENABLED_CATEGORIES}" ]; then 29 | DATA="$DATA&enabledCategories=${INPUT_ENABLED_CATEGORIES}" 30 | fi 31 | if [ -n "${INPUT_DISABLED_CATEGORIES}" ]; then 32 | DATA="$DATA&disabledCategories=${INPUT_DISABLED_CATEGORIES}" 33 | fi 34 | if [ -n "${INPUT_ENABLED_ONLY}" ]; then 35 | DATA="$DATA&enabledOnly=${INPUT_ENABLED_ONLY}" 36 | fi 37 | 38 | # Disable glob to handle glob patterns with ghglob command instead of with shell. 39 | set -o noglob 40 | FILES="$(git ls-files | ghglob ${INPUT_PATTERNS})" 41 | set +o noglob 42 | 43 | # To manage whitespaces in filepath 44 | IFS=$(echo -en "\n\b") 45 | 46 | run_langtool() { 47 | for FILE in ${FILES}; do 48 | echo "Checking ${FILE}..." >&2 49 | # Skip empty files 50 | if [ ! -s "${FILE}" ]; then 51 | echo "Skipping empty file: ${FILE}" >&2 52 | continue 53 | fi 54 | curl --silent \ 55 | --request POST \ 56 | --data "${DATA}" \ 57 | --data-urlencode "text@${FILE}" \ 58 | "${API_ENDPOINT}/v2/check" | \ 59 | FILE="${FILE}" tmpl /langtool.tmpl 60 | done 61 | } 62 | 63 | export REVIEWDOG_GITHUB_API_TOKEN="${INPUT_GITHUB_TOKEN}" 64 | 65 | run_langtool \ 66 | | reviewdog -efm="%A%f:%l:%c: %m" -efm="%C %m" -name="LanguageTool" -reporter="${INPUT_REPORTER:-github-pr-check}" -level="${INPUT_LEVEL}" 67 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # action-languagetool 2 | 3 | [![Test](https://github.com/reviewdog/action-languagetool/workflows/Test/badge.svg)](https://github.com/reviewdog/action-languagetool/actions?query=workflow%3ATest) 4 | [![reviewdog](https://github.com/reviewdog/action-languagetool/workflows/reviewdog/badge.svg)](https://github.com/reviewdog/action-languagetool/actions?query=workflow%3Areviewdog) 5 | [![depup](https://github.com/reviewdog/action-languagetool/workflows/depup/badge.svg)](https://github.com/reviewdog/action-languagetool/actions?query=workflow%3Adepup) 6 | [![release](https://github.com/reviewdog/action-languagetool/workflows/release/badge.svg)](https://github.com/reviewdog/action-languagetool/actions?query=workflow%3Arelease) 7 | [![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/reviewdog/action-languagetool?logo=github&sort=semver)](https://github.com/reviewdog/action-languagetool/releases) 8 | [![action-bumpr supported](https://img.shields.io/badge/bumpr-supported-ff69b4?logo=github&link=https://github.com/haya14busa/action-bumpr)](https://github.com/haya14busa/action-bumpr) 9 | 10 | ![github-pr-review demo](https://user-images.githubusercontent.com/3797062/74084817-31e7ce80-4ab6-11ea-9d7f-621a9861148c.png) 11 | ![github-pr-check demo](https://user-images.githubusercontent.com/3797062/74084838-5ba0f580-4ab6-11ea-85fa-0944ff7709b5.png) 12 | 13 | This action runs [LanguageTool](https://github.com/languagetool-org/languagetool) check with [reviewdog](https://github.com/reviewdog/reviewdog) on pull requests to improve code review experience. 14 | 15 | ## Input 16 | 17 | ```yaml 18 | inputs: 19 | github_token: 20 | description: 'GITHUB_TOKEN' 21 | default: '${{ github.token }}' 22 | ### Flags for reviewdog ### 23 | level: 24 | description: 'Report level for reviewdog [info,warning,error]' 25 | default: 'error' 26 | reporter: 27 | description: 'Reporter of reviewdog command [github-pr-check,github-pr-review].' 28 | default: 'github-pr-check' 29 | ### Flags for target file ### 30 | patterns: 31 | description: 'Space separated target file glob patterns. https://github.com/haya14busa/ghglob' 32 | default: '**/*.md **/*.txt' 33 | ### Flags for LanguageTool ### 34 | # Ref: https://languagetool.org/http-api/swagger-ui/#!/default/post_check 35 | language: 36 | description: 'language of LanguageTool' 37 | default: 'en-US' 38 | enabled_rules: 39 | description: 'comma separeted enabledRules of LanguageTool' 40 | disabled_rules: 41 | description: 'comma separeted disabledRules of LanguageTool' 42 | default: 'WHITESPACE_RULE,EN_QUOTES,DASH_RULE,WORD_CONTAINS_UNDERSCORE,UPPERCASE_SENTENCE_START,ARROWS,COMMA_PARENTHESIS_WHITESPACE,UNLIKELY_OPENING_PUNCTUATION,SENTENCE_WHITESPACE,CURRENCY,EN_UNPAIRED_BRACKETS,PHRASE_REPETITION,PUNCTUATION_PARAGRAPH_END,METRIC_UNITS_EN_US,ENGLISH_WORD_REPEAT_BEGINNING_RULE' 43 | enabled_categories: 44 | description: 'comma separeted enabledCategories of LanguageTool' 45 | disabled_categories: 46 | description: 'comma separeted disabledCategories of LanguageTool' 47 | default: 'TYPOS' 48 | enabled_only: 49 | description: 'enabledOnly of LanguageTool' 50 | default: 'false' 51 | custom_api_endpoint: 52 | description: 'Custom API endpoint of LanguageTool server. e.g. https://languagetool.org/api' 53 | default: '' 54 | ``` 55 | 56 | ## Usage 57 | 58 | ```yaml 59 | name: reviewdog 60 | on: [pull_request] 61 | jobs: 62 | linter_name: 63 | name: runner / 64 | runs-on: ubuntu-latest 65 | steps: 66 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 67 | - uses: reviewdog/action-languagetool@ea19c757470ce0dbfcbc34aec090317cef1ff0b5 # v1.22.0 68 | with: 69 | github_token: ${{ secrets.github_token }} 70 | # Change reviewdog reporter if you need [github-pr-check,github-check,github-pr-review]. 71 | reporter: github-pr-review 72 | # Change reporter level if you need. 73 | level: info 74 | ``` 75 | 76 | ## Development 77 | 78 | ### Release 79 | 80 | #### [haya14busa/action-bumpr](https://github.com/haya14busa/action-bumpr) 81 | You can bump version on merging Pull Requests with specific labels (bump:major,bump:minor,bump:patch). 82 | Pushing tag manually by yourself also work. 83 | 84 | #### [haya14busa/action-update-semver](https://github.com/haya14busa/action-update-semver) 85 | 86 | This action updates major/minor release tags on a tag push. e.g. Update v1 and v1.2 tag when released v1.2.3. 87 | ref: https://help.github.com/en/articles/about-actions#versioning-your-action 88 | 89 | ### Lint - reviewdog integration 90 | 91 | This reviewdog action template itself is integrated with reviewdog to run lints 92 | which is useful for Docker container based actions. 93 | 94 | ![reviewdog integration](https://user-images.githubusercontent.com/3797062/72735107-7fbb9600-3bde-11ea-8087-12af76e7ee6f.png) 95 | 96 | Supported linters: 97 | 98 | - [reviewdog/action-shellcheck](https://github.com/reviewdog/action-shellcheck) 99 | - [reviewdog/action-hadolint](https://github.com/reviewdog/action-hadolint) 100 | - [reviewdog/action-misspell](https://github.com/reviewdog/action-misspell) 101 | 102 | ### Dependencies Update Automation 103 | This repository uses [haya14busa/action-depup](https://github.com/haya14busa/action-depup) to update 104 | reviewdog version. 105 | 106 | [![reviewdog depup demo](https://user-images.githubusercontent.com/3797062/73154254-170e7500-411a-11ea-8211-912e9de7c936.png)](https://github.com/reviewdog/action-template/pull/6) 107 | 108 | -------------------------------------------------------------------------------- /.github/workflows/depup.yml: -------------------------------------------------------------------------------- 1 | name: depup 2 | on: 3 | schedule: 4 | - cron: '14 14 * * *' # Runs at 14:14 UTC every day 5 | repository_dispatch: 6 | types: [depup] 7 | 8 | jobs: 9 | reviewdog: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 13 | - uses: haya14busa/action-depup@94a1aaf4e4923064019214b48a43276218af7ad5 # v1.6.4 14 | id: depup 15 | with: 16 | file: Dockerfile 17 | version_name: REVIEWDOG_VERSION 18 | repo: reviewdog/reviewdog 19 | 20 | - name: Create Pull Request 21 | uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 22 | with: 23 | token: ${{ secrets.GITHUB_TOKEN }} 24 | title: "chore(deps): update reviewdog to ${{ steps.depup.outputs.latest }}" 25 | commit-message: "chore(deps): update reviewdog to ${{ steps.depup.outputs.latest }}" 26 | body: | 27 | Update reviewdog to [v${{ steps.depup.outputs.latest }}](https://github.com/reviewdog/reviewdog/releases/tag/v${{ steps.depup.outputs.latest }}) 28 | Compare [v${{ steps.depup.outputs.current }}...v${{ steps.depup.outputs.latest }}](https://github.com/reviewdog/reviewdog/compare/v${{ steps.depup.outputs.current }}...v${{ steps.depup.outputs.latest }}) 29 | 30 | This PR is auto generated by [depup workflow](https://github.com/${{ github.repository }}/actions?query=workflow%3Adepup). 31 | branch: depup/reviewdog 32 | base: master 33 | labels: "bump:minor" 34 | 35 | tmpl: 36 | runs-on: ubuntu-latest 37 | steps: 38 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 39 | - uses: haya14busa/action-depup@94a1aaf4e4923064019214b48a43276218af7ad5 # v1.6.4 40 | id: depup 41 | with: 42 | file: Dockerfile 43 | version_name: TMPL_VERSION 44 | repo: haya14busa/tmpl 45 | 46 | - name: Create Pull Request 47 | uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 48 | with: 49 | token: ${{ secrets.GITHUB_TOKEN }} 50 | title: "chore(deps): update tmpl to ${{ steps.depup.outputs.latest }}" 51 | commit-message: "chore(deps): update tmpl to ${{ steps.depup.outputs.latest }}" 52 | body: | 53 | Update tmpl to [v${{ steps.depup.outputs.latest }}](https://github.com/haya14busa/tmpl/releases/tag/v${{ steps.depup.outputs.latest }}) 54 | Compare [v${{ steps.depup.outputs.current }}...v${{ steps.depup.outputs.latest }}](https://github.com/haya14busa/tmpl/compare/v${{ steps.depup.outputs.current }}...v${{ steps.depup.outputs.latest }}) 55 | 56 | This PR is auto generated by [depup workflow](https://github.com/${{ github.repository }}/actions?query=workflow%3Adepup). 57 | branch: depup/tmpl 58 | base: master 59 | labels: "bump:patch" 60 | 61 | offset: 62 | runs-on: ubuntu-latest 63 | steps: 64 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 65 | - uses: haya14busa/action-depup@94a1aaf4e4923064019214b48a43276218af7ad5 # v1.6.4 66 | id: depup 67 | with: 68 | file: Dockerfile 69 | version_name: OFFSET_VERSION 70 | repo: haya14busa/offset 71 | 72 | - name: Create Pull Request 73 | uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 74 | with: 75 | token: ${{ secrets.GITHUB_TOKEN }} 76 | title: "chore(deps): update offset to ${{ steps.depup.outputs.latest }}" 77 | commit-message: "chore(deps): update offset to ${{ steps.depup.outputs.latest }}" 78 | body: | 79 | Update offset to [v${{ steps.depup.outputs.latest }}](https://github.com/haya14busa/offset/releases/tag/v${{ steps.depup.outputs.latest }}) 80 | Compare [v${{ steps.depup.outputs.current }}...v${{ steps.depup.outputs.latest }}](https://github.com/haya14busa/offset/compare/v${{ steps.depup.outputs.current }}...v${{ steps.depup.outputs.latest }}) 81 | 82 | This PR is auto generated by [depup workflow](https://github.com/${{ github.repository }}/actions?query=workflow%3Adepup). 83 | branch: depup/offset 84 | base: master 85 | labels: "bump:patch" 86 | 87 | ghglob: 88 | runs-on: ubuntu-latest 89 | steps: 90 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 91 | - uses: haya14busa/action-depup@94a1aaf4e4923064019214b48a43276218af7ad5 # v1.6.4 92 | id: depup 93 | with: 94 | file: Dockerfile 95 | version_name: GHGLOB_VERSION 96 | repo: haya14busa/ghglob 97 | 98 | - name: Create Pull Request 99 | uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 100 | with: 101 | token: ${{ secrets.GITHUB_TOKEN }} 102 | title: "chore(deps): update ghglob to ${{ steps.depup.outputs.latest }}" 103 | commit-message: "chore(deps): update ghglob to ${{ steps.depup.outputs.latest }}" 104 | body: | 105 | Update ghglob to [v${{ steps.depup.outputs.latest }}](https://github.com/haya14busa/ghglob/releases/tag/v${{ steps.depup.outputs.latest }}) 106 | Compare [v${{ steps.depup.outputs.current }}...v${{ steps.depup.outputs.latest }}](https://github.com/haya14busa/ghglob/compare/v${{ steps.depup.outputs.current }}...v${{ steps.depup.outputs.latest }}) 107 | 108 | This PR is auto generated by [depup workflow](https://github.com/${{ github.repository }}/actions?query=workflow%3Adepup). 109 | branch: depup/ghglob 110 | base: master 111 | labels: "bump:patch" 112 | --------------------------------------------------------------------------------