docs: update title to eigencloud (#277) #1180
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: Devkit E2E Test | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: ["**"] | |
| permissions: | |
| contents: read | |
| env: | |
| FOUNDRY_PROFILE: ci | |
| L1_FORK_URL: ${{ secrets.L1_FORK_URL }} | |
| L2_FORK_URL: ${{ secrets.L2_FORK_URL }} | |
| jobs: | |
| e2e: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| submodules: recursive | |
| - name: Set up Go | |
| uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 | |
| with: | |
| go-version: "1.24" | |
| - name: Install Foundry | |
| uses: foundry-rs/foundry-toolchain@82dee4ba654bd2146511f85f0d013af94670c4de # v1.4.0 | |
| with: | |
| version: stable | |
| - name: Install devkit CLI | |
| run: make install | |
| - name: Add ~/bin to PATH | |
| run: echo "$HOME/bin" >> $GITHUB_PATH | |
| - name: Run devkit avs create | |
| run: devkit avs create my-awesome-avs | |
| - name: Verify AVS project created | |
| run: | | |
| if [ ! -f "./my-awesome-avs/config/config.yaml" ]; then | |
| echo "❌ AVS project config/config.yaml not found!" | |
| exit 1 | |
| fi | |
| echo "✅ AVS project created successfully at ${GITHUB_WORKSPACE}/my-awesome-avs/" | |
| - name: Run devkit avs build | |
| env: | |
| DOCKER_BUILDKIT: 1 | |
| run: | | |
| cd ./my-awesome-avs/ | |
| devkit avs build | |
| - name: Run devkit avs test | |
| run: | | |
| cd ./my-awesome-avs/ | |
| devkit avs test | |
| - name: Start devnet | |
| run: | | |
| cd ./my-awesome-avs/ | |
| devkit avs devnet start & | |
| # wait until executor and aggregator are available | |
| until nc -z localhost 9090 && nc -z localhost 8081; do | |
| sleep 1 | |
| done | |
| - name: Check devnet RPC is live | |
| run: | | |
| for i in {1..10}; do | |
| bn=$(cast block-number --rpc-url http://localhost:8545 || echo "error") | |
| if [ "$bn" != "error" ]; then | |
| echo "Current block number: $bn" | |
| exit 0 | |
| fi | |
| echo "Waiting for devnet... retrying in 2s" | |
| sleep 2 | |
| done | |
| echo "❌ Devnet failed to start" | |
| exit 1 | |
| - name: Call AVS and assert result is produced | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| cd ./my-awesome-avs/ | |
| # Stream stderr to log and capture to file | |
| devkit avs call -- signature="(uint256,string)" args='(5,"hello")' \ | |
| 1>/dev/null 2> >(tee call_stderr.log >&2) || true | |
| # Optional: normalize by stripping ANSI control codes | |
| sed -E 's/\x1B\[[0-9;]*[A-Za-z]//g' call_stderr.log > call_stderr.clean | |
| LOG="call_stderr.clean" | |
| # Fail fast on explicit timeout | |
| if grep -q "Timeout: TaskVerified() not seen" "$LOG"; then | |
| echo "❌ Timeout waiting for TaskVerified()" | |
| tail -n 200 "$LOG" || true | |
| exit 1 | |
| fi | |
| # Ensure success marker is present | |
| if ! grep -q "TaskVerified event received:" "$LOG"; then | |
| echo "❌ No 'TaskVerified event received' marker found" | |
| tail -n 200 "$LOG" || true | |
| exit 1 | |
| fi | |
| # Extract result bytes: " - result: 0x..." | |
| RESULT_BYTES="$(grep -m1 -E '^[[:space:]-]*TaskResult:' "$LOG" | sed 's/.*TaskResult:\s*//')" | |
| # Validate non-empty hex payload | |
| if [[ -z "${RESULT_BYTES}" ]] || ! [[ "${RESULT_BYTES}" =~ ^0x[0-9a-fA-F]*$ ]]; then | |
| echo "❌ Invalid or empty result bytes: '${RESULT_BYTES:-<empty>}'" | |
| tail -n 200 "$LOG" || true | |
| exit 1 | |
| fi | |
| echo "✅ Result received: ${RESULT_BYTES}" | |
| - name: Verify stake table roots | |
| run: | | |
| cd ./my-awesome-avs/ | |
| devkit avs transport verify | |
| - name: Set release metadata URI | |
| run: | | |
| cd ./my-awesome-avs/ | |
| # Set URI for operator set 0 | |
| devkit avs release uri \ | |
| --metadata-uri "https://github.com/example/metadata-0.json" \ | |
| --operator-set-id 0 | |
| echo "✅ Set metadata URI for operator set 0" | |
| # Set URI for operator set 1 | |
| devkit avs release uri \ | |
| --metadata-uri "https://github.com/example/metadata-1.json" \ | |
| --operator-set-id 1 | |
| echo "✅ Set metadata URI for operator set 1" | |
| - name: Stop devnet | |
| run: | | |
| cd ./my-awesome-avs/ | |
| devkit avs devnet stop |