diff --git a/.github/workflows/core_tests.yml b/.github/workflows/core_tests.yml index 1ab43135..28c6108c 100644 --- a/.github/workflows/core_tests.yml +++ b/.github/workflows/core_tests.yml @@ -9,7 +9,7 @@ on: - "feat/rc2" - "feat/rc1" - "feat/next-vote" - - "feat/v3-vote" + - "v1_v2_dg2_dg1" schedule: - cron: "0 0 * * TUE" diff --git a/.github/workflows/dual_governance_regression.yml b/.github/workflows/dual_governance_regression.yml index 6cbf7577..74552a07 100644 --- a/.github/workflows/dual_governance_regression.yml +++ b/.github/workflows/dual_governance_regression.yml @@ -13,7 +13,7 @@ on: - "feat/rc2" - "feat/rc1" - "feat/next-vote" - - "feat/v3-vote" + - "v1_v2_dg2_dg1" workflow_dispatch: jobs: diff --git a/utils/test/governance_helpers.py b/utils/test/governance_helpers.py index da4061c6..3d0790e6 100644 --- a/utils/test/governance_helpers.py +++ b/utils/test/governance_helpers.py @@ -29,20 +29,31 @@ def execute_vote(helpers, vote_ids_from_env): def execute_vote_and_process_dg_proposals(helpers, vote_ids_from_env, dg_proposal_ids_from_env): - # V1 - proposals_count_before1 = contracts.emergency_protected_timelock.getProposalsCount() - start_and_execute_votes(contracts.voting, helpers, 0) - proposals_count_after1 = contracts.emergency_protected_timelock.getProposalsCount() - new_proposal_ids1 = list(range(proposals_count_before1 + 1, proposals_count_after1 + 1)) - - # DG1 - process_proposals(new_proposal_ids1) - - # V2 - proposals_count_before2 = contracts.emergency_protected_timelock.getProposalsCount() - start_and_execute_votes(contracts.voting, helpers, 1) - proposals_count_after2 = contracts.emergency_protected_timelock.getProposalsCount() - new_proposal_ids2 = list(range(proposals_count_before2 + 1, proposals_count_after2 + 1)) - - # DG2 - process_proposals(new_proposal_ids2) + sequence_key = "v1_v2_dg2_dg1" + print("ACTION_SEQUENCE:", sequence_key) + + state = { + "v1_ids": None, + "v2_ids": None, + } + + def vote(id): + proposals_count_before1 = contracts.emergency_protected_timelock.getProposalsCount() + start_and_execute_votes(contracts.voting, helpers, id) + proposals_count_after1 = contracts.emergency_protected_timelock.getProposalsCount() + state[f"v{id+1}_ids"] = list(range(proposals_count_before1 + 1, proposals_count_after1 + 1)) + + def dual_governance(ids): + process_proposals(ids) + + actions = { + "v1": lambda: vote(0), + "dg1": lambda: dual_governance(state["v1_ids"]), + "v2": lambda: vote(1), + "dg2": lambda: dual_governance(state["v2_ids"]), + } + + steps = sequence_key.split("_") + for action in steps: + actions[action]() +