From cf2642254cec8193fdaa4897fc4c9383567781db Mon Sep 17 00:00:00 2001 From: 3alpha <15694175+3alpha@users.noreply.github.com> Date: Wed, 24 Jun 2026 17:51:07 +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 nethermind 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..683f68b --- /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: "nethermind" + 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 ad15550..29219ee 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: "nethermind" - 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 9f2049c07039fae1ea89353cecc9957e325450f6 Mon Sep 17 00:00:00 2001 From: 3alpha <15694175+3alpha@users.noreply.github.com> Date: Wed, 24 Jun 2026 18:38:37 +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 683f68b..abbd873 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 29219ee..300573d 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