From f71647d63bc93352110eb11b582bb9da42d60043 Mon Sep 17 00:00:00 2001 From: 3alpha <15694175+3alpha@users.noreply.github.com> Date: Wed, 24 Jun 2026 17:51:36 +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 execution_client hard-coded to reth and consensus_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..a2c3435 --- /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: + consensus_client: + description: "Consensus Client" + required: true + type: choice + options: [lodestar, teku, prysm, nimbus, lighthouse] + +jobs: + attestation-test: + uses: dappnode/workflows/.github/workflows/staking-attestation-test.yml@master + with: + execution_client: "reth" + consensus_client: ${{ github.event.client_payload.consensus_client || inputs.consensus_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 b703119..73aea14 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: consensus_client: @@ -19,5 +21,8 @@ jobs: uses: dappnode/workflows/.github/workflows/staking-sync-test.yml@master with: execution_client: "reth" - consensus_client: ${{ inputs.consensus_client || '' }} + consensus_client: ${{ github.event.client_payload.consensus_client || inputs.consensus_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 572c4cb678f68b82bb39d229be127df025121f3a Mon Sep 17 00:00:00 2001 From: 3alpha <15694175+3alpha@users.noreply.github.com> Date: Wed, 24 Jun 2026 18:38:56 +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 a2c3435..6bc141d 100644 --- a/.github/workflows/attestation-test.yml +++ b/.github/workflows/attestation-test.yml @@ -10,6 +10,11 @@ on: required: true type: choice options: [lodestar, teku, prysm, nimbus, lighthouse] + 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 73aea14..3a2572d 100644 --- a/.github/workflows/sync-test.yml +++ b/.github/workflows/sync-test.yml @@ -10,6 +10,11 @@ on: required: true type: choice options: [lodestar, teku, prysm, nimbus, lighthouse] + 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