Skip to content

[Workflow] Enforce TODO_UPNEXT comments to have an associated username #3520

[Workflow] Enforce TODO_UPNEXT comments to have an associated username

[Workflow] Enforce TODO_UPNEXT comments to have an associated username #3520

Workflow file for this run

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.