From ed690a73ac91f3e41027892f322ba9469aff71ec Mon Sep 17 00:00:00 2001 From: 3alpha <15694175+3alpha@users.noreply.github.com> Date: Wed, 24 Jun 2026 17:55:17 +0200 Subject: [PATCH 1/2] ci: add tropibot repository_dispatch + metadata to sync-test, add attestation-test - sync-test.yml: add repository_dispatch trigger for tropibot-sync-test and forward pr_number, head_ref, sender metadata to the reusable workflow. - attestation-test.yml: new workflow that calls the reusable staking-attestation-test.yml with consensus_client hard-coded to teku and execution_client sourced from the dispatch payload or manual input. --- .github/workflows/attestation-test.yml | 23 +++++++++++++++++++++++ .github/workflows/sync-test.yml | 7 ++++++- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/attestation-test.yml diff --git a/.github/workflows/attestation-test.yml b/.github/workflows/attestation-test.yml new file mode 100644 index 0000000..5236ed6 --- /dev/null +++ b/.github/workflows/attestation-test.yml @@ -0,0 +1,23 @@ +name: Proof of Attestation + +on: + repository_dispatch: + types: [tropibot-attestation-test] + workflow_dispatch: + inputs: + execution_client: + description: "Execution Client" + required: true + type: choice + options: [geth, nethermind, besu, erigon, reth] + +jobs: + attestation-test: + uses: dappnode/workflows/.github/workflows/staking-attestation-test.yml@master + with: + consensus_client: "teku" + execution_client: ${{ github.event.client_payload.execution_client || inputs.execution_client || '' }} + pr_number: ${{ github.event.client_payload.pr_number || github.event.pull_request.number || '' }} + head_ref: ${{ github.event.client_payload.head_ref || github.event.pull_request.head.ref || github.ref_name }} + sender: ${{ github.event.client_payload.sender || github.event.pull_request.user.login || github.actor }} + secrets: inherit diff --git a/.github/workflows/sync-test.yml b/.github/workflows/sync-test.yml index 628fb68..038284a 100644 --- a/.github/workflows/sync-test.yml +++ b/.github/workflows/sync-test.yml @@ -1,6 +1,8 @@ name: Execution Client Sync Test on: + repository_dispatch: + types: [tropibot-sync-test] workflow_dispatch: inputs: execution_client: @@ -19,5 +21,8 @@ jobs: uses: dappnode/workflows/.github/workflows/staking-sync-test.yml@master with: consensus_client: "teku" - execution_client: ${{ inputs.execution_client || '' }} + execution_client: ${{ github.event.client_payload.execution_client || inputs.execution_client || '' }} + pr_number: ${{ github.event.client_payload.pr_number || github.event.pull_request.number || '' }} + head_ref: ${{ github.event.client_payload.head_ref || github.event.pull_request.head.ref || github.ref_name }} + sender: ${{ github.event.client_payload.sender || github.event.pull_request.user.login || github.actor }} secrets: inherit From 16f6d3a8475d90c48d286022799520e76c03bf4c Mon Sep 17 00:00:00 2001 From: 3alpha <15694175+3alpha@users.noreply.github.com> Date: Wed, 24 Jun 2026 18:41:25 +0200 Subject: [PATCH 2/2] ci: forward ipfs_hash to staker test reusable workflows Adds an optional workflow_dispatch input 'ipfs_hash' to sync-test and attestation-test, and forwards it (along with the existing client_payload fallback) to the reusable workflows. When provided, the reusable workflow prefers the supplied hash over the freshly built one. --- .github/workflows/attestation-test.yml | 6 ++++++ .github/workflows/sync-test.yml | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/.github/workflows/attestation-test.yml b/.github/workflows/attestation-test.yml index 5236ed6..04e2697 100644 --- a/.github/workflows/attestation-test.yml +++ b/.github/workflows/attestation-test.yml @@ -10,6 +10,11 @@ on: required: true type: choice options: [geth, nethermind, besu, erigon, reth] + ipfs_hash: + description: "Optional pre-built IPFS hash to test against" + required: false + type: string + default: "" jobs: attestation-test: @@ -20,4 +25,5 @@ jobs: pr_number: ${{ github.event.client_payload.pr_number || github.event.pull_request.number || '' }} head_ref: ${{ github.event.client_payload.head_ref || github.event.pull_request.head.ref || github.ref_name }} sender: ${{ github.event.client_payload.sender || github.event.pull_request.user.login || github.actor }} + ipfs_hash: ${{ github.event.client_payload.ipfs_hash || inputs.ipfs_hash || '' }} secrets: inherit diff --git a/.github/workflows/sync-test.yml b/.github/workflows/sync-test.yml index 038284a..e096598 100644 --- a/.github/workflows/sync-test.yml +++ b/.github/workflows/sync-test.yml @@ -10,6 +10,11 @@ on: required: true type: choice options: [geth, nethermind, besu, erigon, reth] + ipfs_hash: + description: "Optional pre-built IPFS hash to test against" + required: false + type: string + default: "" pull_request: branches: - "main" @@ -25,4 +30,5 @@ jobs: pr_number: ${{ github.event.client_payload.pr_number || github.event.pull_request.number || '' }} head_ref: ${{ github.event.client_payload.head_ref || github.event.pull_request.head.ref || github.ref_name }} sender: ${{ github.event.client_payload.sender || github.event.pull_request.user.login || github.actor }} + ipfs_hash: ${{ github.event.client_payload.ipfs_hash || inputs.ipfs_hash || '' }} secrets: inherit