From 491fffbfa1779e5d1d0cf2a9021d89cae8d3e05e Mon Sep 17 00:00:00 2001 From: Facu Spagnuolo Date: Mon, 19 Jun 2023 11:08:39 -0300 Subject: [PATCH] chore: implement GH CI workflows --- .github/actions/setup/action.yml | 20 +++++++++++++ .github/scripts/setup-hardhat-config.sh | 28 +++++++++++++++++++ .github/workflows/build.yml | 22 +++++++++++++++ .github/workflows/ci-authorizer.yml | 37 +++++++++++++++++++++++++ .github/workflows/ci-deployer.yml | 37 +++++++++++++++++++++++++ .github/workflows/ci-fee-controller.yml | 37 +++++++++++++++++++++++++ .github/workflows/ci-helpers.yml | 37 +++++++++++++++++++++++++ .github/workflows/ci-price-oracle.yml | 37 +++++++++++++++++++++++++ .github/workflows/ci-registry.yml | 37 +++++++++++++++++++++++++ .github/workflows/ci-smart-vault.yml | 37 +++++++++++++++++++++++++ .github/workflows/ci-tasks.yml | 37 +++++++++++++++++++++++++ 11 files changed, 366 insertions(+) create mode 100644 .github/actions/setup/action.yml create mode 100755 .github/scripts/setup-hardhat-config.sh create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/ci-authorizer.yml create mode 100644 .github/workflows/ci-deployer.yml create mode 100644 .github/workflows/ci-fee-controller.yml create mode 100644 .github/workflows/ci-helpers.yml create mode 100644 .github/workflows/ci-price-oracle.yml create mode 100644 .github/workflows/ci-registry.yml create mode 100644 .github/workflows/ci-smart-vault.yml create mode 100644 .github/workflows/ci-tasks.yml diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml new file mode 100644 index 00000000..74d64e44 --- /dev/null +++ b/.github/actions/setup/action.yml @@ -0,0 +1,20 @@ +name: Setup + +runs: + using: composite + steps: + - name: Install node + uses: actions/setup-node@v3 + with: + node-version: 16 + cache: yarn + - name: Cache + uses: actions/cache@v2 + id: cache + with: + path: '**/node_modules' + key: yarn-v1-${{ hashFiles('**/yarn.lock') }} + - name: Install + if: steps.cache.outputs.cache-hit != 'true' + shell: bash + run: yarn --prefer-offline \ No newline at end of file diff --git a/.github/scripts/setup-hardhat-config.sh b/.github/scripts/setup-hardhat-config.sh new file mode 100755 index 00000000..2ad588e4 --- /dev/null +++ b/.github/scripts/setup-hardhat-config.sh @@ -0,0 +1,28 @@ +#!/bin/sh +MAINNET_URL="$1" +POLYGON_URL="$2" +OPTIMISM_URL="$3" +ARBITRUM_URL="$4" +GNOSIS_URL="$5" +BSC_URL="$6" +FANTOM_URL="$7" +AVALANCHE_URL="$8" + +set -o errexit + +mkdir -p $HOME/.hardhat + +echo " +{ + \"networks\": { + \"mainnet\": { \"url\": \"${MAINNET_URL}\" }, + \"polygon\": { \"url\": \"${POLYGON_URL}\" }, + \"optimism\": { \"url\": \"${OPTIMISM_URL}\" }, + \"arbitrum\": { \"url\": \"${ARBITRUM_URL}\" }, + \"gnosis\": { \"url\": \"${GNOSIS_URL}\" }, + \"bsc\": { \"url\": \"${BSC_URL}\" }, + \"fantom\": { \"url\": \"${FANTOM_URL}\" }, + \"avalanche\": { \"url\": \"${AVALANCHE_URL}\" } + } +} +" > $HOME/.hardhat/networks.mimic.json diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..821d2534 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,22 @@ +name: Build + +env: + CI: true + +on: + push: + branches: "*" + pull_request: + branches: "*" + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Build + run: yarn build + diff --git a/.github/workflows/ci-authorizer.yml b/.github/workflows/ci-authorizer.yml new file mode 100644 index 00000000..c6254c1c --- /dev/null +++ b/.github/workflows/ci-authorizer.yml @@ -0,0 +1,37 @@ +name: Authorizer CI + +env: + CI: true + +on: + push: + branches: "*" + paths: + - packages/authorizer/** + pull_request: + branches: "*" + paths: + - packages/authorizer/** + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Lint + run: yarn workspace @mimic-fi/v3-authorizer lint + + + test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Test + run: yarn workspace @mimic-fi/v3-authorizer test + diff --git a/.github/workflows/ci-deployer.yml b/.github/workflows/ci-deployer.yml new file mode 100644 index 00000000..0901dfed --- /dev/null +++ b/.github/workflows/ci-deployer.yml @@ -0,0 +1,37 @@ +name: Deployer CI + +env: + CI: true + +on: + push: + branches: "*" + paths: + - packages/deployer/** + pull_request: + branches: "*" + paths: + - packages/deployer/** + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Lint + run: yarn workspace @mimic-fi/v3-deployer lint + + + test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Test + run: yarn workspace @mimic-fi/v3-deployer test + diff --git a/.github/workflows/ci-fee-controller.yml b/.github/workflows/ci-fee-controller.yml new file mode 100644 index 00000000..e84f26cc --- /dev/null +++ b/.github/workflows/ci-fee-controller.yml @@ -0,0 +1,37 @@ +name: Fee Controller CI + +env: + CI: true + +on: + push: + branches: "*" + paths: + - packages/fee-controller/** + pull_request: + branches: "*" + paths: + - packages/fee-controller/** + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Lint + run: yarn workspace @mimic-fi/v3-fee-controller lint + + + test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Test + run: yarn workspace @mimic-fi/v3-fee-controller test + diff --git a/.github/workflows/ci-helpers.yml b/.github/workflows/ci-helpers.yml new file mode 100644 index 00000000..838a5f87 --- /dev/null +++ b/.github/workflows/ci-helpers.yml @@ -0,0 +1,37 @@ +name: Helpers CI + +env: + CI: true + +on: + push: + branches: "*" + paths: + - packages/helpers/** + pull_request: + branches: "*" + paths: + - packages/helpers/** + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Lint + run: yarn workspace @mimic-fi/v3-helpers lint + + + test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Test + run: yarn workspace @mimic-fi/v3-helpers test + diff --git a/.github/workflows/ci-price-oracle.yml b/.github/workflows/ci-price-oracle.yml new file mode 100644 index 00000000..55d0b7a9 --- /dev/null +++ b/.github/workflows/ci-price-oracle.yml @@ -0,0 +1,37 @@ +name: Price Oracle CI + +env: + CI: true + +on: + push: + branches: "*" + paths: + - packages/price-oracle/** + pull_request: + branches: "*" + paths: + - packages/price-oracle/** + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Lint + run: yarn workspace @mimic-fi/v3-price-oracle lint + + + test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Test + run: yarn workspace @mimic-fi/v3-price-oracle test + diff --git a/.github/workflows/ci-registry.yml b/.github/workflows/ci-registry.yml new file mode 100644 index 00000000..7b7cde3f --- /dev/null +++ b/.github/workflows/ci-registry.yml @@ -0,0 +1,37 @@ +name: Registry CI + +env: + CI: true + +on: + push: + branches: "*" + paths: + - packages/registry/** + pull_request: + branches: "*" + paths: + - packages/registry/** + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Lint + run: yarn workspace @mimic-fi/v3-registry lint + + + test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Test + run: yarn workspace @mimic-fi/v3-registry test + diff --git a/.github/workflows/ci-smart-vault.yml b/.github/workflows/ci-smart-vault.yml new file mode 100644 index 00000000..097960ce --- /dev/null +++ b/.github/workflows/ci-smart-vault.yml @@ -0,0 +1,37 @@ +name: Smart Vault CI + +env: + CI: true + +on: + push: + branches: "*" + paths: + - packages/smart-vault/** + pull_request: + branches: "*" + paths: + - packages/smart-vault/** + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Lint + run: yarn workspace @mimic-fi/v3-smart-vault lint + + + test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Test + run: yarn workspace @mimic-fi/v3-smart-vault test + diff --git a/.github/workflows/ci-tasks.yml b/.github/workflows/ci-tasks.yml new file mode 100644 index 00000000..448bd1d2 --- /dev/null +++ b/.github/workflows/ci-tasks.yml @@ -0,0 +1,37 @@ +name: Tasks CI + +env: + CI: true + +on: + push: + branches: "*" + paths: + - packages/tasks/** + pull_request: + branches: "*" + paths: + - packages/tasks/** + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Lint + run: yarn workspace @mimic-fi/v3-tasks lint + + + test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Test + run: yarn workspace @mimic-fi/v3-tasks test +