Skip to content

Governance Checks #1474

Governance Checks

Governance Checks #1474

Workflow file for this run

name: Governance Checks
on:
schedule:
- cron: "0 */2 * * *"
push:
paths-ignore:
- "reports/**"
- "README.md"
branches:
- main
workflow_dispatch:
inputs:
type:
type: choice
options:
- proposal
- payload
default: proposal
chainId:
type: string
ids:
type: string
jobs:
generate-reports:
concurrency:
group: ${{ github.workflow }} ${{ inputs.type || 'proposal' }} ${{ inputs.chainId }} ${{ inputs.ids }}
name: Check all live proposals
runs-on: ubuntu-latest
env:
FOUNDRY_PROFILE: ci
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- uses: actions/setup-node@v3
with:
node-version: 20
cache: "yarn"
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Trigger
id: external-trigger
run: yarn start --type ${{ inputs.type || 'proposal' }} --chainId ${{ inputs.chainId }} --ids ${{ inputs.ids }}
if: ${{ github.event_name != 'schedule' }}
env:
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }}
RPC_MAINNET: ${{ secrets.RPC_MAINNET }}
RPC_POLYGON: ${{ secrets.RPC_POLYGON }}
RPC_AVALANCHE: ${{ secrets.RPC_AVALANCHE }}
RPC_OPTIMISM: ${{ secrets.RPC_OPTIMISM }}
RPC_ARBITRUM: ${{ secrets.RPC_ARBITRUM }}
RPC_BASE: ${{ secrets.RPC_BASE }}
RPC_GNOSIS: ${{ secrets.RPC_GNOSIS }}
RPC_BNB: ${{ secrets.RPC_BNB }}
RPC_SCROLL: ${{ secrets.RPC_SCROLL }}
TENDERLY_ACCESS_TOKEN: ${{ secrets.TENDERLY_ACCESS_TOKEN }}
TENDERLY_PROJECT_SLUG: ${{ secrets.TENDERLY_PROJECT_SLUG }}
TENDERLY_ACCOUNT: ${{ secrets.TENDERLY_ACCOUNT }}
- name: scheduled-all
id: all
run: yarn start --type ${{ inputs.type || 'proposal' }}
if: ${{ github.event_name == 'schedule' || inputs.ids == '' }}
env:
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }}
RPC_MAINNET: ${{ secrets.RPC_MAINNET }}
RPC_POLYGON: ${{ secrets.RPC_POLYGON }}
RPC_AVALANCHE: ${{ secrets.RPC_AVALANCHE }}
RPC_OPTIMISM: ${{ secrets.RPC_OPTIMISM }}
RPC_ARBITRUM: ${{ secrets.RPC_ARBITRUM }}
RPC_BASE: ${{ secrets.RPC_BASE }}
RPC_GNOSIS: ${{ secrets.RPC_GNOSIS }}
RPC_BNB: ${{ secrets.RPC_BNB }}
RPC_SCROLL: ${{ secrets.RPC_SCROLL }}
TENDERLY_ACCESS_TOKEN: ${{ secrets.TENDERLY_ACCESS_TOKEN }}
TENDERLY_PROJECT_SLUG: ${{ secrets.TENDERLY_PROJECT_SLUG }}
TENDERLY_ACCOUNT: ${{ secrets.TENDERLY_ACCOUNT }}
## metis has no tenderly support to we need to trigger the runs manually
- name: scheduled-metis
id: metis
run: yarn start --type payload --chainId 1088
if: ${{ github.event_name == 'schedule' || inputs.ids == '' }}
env:
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }}
RPC_MAINNET: ${{ secrets.RPC_MAINNET }}
RPC_POLYGON: ${{ secrets.RPC_POLYGON }}
RPC_AVALANCHE: ${{ secrets.RPC_AVALANCHE }}
RPC_OPTIMISM: ${{ secrets.RPC_OPTIMISM }}
RPC_ARBITRUM: ${{ secrets.RPC_ARBITRUM }}
RPC_BASE: ${{ secrets.RPC_BASE }}
RPC_GNOSIS: ${{ secrets.RPC_GNOSIS }}
RPC_BNB: ${{ secrets.RPC_BNB }}
RPC_SCROLL: ${{ secrets.RPC_SCROLL }}
TENDERLY_ACCESS_TOKEN: ${{ secrets.TENDERLY_ACCESS_TOKEN }}
TENDERLY_PROJECT_SLUG: ${{ secrets.TENDERLY_PROJECT_SLUG }}
TENDERLY_ACCOUNT: ${{ secrets.TENDERLY_ACCOUNT }}
## metis has no tenderly support to we need to trigger the runs manually
- name: scheduled-scroll
id: scroll
run: yarn start --type payload --chainId 534352
if: ${{ github.event_name == 'schedule' || inputs.ids == '' }}
env:
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }}
RPC_MAINNET: ${{ secrets.RPC_MAINNET }}
RPC_POLYGON: ${{ secrets.RPC_POLYGON }}
RPC_AVALANCHE: ${{ secrets.RPC_AVALANCHE }}
RPC_OPTIMISM: ${{ secrets.RPC_OPTIMISM }}
RPC_ARBITRUM: ${{ secrets.RPC_ARBITRUM }}
RPC_BASE: ${{ secrets.RPC_BASE }}
RPC_GNOSIS: ${{ secrets.RPC_GNOSIS }}
RPC_BNB: ${{ secrets.RPC_BNB }}
RPC_SCROLL: ${{ secrets.RPC_SCROLL }}
TENDERLY_ACCESS_TOKEN: ${{ secrets.TENDERLY_ACCESS_TOKEN }}
TENDERLY_PROJECT_SLUG: ${{ secrets.TENDERLY_PROJECT_SLUG }}
TENDERLY_ACCOUNT: ${{ secrets.TENDERLY_ACCOUNT }}
- name: check diff
run: |
if [[ -z $(git status -s) ]]
then
echo "tree is clean"
else
git config --global user.name 'Cache bot'
git config --global user.email 'cache-bot@bgdlabs.com'
git config --global pull.rebase true
git add .
git commit -am "fix(cache): automatic cache update :robot:"
git pull --rebase --autostash
git push
exit
fi
- name: Post to a Slack channel
id: slack
if: failure()
uses: slackapi/slack-github-action@v1.24.0
with:
# Slack channel id, channel name, or user id to post message.
# See also: https://api.slack.com/methods/chat.postMessage#channels
channel-id: "C068J77L8JG"
# For posting a rich message using Block Kit
payload: |
{
"text": "GitHub Action build result: ${{ job.status }}\n${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "GitHub Action build result: ${{ job.status }}\n${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
}
}
]
}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}