feat(fuzz): persist worker corpus immediately #6192
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 MPP | |
| permissions: {} | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| workflow_dispatch: | |
| inputs: | |
| network: | |
| description: "Tempo network to check" | |
| required: true | |
| type: choice | |
| default: "moderato" | |
| options: | |
| - moderato | |
| - mainnet | |
| - all | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUSTC_WRAPPER: "sccache" | |
| jobs: | |
| mpp-check: | |
| # Skip on PRs from forks (only run for branches in foundry-rs/foundry, i.e. maintainer PRs). | |
| if: | | |
| github.event_name != 'pull_request' || | |
| github.event.pull_request.head.repo.full_name == github.repository | |
| runs-on: depot-ubuntu-latest | |
| timeout-minutes: 60 | |
| permissions: | |
| contents: read | |
| steps: | |
| # Checkout the repository | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # v1 | |
| with: | |
| toolchain: stable | |
| - uses: mozilla-actions/sccache-action@9e7fa8a12102821edf02ca5dbea1acd0f89a2696 # v0.0.10 | |
| # Build and install binaries | |
| - name: Build and install Foundry binaries | |
| run: | | |
| cargo build --profile dev --locked --bin forge --bin cast --bin anvil --bin chisel | |
| echo "${{ github.workspace }}/target/debug" >> "$GITHUB_PATH" | |
| - name: Restore bounded NanoUSD wallet | |
| if: | | |
| github.event_name == 'workflow_dispatch' && | |
| (inputs.network == 'mainnet' || inputs.network == 'all') | |
| env: | |
| TEMPO_ACCOUNTS_STORE_JSON_B64: ${{ secrets.TEMPO_ACCOUNTS_STORE_JSON_B64 }} | |
| TEMPO_HOME: ${{ runner.temp }}/tempo-mpp-mainnet | |
| run: | | |
| if [ -z "$TEMPO_ACCOUNTS_STORE_JSON_B64" ]; then | |
| echo "TEMPO_ACCOUNTS_STORE_JSON_B64 is not configured" | |
| exit 1 | |
| fi | |
| mkdir -p "$TEMPO_HOME/wallet" | |
| printf '%s' "$TEMPO_ACCOUNTS_STORE_JSON_B64" | base64 --decode > "$TEMPO_HOME/wallet/store.json" | |
| chmod 600 "$TEMPO_HOME/wallet/store.json" | |
| - name: Run Moderato MPP e2e test | |
| if: | | |
| github.event_name != 'workflow_dispatch' || | |
| inputs.network == 'moderato' || | |
| inputs.network == 'all' | |
| env: | |
| MPP_API_KEY: ${{ secrets.MPP_API_KEY }} | |
| MPP_ALLOW_API_KEY: "1" | |
| TEMPO_HOME: ${{ runner.temp }}/tempo-mpp-moderato | |
| TEMPO_AUTO_FUND: "1" | |
| TEMPO_ROTATE_WALLET: "1" | |
| MPP_RPC_URL: https://rpc.mpp.moderato.tempo.xyz | |
| TEMPO_RPC_URL: https://rpc.moderato.tempo.xyz | |
| MPP_TOKEN: "0x20c0000000000000000000000000000000000000" | |
| run: ./.github/scripts/tempo-mpp.sh "$(which cast | xargs dirname)" | |
| - name: Run mainnet MPP e2e test | |
| if: | | |
| github.event_name == 'workflow_dispatch' && | |
| (inputs.network == 'mainnet' || inputs.network == 'all') | |
| env: | |
| TEMPO_HOME: ${{ runner.temp }}/tempo-mpp-mainnet | |
| MPP_RPC_URL: https://rpc.mpp.tempo.xyz | |
| TEMPO_RPC_URL: https://rpc.tempo.xyz | |
| MPP_TOKEN: "0x20c0000000000000000000008b4c619d2eedec7a" | |
| run: ./.github/scripts/tempo-mpp.sh "$(which cast | xargs dirname)" |