update version #7
This file contains hidden or 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: | |
| env: | |
| FOUNDRY_PROFILE: ci | |
| jobs: | |
| check: | |
| name: Build and Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install Foundry | |
| uses: foundry-rs/foundry-toolchain@v1 | |
| with: | |
| version: nightly-828441d243f552f82c5a89bdc818e52bdd57b26b | |
| - name: Show Forge version | |
| run: | | |
| forge --version | |
| - name: Run Forge fmt | |
| run: | | |
| forge fmt --check | |
| id: fmt | |
| continue-on-error: false | |
| - name: Run Forge build | |
| run: | | |
| forge build --sizes | |
| id: build | |
| - name: Run Forge tests (without fork) | |
| run: | | |
| forge test -vvv | |
| id: test | |
| - name: Generate gas report | |
| run: | | |
| forge test --gas-report | |
| id: gas-report | |
| continue-on-error: true | |
| fork-tests: | |
| name: Fork Tests (Mainnet) | |
| runs-on: ubuntu-latest | |
| # Run fork tests only on main branch or manual trigger to save CI time | |
| if: github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install Foundry | |
| uses: foundry-rs/foundry-toolchain@v1 | |
| with: | |
| version: nightly-828441d243f552f82c5a89bdc818e52bdd57b26b | |
| - name: Run Fork Tests - Oracle Validation | |
| run: | | |
| forge test \ | |
| --match-test testSwapMultipleEthPairs \ | |
| --fork-url https://ethereum-rpc.publicnode.com \ | |
| --fork-block-number 23620206 \ | |
| -vv | |
| id: fork-test | |
| continue-on-error: true | |
| env: | |
| # Use public RPC for CI - may be rate limited but sufficient for testing | |
| ETH_RPC_URL: https://ethereum-rpc.publicnode.com | |
| - name: Run Fork Tests - Liquidity Validation | |
| run: | | |
| forge test \ | |
| --match-test testLiquidityValidation \ | |
| --fork-url https://ethereum-rpc.publicnode.com \ | |
| --fork-block-number 23620206 \ | |
| -vv | |
| id: liquidity-test | |
| continue-on-error: true | |
| - name: Fork Tests Summary | |
| if: always() | |
| run: | | |
| echo "## Fork Test Results" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "Fork tests may fail due to public RPC rate limits." >> $GITHUB_STEP_SUMMARY | |
| echo "For reliable fork testing, run locally with: \`./test_fork.sh\`" >> $GITHUB_STEP_SUMMARY |