Deployment preparation: Fraxtal root gauge factory (#117) #319
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 | |
env: | |
CI: true | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: ['*', '**/*'] | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up environment | |
uses: ./.github/actions/setup | |
- name: Lint | |
run: yarn lint | |
test-fork: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18.15 | |
- name: Cache | |
uses: actions/cache@v3 | |
id: cache | |
with: | |
path: '**/node_modules' | |
key: yarn-v1-${{ hashFiles('**/yarn.lock') }} | |
- name: Install | |
run: yarn --immutable | |
if: steps.cache.outputs.cache-hit != 'true' | |
- name: Forked Network Cache | |
# Hardhat caches node requests when working with forked networks (e.g. when querying contract code, storage, | |
# etc.) to save time in future runs. We cache this directory across runs. | |
# This cache action is special for a couple reasons, which originate from a) it not occupying much disk size, | |
# and b) the cache never being invalid (as past blockchain data is immutable). We therefore: | |
# - save the cache even on action failure (which may be caused due to a timeout), even if this could result in | |
# some wasted space. For this we use the always-upload-cache fork of the basic action. | |
# - use a different key on every single run, causing for the cache to always be saved. | |
# - use a wildcard as a restore key, which will cause all stored keys to match and the most recent one to be | |
# selected. | |
uses: pat-s/always-upload-cache@v3 | |
id: cache-forked-network | |
with: | |
path: 'src/helpers/.hardhat/cache/hardhat-network-fork/**' | |
key: hardhat-network-fork-${{ github.run_number }}-${{ github.run_attempt }} | |
restore-keys: | | |
hardhat-network-fork- | |
- name: Prepare Config | |
run: yarn ci:prepare-config | |
env: | |
MAINNET_RPC_ENDPOINT: ${{ secrets.MAINNET_RPC_ENDPOINT }} | |
POLYGON_RPC_ENDPOINT: ${{ secrets.POLYGON_RPC_ENDPOINT }} | |
ARBITRUM_RPC_ENDPOINT: ${{ secrets.ARBITRUM_RPC_ENDPOINT }} | |
OPTIMISM_RPC_ENDPOINT: ${{ secrets.OPTIMISM_RPC_ENDPOINT }} | |
BINANCE_RPC_ENDPOINT: ${{ secrets.BINANCE_RPC_ENDPOINT }} | |
GNOSIS_RPC_ENDPOINT: ${{ secrets.GNOSIS_RPC_ENDPOINT }} | |
AVALANCHE_RPC_ENDPOINT: ${{ secrets.AVALANCHE_RPC_ENDPOINT }} | |
ZKEVM_RPC_ENDPOINT: ${{ secrets.ZKEVM_RPC_ENDPOINT }} | |
BASE_RPC_ENDPOINT: ${{ secrets.BASE_RPC_ENDPOINT }} | |
FRAXTAL_RPC_ENDPOINT: ${{ secrets.FRAXTAL_RPC_ENDPOINT }} | |
MODE_RPC_ENDPOINT: ${{ secrets.MODE_RPC_ENDPOINT }} | |
SEPOLIA_RPC_ENDPOINT: ${{ secrets.SEPOLIA_RPC_ENDPOINT }} | |
- name: Test | |
run: yarn test --bail |