├── .gitignore ├── .github ├── renovate.json └── workflows │ ├── reviewdog.yml │ ├── test.yml │ ├── depup.yml │ ├── arm-ttk │ └── action.yml │ └── release.yml ├── testdata └── mainTemplate.json ├── LICENSE ├── entrypoint.sh ├── SECURITY.md ├── action.yml └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Folders to ignore 2 | .vscode/ -------------------------------------------------------------------------------- /.github/renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "config:base" 4 | ], 5 | "labels": [ 6 | "bump:patch" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /testdata/mainTemplate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", 3 | "contentVersion": "1.0.0.0", 4 | "metadata": {}, 5 | "parameters": {}, 6 | "resources": [], 7 | "outputs": {} 8 | } 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 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 | -------------------------------------------------------------------------------- /entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -eu # Increase bash strictness 3 | shopt -s globstar # Enable globstar 4 | 5 | if [[ -n "${GITHUB_WORKSPACE}" ]]; then 6 | cd "${GITHUB_WORKSPACE}/${INPUT_WORKDIR}" || exit 7 | fi 8 | 9 | export REVIEWDOG_GITHUB_API_TOKEN="${INPUT_GITHUB_TOKEN}" 10 | 11 | export REVIEWDOG_VERSION=v0.14.1 12 | 13 | echo "[action-armttk] Installing reviewdog..." 14 | wget -O - -q https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh | sh -s -- -b /tmp "${REVIEWDOG_VERSION}" 15 | 16 | echo "[action-armttk] Checking armttk output with reviewdog..." 17 | exit_val="0" 18 | 19 | echo ./armttk.xml 2>&1 | # Removes ansi codes see https://github.com/reviewdog/errorformat/issues/51 20 | /tmp/reviewdog -efm="%f:%l:%c: %m" \ 21 | -name="${INPUT_TOOL_NAME}" \ 22 | -reporter="${INPUT_REPORTER}" \ 23 | -filter-mode="${INPUT_FILTER_MODE}" \ 24 | -fail-on-error="${INPUT_FAIL_ON_ERROR}" \ 25 | -level="${INPUT_LEVEL}" \ 26 | "${INPUT_REVIEWDOG_FLAGS}" || exit_val="$?" 27 | 28 | echo "[action-armttk] Clean up reviewdog..." 29 | rm /tmp/reviewdog 30 | 31 | if [[ "${exit_val}" -ne '0' ]]; then 32 | exit 1 33 | fi 34 | -------------------------------------------------------------------------------- /.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@v2 13 | - uses: haya14busa/action-cond@v1 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@v1 20 | with: 21 | github_token: ${{ secrets.github_token }} 22 | reporter: ${{ steps.reporter.outputs.value }} 23 | level: warning 24 | 25 | misspell: 26 | name: runner / misspell 27 | runs-on: ubuntu-latest 28 | steps: 29 | - uses: actions/checkout@v2 30 | - uses: reviewdog/action-misspell@v1 31 | with: 32 | github_token: ${{ secrets.github_token }} 33 | reporter: github-check 34 | level: warning 35 | locale: "US" 36 | 37 | alex: 38 | name: runner / alex 39 | runs-on: ubuntu-latest 40 | steps: 41 | - uses: actions/checkout@v2 42 | - uses: reviewdog/action-alex@v1 43 | with: 44 | github_token: ${{ secrets.github_token }} 45 | reporter: github-check 46 | level: warning 47 | -------------------------------------------------------------------------------- /.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 / armttk (github-check) 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v2 13 | - uses: ./ 14 | with: 15 | github_token: ${{ secrets.github_token }} 16 | reporter: github-check 17 | level: info 18 | workdir: ./testdata/ 19 | 20 | test-pr-check: 21 | if: github.event_name == 'pull_request' 22 | name: runner / armttk (github-pr-check) 23 | runs-on: ubuntu-latest 24 | steps: 25 | - uses: actions/checkout@v2 26 | - uses: ./ 27 | with: 28 | github_token: ${{ secrets.github_token }} 29 | reporter: github-pr-check 30 | level: warning 31 | workdir: ./testdata/ 32 | 33 | test-pr-review: 34 | if: github.event_name == 'pull_request' 35 | name: runner / armttk (github-pr-review) 36 | runs-on: ubuntu-latest 37 | steps: 38 | - uses: actions/checkout@v2 39 | - uses: ./ 40 | with: 41 | github_token: ${{ secrets.github_token }} 42 | reporter: github-pr-review 43 | level: error 44 | reviewdog_flags: -filter-mode=file # -fail-on-error # NOTE: Disabled due to bug https://github.com/reviewdog/reviewdog/issues/848 45 | workdir: ./testdata/ 46 | -------------------------------------------------------------------------------- /.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 | workflow_dispatch: 8 | 9 | jobs: 10 | reviewdog: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v2 14 | - uses: reviewdog/action-depup@v1 15 | id: depup 16 | with: 17 | file: Dockerfile 18 | version_name: REVIEWDOG_VERSION 19 | repo: reviewdog/reviewdog 20 | 21 | - name: Create Pull Request 22 | uses: peter-evans/create-pull-request@v3 23 | with: 24 | token: ${{ secrets.GITHUB_TOKEN }} 25 | title: "chore(deps): update reviewdog to ${{ steps.depup.outputs.latest }}" 26 | commit-message: "chore(deps): update reviewdog to ${{ steps.depup.outputs.latest }}" 27 | body: | 28 | Update reviewdog to [v${{ steps.depup.outputs.latest }}](https://github.com/reviewdog/reviewdog/releases/tag/v${{ steps.depup.outputs.latest }}) 29 | 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 }}) 30 | 31 | This PR is auto generated by [depup workflow](https://github.com/${{ github.repository }}/actions?query=workflow%3Adepup). 32 | branch: depup/reviewdog 33 | base: master 34 | labels: "bump:minor" 35 | -------------------------------------------------------------------------------- /.github/workflows/arm-ttk/action.yml: -------------------------------------------------------------------------------- 1 | # Copyright (c) Microsoft Corporation. All rights reserved. 2 | # Licensed under the MIT License. 3 | name: ARM-TTK 4 | 5 | on: 6 | workflow_call: 7 | inputs: 8 | bicepFile: 9 | description: 'Name of Bicep File to build' 10 | default: 'mainTemplate.bicep' 11 | required: false 12 | type: string 13 | workingPath: 14 | description: 'Path to input Bicep file' 15 | default: '.' 16 | required: false 17 | type: string 18 | armttkVersion: 19 | type: choice 20 | description: Version of ARM-TTK to use 21 | default: 'aka.ms/arm-ttk-latest' 22 | options: 23 | - aka.ms/arm-ttk-latest 24 | - aka.ms/arm-ttk-marketplace 25 | 26 | jobs: 27 | ARMTTK: 28 | runs-on: ubuntu-latest 29 | steps: 30 | - name: Checkout 31 | uses: actions/checkout@v3 32 | - run: az bicep build --file "$bicepFilePath" --outfile "$outputFilePath" > bicep.txt 33 | shell: bash 34 | env: 35 | bicepFilePath: "${{ inputs.workingPath }}/${{ inputs.bicepFile }}" 36 | outputFilePath: "${{ inputs.workingPath }}/mainTemplate.json" 37 | - name: Publish Bicep Compile Results 38 | uses: actions/upload-artifact@v3 39 | with: 40 | name: BicepResults 41 | path: ./bicep.txt 42 | if: always() 43 | - name: Run ARM-TTK 44 | uses: microsoft/action-armttk@0.0.2 45 | with: 46 | workdir: ${{ inputs.workingPath }} 47 | armttkVersion: aka.ms/arm-ttk-marketplace 48 | -------------------------------------------------------------------------------- /.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@v2 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@v1 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@v1 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@v1 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 | - uses: shogo82148/actions-create-release@v1 42 | if: "steps.tag.outputs.value != ''" 43 | with: 44 | # This token is provided by Actions, you do not need to create your own token 45 | github_token: ${{ secrets.GITHUB_TOKEN }} 46 | tag_name: ${{ steps.tag.outputs.value }} 47 | release_name: Release ${{ steps.tag.outputs.value }} 48 | body: ${{ steps.bumpr.outputs.message }} 49 | draft: false 50 | prerelease: false 51 | 52 | release-check: 53 | if: github.event.action == 'labeled' 54 | runs-on: ubuntu-latest 55 | steps: 56 | - uses: actions/checkout@v2 57 | - name: Post bumpr status comment 58 | uses: haya14busa/action-bumpr@v1 59 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Security 4 | 5 | Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). 6 | 7 | If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below. 8 | 9 | ## Reporting Security Issues 10 | 11 | **Please do not report security vulnerabilities through public GitHub issues.** 12 | 13 | Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report). 14 | 15 | If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey). 16 | 17 | You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). 18 | 19 | Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: 20 | 21 | * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) 22 | * Full paths of source file(s) related to the manifestation of the issue 23 | * The location of the affected source code (tag/branch/commit or direct URL) 24 | * Any special configuration required to reproduce the issue 25 | * Step-by-step instructions to reproduce the issue 26 | * Proof-of-concept or exploit code (if possible) 27 | * Impact of the issue, including how an attacker might exploit the issue 28 | 29 | This information will help us triage your report more quickly. 30 | 31 | If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs. 32 | 33 | ## Preferred Languages 34 | 35 | We prefer all communications to be in English. 36 | 37 | ## Policy 38 | 39 | Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd). 40 | 41 | 42 | -------------------------------------------------------------------------------- /action.yml: -------------------------------------------------------------------------------- 1 | name: "Run ARM-TTK with reviewdog" 2 | description: "🐶 Run ARM-TTK with reviewdog on pull requests to improve code review experience." 3 | author: "dciborow" 4 | inputs: 5 | github_token: 6 | description: "GITHUB_TOKEN" 7 | required: true 8 | default: "${{ github.token }}" 9 | workdir: 10 | description: "Working directory relative to the root directory." 11 | required: false 12 | default: "." 13 | glob_pattern: 14 | description: "Glob pattern of the files to lint" 15 | required: false 16 | default: "." 17 | ### Flags for reviewdog ### 18 | tool_name: 19 | description: "Tool name to use for reviewdog reporter." 20 | required: false 21 | default: "armttk" 22 | level: 23 | description: "Report level for reviewdog [info,warning,error]" 24 | required: false 25 | default: "error" 26 | reporter: 27 | description: "Reporter of reviewdog command [github-pr-check,github-pr-review]." 28 | required: false 29 | default: "github-pr-check" 30 | filter_mode: 31 | description: | 32 | Filtering mode for the reviewdog command [added,diff_context,file,nofilter]. 33 | Default is added. 34 | required: false 35 | default: "added" 36 | fail_on_error: 37 | description: | 38 | Exit code for reviewdog when errors are found [true,false] 39 | Default is `false`. 40 | required: false 41 | default: "false" 42 | reviewdog_flags: 43 | description: "Additional reviewdog flags" 44 | required: false 45 | default: "" 46 | armttkVersion: 47 | type: choice 48 | description: Version of ARM-TTK to use 49 | default: 'aka.ms/arm-ttk-latest' 50 | options: 51 | - aka.ms/arm-ttk-latest 52 | - aka.ms/arm-ttk-marketplace 53 | runs: 54 | using: "composite" 55 | steps: 56 | - name: Run ARM-TTK 57 | shell: pwsh 58 | run: | 59 | Install-Module -Name Pester -RequiredVersion 4.10.1 -Force 60 | Import-Module -Name Pester -RequiredVersion 4.10.1 -Force 61 | Invoke-WebRequest -Uri ${{ inputs.armttkVersion }} -OutFile arm-template-toolkit.zip 62 | Expand-Archive -LiteralPath arm-template-toolkit.zip -DestinationPath arm-ttk 63 | Import-Module ./arm-ttk/arm-ttk/arm-ttk.psd1 64 | echo "Test-AzTemplate -TemplatePath ${{ inputs.workdir }} -Pester -Skip Secure-Params-In-Nested-Deployments" | Out-File -FilePath ./armttk.ps1 65 | Invoke-Pester -Script ./armttk.ps1 -EnableExit -OutputFormat NUnitXml -OutputFile ./armttk.xml 66 | - name: Publish Test Results 67 | uses: actions/upload-artifact@v3 68 | with: 69 | name: ARMTTKResults 70 | path: ./armttk.xml 71 | if: ${{ always() }} 72 | - run: $GITHUB_ACTION_PATH/entrypoint.sh 73 | shell: bash 74 | if: ${{ always() }} 75 | env: 76 | INPUT_WORKDIR: ${{ inputs.workdir }} 77 | INPUT_GITHUB_TOKEN: ${{ inputs.github_token }} 78 | INPUT_TOOL_NAME: ${{ inputs.tool_name }} 79 | INPUT_LEVEL: ${{ inputs.level }} 80 | INPUT_REPORTER: ${{ inputs.reporter }} 81 | INPUT_FILTER_MODE: ${{ inputs.filter_mode }} 82 | INPUT_FAIL_ON_ERROR: ${{ inputs.fail_on_error }} 83 | INPUT_REVIEWDOG_FLAGS: ${{ inputs.reviewdog_flags }} 84 | INPUT_GLOB_PATTERN: ${{ inputs.glob_pattern }} 85 | 86 | # Ref: https://haya14busa.github.io/github-action-brandings/ 87 | branding: 88 | icon: "check" 89 | color: "blue" 90 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # action-armttk - Preview/In-Progress 2 | 3 | [![Test](https://github.com/microsoft/action-armttk/workflows/Test/badge.svg)](https://github.com/microsoft/action-armttk/actions?query=workflow%3ATest) 4 | [![reviewdog](https://github.com/microsoft/action-armttk/workflows/reviewdog/badge.svg)](https://github.com/microsoft/action-armttk/actions?query=workflow%3Areviewdog) 5 | [![depup](https://github.com/microsoft/action-armttk/workflows/depup/badge.svg)](https://github.com/microsoft/action-pylint/actions?query=workflow%3Adepup) 6 | [![release](https://github.com/microsoft/action-armttk/workflows/release/badge.svg)](https://github.com/microsoft/action-armttk/actions?query=workflow%3Arelease) 7 | [![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/microsoft/action-armttk?logo=github&sort=semver)](https://github.com/microsoft/action-armttk/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 | This repo contains a action to run [armttk](https://github.com/azure/armttk). 11 | 12 | ## Quick Start 13 | Use this predefined workflow to quickly get started using this GitHub Action. 14 | 15 | ```yaml 16 | name: On pull request 17 | 18 | on: 19 | pull_request: 20 | branches: 21 | - main 22 | 23 | jobs: 24 | validate-module-files-with-armttk: 25 | uses: microsoft/action-armttk/.github/workflows/arm-ttk@0.0.5 26 | with: 27 | bicepFile: main.bicep 28 | workingPath: . 29 | ``` 30 | 31 | ## Input 32 | 33 | ```yaml 34 | inputs: 35 | github_token: 36 | description: "GITHUB_TOKEN" 37 | required: true 38 | default: "${{ github.token }}" 39 | workdir: 40 | description: "Working directory relative to the root directory." 41 | required: false 42 | default: "." 43 | glob_pattern: 44 | description: "Glob pattern of the files to lint" 45 | required: false 46 | default: "." 47 | ### Flags for reviewdog ### 48 | tool_name: 49 | description: "Tool name to use for reviewdog reporter." 50 | required: false 51 | default: "armttk" 52 | level: 53 | description: "Report level for reviewdog [info,warning,error]" 54 | required: false 55 | default: "error" 56 | reporter: 57 | description: "Reporter of reviewdog command [github-pr-check,github-pr-review]." 58 | required: false 59 | default: "github-pr-check" 60 | filter_mode: 61 | description: | 62 | Filtering mode for the reviewdog command [added,diff_context,file,nofilter]. 63 | Default is added. 64 | required: false 65 | default: "added" 66 | fail_on_error: 67 | description: | 68 | Exit code for reviewdog when errors are found [true,false] 69 | Default is `false`. 70 | required: false 71 | default: "false" 72 | reviewdog_flags: 73 | description: "Additional reviewdog flags" 74 | required: false 75 | default: "" 76 | armttkVersion: 77 | description: latest or marketplace version of ARM-TTK 78 | ``` 79 | 80 | ## Usage 81 | 82 | ```yaml 83 | name: reviewdog 84 | on: [pull_request] 85 | jobs: 86 | armttk: 87 | name: runner / armttk 88 | runs-on: ubuntu-latest 89 | steps: 90 | - uses: actions/checkout@v2 91 | - uses: microsoft/action-armttk@v1 92 | with: 93 | github_token: ${{ secrets.github_token }} 94 | # Change reviewdog reporter if you need [github-pr-check,github-check,github-pr-review]. 95 | reporter: github-pr-review 96 | # Change reporter level if you need. 97 | # GitHub Status Check won't become failure with warning. 98 | level: warning 99 | glob_pattern: "**/*.json" 100 | ``` 101 | 102 | ## Development 103 | 104 | ### Release 105 | 106 | #### [haya14busa/action-bumpr](https://github.com/haya14busa/action-bumpr) 107 | You can bump version on merging Pull Requests with specific labels (bump:major,bump:minor,bump:patch). 108 | Pushing tag manually by yourself also work. 109 | 110 | #### [haya14busa/action-update-semver](https://github.com/haya14busa/action-update-semver) 111 | 112 | This action updates major/minor release tags on a tag push. e.g. Update v1 and v1.2 tag when released v1.2.3. 113 | ref: https://help.github.com/en/articles/about-actions#versioning-your-action 114 | 115 | ### Lint - reviewdog integration 116 | 117 | This reviewdog action template itself is integrated with reviewdog to run lints 118 | which is useful for Docker container based actions. 119 | 120 | ![reviewdog integration](https://user-images.githubusercontent.com/3797062/72735107-7fbb9600-3bde-11ea-8087-12af76e7ee6f.png) 121 | 122 | Supported linters: 123 | 124 | - [reviewdog/action-shellcheck](https://github.com/reviewdog/action-shellcheck) 125 | - [reviewdog/action-hadolint](https://github.com/reviewdog/action-hadolint) 126 | - [reviewdog/action-misspell](https://github.com/reviewdog/action-misspell) 127 | 128 | ### Dependencies Update Automation 129 | 130 | This repository uses [reviewdog/action-depup](https://github.com/reviewdog/action-depup) to update 131 | reviewdog version. 132 | 133 | [![reviewdog depup demo](https://user-images.githubusercontent.com/3797062/73154254-170e7500-411a-11ea-8211-912e9de7c936.png)](https://github.com/reviewdog/action-template/pull/6) 134 | --------------------------------------------------------------------------------