Skip to content

Comments

ci: Local Net CI Workflow#562

Merged
mergify[bot] merged 19 commits intosigp:unstablefrom
lmnzx:local-net-ci-workflow
Jan 23, 2026
Merged

ci: Local Net CI Workflow#562
mergify[bot] merged 19 commits intosigp:unstablefrom
lmnzx:local-net-ci-workflow

Conversation

@lmnzx
Copy link
Member

@lmnzx lmnzx commented Sep 2, 2025

Issue Addressed

Run Testnet in Anchor's CI

Proposed Changes

Added a new CI Workflow to Run Assertoor

Additional Info

New github workflow is to run a local testnet with kurtosis and run a few test with assertoor

The tests are to check:

  • Check chain stability
  • Every client pair proposed a block
  • Transaction Test
  • Blob Transaction Test

@cla-assistant
Copy link

cla-assistant bot commented Sep 2, 2025

CLA assistant check
All committers have signed the CLA.

@dknopik dknopik changed the base branch from stable to release-v0.3.0 September 2, 2025 10:37
@dknopik dknopik changed the title Local Net CI Workflow ci: Local Net CI Workflow Sep 2, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds a new CI workflow to run a local testnet with Assertoor testing framework in Anchor's continuous integration pipeline. The workflow builds a Docker image and runs local testnet tests to ensure network functionality.

Key changes:

  • New GitHub Actions workflow for local testnet testing
  • Docker image building and artifact management for the testnet
  • Integration with Assertoor testing framework and Kurtosis for network orchestration

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment on lines 37 to 38
repository: dknopik/ssv-mini
ref: fixes
Copy link

Copilot AI Sep 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using a personal repository ('dknopik/ssv-mini') and a non-specific branch reference ('fixes') in production CI creates dependency risks. Consider using a stable, official repository or fork it under the organization's namespace with a specific commit hash or tagged version.

Suggested change
repository: dknopik/ssv-mini
ref: fixes
repository: your-org/ssv-mini
ref: v1.2.3

Copilot uses AI. Check for mistakes.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, at least we should use a specific commit hash here

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we using a personal branch?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated to use the specific commit hash

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we using a personal branch?

currently, we had to make slight adjustments in order to get the config working. this is currently done in a slightly hacky way to get this MVP for our CI.

We will continue to improve on this initial state and eventually upstream all changes to ssv-mini

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about we move it to sigp?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@diegomrsantos
Copy link
Member

Issue Addressed

Run Testnet in Anchor's CI

Proposed Changes

Added a new CI Workflow to Run Assertoor

Could you please briefly explain what is being tested in this PR for people not familiar with it (like me)?

@realbigsean realbigsean closed this Sep 2, 2025
@realbigsean realbigsean reopened this Sep 2, 2025
@realbigsean realbigsean closed this Sep 2, 2025
@realbigsean realbigsean reopened this Sep 2, 2025
@dknopik
Copy link
Member

dknopik commented Sep 4, 2025

IMO this is good to go, but before merging I want to test intentionally breaking anchor it to see if the CI catches it 😈

will do soon

@dknopik
Copy link
Member

dknopik commented Sep 10, 2025

@lmnzx

I broke block production, but the CI seems to pass anyway. Can you please take a look?

@diegomrsantos
Copy link
Member

The tests are to check:

  • Check chain stability
  • Every client pair proposed a block
  • Transaction Test
  • Blob Transaction Test

Where are these tests defined?

@dknopik
Copy link
Member

dknopik commented Sep 10, 2025

@dknopik dknopik changed the base branch from release-v1.0.0 to unstable October 20, 2025 13:20
@lmnzx
Copy link
Member Author

lmnzx commented Jan 20, 2026

updated the workflow with a custom test,

id: test_anchor_proposal
name: "Check for Anchor Proposal"
timeout: 30m
tasks:
  - name: sleep
    config:
      duration: 5m # wait for the anchor nodes to startup
  - name: run_tasks_concurrent
    config:
      tasks:
        - name: check_consensus_block_proposals
          config:
            blockCount: 50
            graffitiPattern: "Anchor.*"
            minAttestationCount: 1
        - name: check_consensus_attestation_stats
          config:
            minTargetPercent: 100
            minHeadPercent: 100
            minTotalPercent: 100
            failOnCheckMiss: true
            minCheckedEpochs: 2
  - name: check_consensus_finality
    config:
      minFinalizedEpochs: 2
      failOnCheckMiss: true
schedule:
  startup: true

flow of the test:

  • wait for anchor nodes to startup
  • check if the anchor nodes propose 50 blocks
  • and concurrently make sure no attestation is missed
  • and then check the chain is finalized to at least 2 epochs ( with seconds_per_slot: 6 and the 5 min wait time and the 2 epoch test for check_consensus_attestation_stats, the chain will be at the 5th epoch)

@dknopik dknopik added ready-for-merge v2.0.0 The release shipping the next network upgrade and removed do-not-merge labels Jan 23, 2026
Copy link
Member

@dknopik dknopik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks so much!

@mergify mergify bot added the queued label Jan 23, 2026
@mergify
Copy link

mergify bot commented Jan 23, 2026

Merge Queue Status

✅ The pull request has been merged at ebc9a10

This pull request spent 11 minutes 32 seconds in the queue, including 9 minutes 24 seconds running CI.
The checks were run on draft #785.

Required conditions to merge
  • #approved-reviews-by >= 1 [🛡 GitHub repository ruleset rule unstable and release-v*]
  • #changes-requested-reviews-by = 0 [🛡 GitHub repository ruleset rule unstable and release-v*]
  • check-success=test-suite-success
  • any of [🛡 GitHub repository ruleset rule unstable and release-v*]:
    • check-success = license/cla
    • check-neutral = license/cla
    • check-skipped = license/cla

mergify bot added a commit that referenced this pull request Jan 23, 2026
@mergify mergify bot merged commit 8d5dbb4 into sigp:unstable Jan 23, 2026
22 checks passed
@mergify mergify bot removed the queued label Jan 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-merge v2.0.0 The release shipping the next network upgrade

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants