From 41e9465c7a977348ed47519a9ce624eb2fc98ace Mon Sep 17 00:00:00 2001 From: 0xtekgrinder <0xtekgrinder@protonmail.com> Date: Thu, 2 Nov 2023 09:18:55 -0400 Subject: [PATCH] chore: deep ci that runs every week --- .github/workflows/ci-deep.yml | 151 ++++++++++++++++++++++++++++++++++ .github/workflows/ci.yml | 2 - 2 files changed, 151 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/ci-deep.yml diff --git a/.github/workflows/ci-deep.yml b/.github/workflows/ci-deep.yml new file mode 100644 index 0000000..38ae5d9 --- /dev/null +++ b/.github/workflows/ci-deep.yml @@ -0,0 +1,151 @@ +name: "CI Deep" + +on: + schedule: + - cron: "0 3 * * 0" # at 3:00am UTC every Sunday + workflow_dispatch: + inputs: + fuzzRuns: + default: "100000" + description: "Unit: number of fuzz runs." + required: false + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: "yarn" + + - name: Install dependencies + run: yarn install + + - name: Run solhint + run: yarn lint:check + + - name: "Add lint summary" + run: | + echo "## Lint result" >> $GITHUB_STEP_SUMMARY + echo "✅ Passed" >> $GITHUB_STEP_SUMMARY + + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: "recursive" + + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: "yarn" + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Compile hardhat + run: yarn hardhat:compile + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + + - name: Compile foundry + run: yarn foundry:compile --sizes + + - name: "Cache the build so that it can be re-used by the other jobs" + uses: "actions/cache/save@v3" + with: + key: "build-${{ github.sha }}" + path: | + cache-forge + out + cache-hh + artifacts + typechain + node_modules + + - name: "Add build summary" + run: | + echo "## Build result" >> $GITHUB_STEP_SUMMARY + echo "✅ Passed" >> $GITHUB_STEP_SUMMARY + + hardhat-tests: + needs: ["build", "lint"] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: "yarn" + + - name: "Restore the cached build" + uses: "actions/cache/restore@v3" + with: + fail-on-cache-miss: true + key: "build-${{ github.sha }}" + path: | + cache-forge + out + cache-hh + artifacts + typechain + node_modules + + - run: export NODE_OPTIONS=--max_old_space_size=11264 + + - name: Run unit tests + run: yarn hardhat:test + env: + ENABLE_GAS_REPORT: true + CI: true + ETH_NODE_URI_ARBITRUM: ${{ secrets.ETH_NODE_URI_ARBITRUM }} + + - name: "Add test summary" + run: | + echo "## Hardhat Unit tests result" >> $GITHUB_STEP_SUMMARY + echo "✅ Passed" >> $GITHUB_STEP_SUMMARY + + foundry-tests: + needs: ["build", "lint"] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: "recursive" + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + + - name: "Restore the cached build" + uses: "actions/cache/restore@v3" + with: + fail-on-cache-miss: true + key: "build-${{ github.sha }}" + path: | + cache-forge + out + cache-hh + artifacts + typechain + node_modules + + - name: Run Foundry tests + run: yarn foundry:test + env: + ETH_NODE_URI_OPTIMISM: ${{ secrets.ETH_NODE_URI_OPTIMISM }} + FOUNDRY_FUZZ_RUNS: ${{ github.event.inputs.fuzzRuns }} + + - name: "Add test summary" + run: | + echo "## Foundry Unit tests result" >> $GITHUB_STEP_SUMMARY + echo "✅ Passed" >> $GITHUB_STEP_SUMMARY \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a67eff6..2ae5850 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -138,8 +138,6 @@ jobs: run: yarn foundry:test env: FOUNDRY_FUZZ_RUNS: "5000" - ENABLE_GAS_REPORT: true - CI: true ETH_NODE_URI_OPTIMISM: ${{ secrets.ETH_NODE_URI_OPTIMISM }} - name: "Add test summary"