ci: Local Net CI Workflow#562
Conversation
There was a problem hiding this comment.
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.
.github/workflows/local-testnet.yml
Outdated
| repository: dknopik/ssv-mini | ||
| ref: fixes |
There was a problem hiding this comment.
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.
| repository: dknopik/ssv-mini | |
| ref: fixes | |
| repository: your-org/ssv-mini | |
| ref: v1.2.3 |
There was a problem hiding this comment.
yeah, at least we should use a specific commit hash here
There was a problem hiding this comment.
Why are we using a personal branch?
There was a problem hiding this comment.
updated to use the specific commit hash
There was a problem hiding this comment.
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
There was a problem hiding this comment.
What about we move it to sigp?
Could you please briefly explain what is being tested in this PR for people not familiar with it (like me)? |
|
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 |
|
I broke block production, but the CI seems to pass anyway. Can you please take a look? |
Where are these tests defined? |
|
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: trueflow of the test:
|
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. Required conditions to merge
|
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: