archethic-foundation / archethic-foundation/archethic-node

fix governance validation workflow

Open
#971 0 comments 0 reactions 0 assignees View on GitHub
feature Governance
Dominant language
Elixir
Stars
82
Forks
24
PR merge metrics
No merged PRs in 30d

Description

### Is your feature request related to a problem?

When receiving a code validation and it is validated by enough members of technical council it triggers CI worklflow and then CD workflow.

inside the CD workflow we trigger a validator container responsible for testing that everything works correctly in a testnet mode (multiple nodes connected), for this we need to for example measure benchmarks before and after applying the code proposal to make sure that there is no huge drop in metrics (for now the data is not used).

### Describe the solution you'd like

we are doing a Process.sleep to make sure the container is still running between phase 1 and phase 2, but the duration of the sleep is arbitrary so for some slow machines it will not work also this not an elegant solution.

the best solution would be either to separate the validation workflow in 2 containers with a shared volume and only start validator_2 after we validated that validator_1 is done accordingly to the correct step in global cd workflow.

Another possible solution is to build validator_2 using validator_1 image (using docker commit) but I think first solution is more composable and extendable.

however we need to be sure that ip address given to the container is in the same subnet as the other container and that all nodes are still running in each validation step.

### Additional context

Epic: #154

Contributor guide

Open the contributing guide

Research direction

Start by reading the global CD workflow and the validator container steps around Process.sleep, including the proposed validator_1 and validator_2 phases. Review Epic #154 for context. Done means validation phases synchronize without an arbitrary delay, containers share the required state, their IPs are on the same subnet, and all nodes remain running at each step.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, elixir
Domain
blockchain, ci-cd, devops, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.