[Workflow] Enforce TODO_UPNEXT
comments to have an associated username
#3520
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: reviewdog | |
on: | |
pull_request: | |
branches: ["main"] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }} | |
cancel-in-progress: true | |
jobs: | |
# Makes sure that comments like TODO_IN_THIS_PR or TODO_IN_THIS_COMMIT block | |
# merging to main. See https://github.com/pokt-network/action-fail-on-found | |
check_todo_in_this: | |
name: Check TODO_IN_THIS_ | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pokt-network/action-fail-on-found@v1 | |
with: | |
github_token: ${{ secrets.github_token }} | |
reporter: github-pr-review | |
level: error | |
fail_on_error: true | |
pattern: TODO_IN_THIS_|TODO_THIS_ | |
# Makes sure that comments like TODO_UPNEXT prevent merging if there is | |
# no associated username right after. | |
# Example failure: TODO_UPNEXT: <do something> | |
# Example non-failure: TODO_UPNEXT(@olshansk): <do something> | |
# See https://github.com/pokt-network/action-fail-on-found | |
check_todo_upnext: | |
name: Check TODO_UPNEXT | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pokt-network/action-fail-on-found@v1 | |
with: | |
github_token: ${{ secrets.github_token }} | |
reporter: github-pr-review | |
level: error | |
fail_on_error: true | |
pattern: "TODO_UPNEXT:" | |
# Prevent the use of `sed` in helper scripts. This ensures compatibility across | |
# Darwin and Linux systems. | |
check_sed: | |
name: Check sed | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pokt-network/action-fail-on-found@v1 | |
with: | |
github_token: ${{ secrets.github_token }} | |
reporter: github-pr-review | |
level: error | |
fail_on_error: true | |
pattern: sed -i .* | |
# Ensure that we are using polylog (via logger.) instead of the golang's stdlib | |
# log package. | |
check_stdlog_in_off_chain_package: | |
name: Check stdlog in off-chain source code | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pokt-network/action-fail-on-found@v1 | |
with: | |
github_token: ${{ secrets.github_token }} | |
reporter: github-pr-review | |
level: error | |
fail_on_error: true | |
# Go stdlib `log` package import detector regex. | |
# See: https://regex101.com/r/CBEq1U/3. | |
pattern: import\s+(\(\n\s+)?[^\)]*"log" | |
# There are multiple ways to validate (at compile time) that a struct | |
# implements a certain interface. This check enforces a common practice. | |
check_non_standard_interface_implementations: | |
name: Check for non-standard interface implementation statements | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pokt-network/action-fail-on-found@v1 | |
with: | |
github_token: ${{ secrets.github_token }} | |
reporter: github-pr-review | |
level: error | |
fail_on_error: true | |
pattern: var _ .* = &.*{} | |
ignore: .github,.git | |
# More info: https://github.com/reviewdog/action-misspell | |
check_misspell: | |
name: Check misspelling | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: reviewdog/action-misspell@v1 | |
with: | |
github_token: ${{ secrets.github_token }} | |
reporter: github-check | |
level: warning | |
locale: "US" | |
# TODO_IMPROVE: Enforce using k.Logger() when logging in the `x/` directory code. |