feat: allow operatorSets to be registered from context #1113
Workflow file for this run
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 | |
| run: | | |
| cd ./my-awesome-avs/ | |
| devkit avs call -- signature="(uint256,string)" args='(5,"hello")' | |
| - 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 |