Merge pull request #16 from VenusProtocol/feat/VEN-2208 #104
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 | |
# Hack to get around failing "ethereumjs-abi The remote archive doesn't match the expected checksum" error | |
run: YARN_CHECKSUM_BEHAVIOR=update yarn | |
- 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 hardhat:compile && yarn hardhat:coverage | |
- name: Code Coverage Report | |
uses: irongut/[email protected] | |
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 | |
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 | |
# Hack to get around failing "ethereumjs-abi The remote archive doesn't match the expected checksum" error | |
run: YARN_CHECKSUM_BEHAVIOR=update yarn | |
- name: Build | |
run: yarn build | |
- name: Verify deployments work | |
run: yarn 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 | |
# Hack to get around failing "ethereumjs-abi The remote archive doesn't match the expected checksum" error | |
run: YARN_CHECKSUM_BEHAVIOR=update yarn | |
- name: Export deployments | |
run: | | |
for NETWORK in bsctestnet bscmainnet ethereum sepolia opbnbtestnet opbnbmainnet; do | |
EXPORT=true yarn hardhat export --network ${NETWORK} --export ./deployments/${NETWORK}.json | |
jq -M '{name, chainId, addresses: .contracts | map_values(.address)}' ./deployments/${NETWORK}.json > ./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" |