Skip to content

[CI] Add consensus breaking warning #6

[CI] Add consensus breaking warning

[CI] Add consensus breaking warning #6

Workflow file for this run

name: "Consensus Warn"
permissions: read-all
on:
pull_request:
jobs:
main:
permissions:
pull-requests: write # For reading the PR and posting comment
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: orijtech/consensuswarn@main
with:
# Available BaseApp roots: `go doc github.com/pokt-network/poktroll/app.App`
#
# TODO_CONSIDER: CURRENTLY MAY BE TOO VERBOSE. Consider removing functions that cause excessive noise or false positives.
#
# Critical consensus-related functions to monitor:
#
# PrepareProposal:
# Prepares a block proposal by selecting transactions to include in the block.
# A change here could affect what transactions are included in a block.
#
# ProcessProposal:
# Validates block proposals against consensus rules.
# Changes in this function could lead to consensus validation issues.
#
# FinalizeBlock:
# Finalizes the block by applying the transactions.
# This function is critical in ensuring that the block reaches consensus.
#
# Commit:
# Commits the application state after the block has been processed.
# Any changes here could impact state transitions and consensus.
#
# VerifyVoteExtension:
# Verifies extended votes in the consensus process (Tendermint).
# Any changes could directly impact vote verification in consensus.
#
# ExtendVote:
# Adds vote extensions in the consensus process (Tendermint).
# Modifies how votes are extended, critical in consensus mechanics.
#
# Less-critical but related functions to monitor:
#
# CheckTx:
# Validates transactions in the mempool. While not part of the core consensus,
# changes here can affect what gets included in blocks, which indirectly impacts consensus.
#
# InitChain:
# Called during chain initialization. Important for network upgrades or starting a new chain.
#
# StoreConsensusParams:
# Stores consensus parameters in the chain state.
# Changes here could affect how consensus parameters are handled or updated.
#
# SimDeliver:
# Simulates transaction delivery for gas estimation and simulation. Not directly involved in consensus,
# but changes here could affect how transactions are simulated and processed before being included in a block.
#
# SimTxFinalizeBlock:
# Simulates a finalized block for testing and debugging purposes.
# Less critical, but could be monitored for changes that may affect testing and simulation behavior.
roots: github.com/pokt-network/poktroll/app.App.PrepareProposal,github.com/pokt-network/poktroll/app.App.ProcessProposal,github.com/pokt-network/poktroll/app.App.FinalizeBlock,github.com/pokt-network/poktroll/app.App.Commit,github.com/pokt-network/poktroll/app.App.VerifyVoteExtension,github.com/pokt-network/poktroll/app.App.ExtendVote,github.com/pokt-network/poktroll/app.App.CheckTx,github.com/pokt-network/poktroll/app.App.InitChain,github.com/pokt-network/poktroll/app.App.StoreConsensusParams,github.com/pokt-network/poktroll/app.App.SimDeliver,github.com/pokt-network/poktroll/app.App.SimTxFinalizeBlock