Feat/keeper bot #65
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: CI | |
on: | |
push: | |
branches: [main, develop] | |
pull_request: | |
branches: [main, develop] | |
workflow_dispatch: | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v2 | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v2 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Install dependencies | |
run: yarn install | |
- name: Check linting of solidity and typescript | |
run: yarn lint | |
test: | |
name: Test | |
runs-on: ubuntu-22.04 | |
env: | |
NODE_OPTIONS: --max-old-space-size=4096 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Install deps | |
run: yarn | |
- name: Run hardhat compile and tests coverage | |
run: | | |
source .env.example | |
yarn workspace @venusprotocol/keeper-bot-contracts run hardhat:compile && yarn workspace @venusprotocol/keeper-bot-contracts run hardhat:coverage | |
- name: Code Coverage Report | |
uses: irongut/CodeCoverageSummary@v1.3.0 | |
continue-on-error: true | |
with: | |
filename: coverage/**/cobertura-coverage.xml | |
badge: true | |
fail_below_min: false | |
format: markdown | |
hide_branch_rate: false | |
hide_complexity: true | |
indicators: true | |
output: both | |
thresholds: "50 80" | |
- name: Add Coverage PR Comment | |
uses: marocchino/sticky-pull-request-comment@v2 | |
continue-on-error: true | |
if: github.event_name == 'pull_request' | |
with: | |
recreate: true | |
path: code-coverage-results.md | |
deploy: | |
name: Deploy | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v2 | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v2 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Install dependencies | |
run: yarn install | |
- name: Build | |
run: yarn workspace @venusprotocol/keeper-bot-contracts run build | |
- name: Verify deployments work | |
run: yarn workspace @venusprotocol/keeper-bot-contracts run hardhat deploy | |
export-deployments: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v2 | |
with: | |
ref: ${{ github.head_ref }} | |
token: ${{ secrets.VENUS_TOOLS_TOKEN }} | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v2 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Install dependencies | |
run: yarn install | |
- name: Export deployments | |
run: | | |
for NETWORK in bsctestnet bscmainnet ethereum sepolia; do | |
EXPORT=true yarn workspace @venusprotocol/keeper-bot-contracts run hardhat export --network ${NETWORK} --export ./deployments/${NETWORK}.json | |
jq -M '{name, chainId, addresses: .contracts | map_values(.address)}' ./packages/smart-contracts/deployments/${NETWORK}.json > ./packages/smart-contracts/deployments/${NETWORK}_addresses.json | |
done | |
yarn prettier | |
- uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: "feat: updating deployment files" | |
file_pattern: "deployments/*.json" |