From 2f1c33921d06c615e60512d602dd9903897bd0bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Sporny?= Date: Tue, 17 Sep 2024 13:39:51 +0200 Subject: [PATCH 1/5] add: 0.8 slot coeff --- .../configurations/genesis/shelley/genesis.json | 2 +- dev/local-environment/modules/partner-chains-nodes.txt | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dev/local-environment/configurations/genesis/shelley/genesis.json b/dev/local-environment/configurations/genesis/shelley/genesis.json index c14830b67..eb7d2be1f 100644 --- a/dev/local-environment/configurations/genesis/shelley/genesis.json +++ b/dev/local-environment/configurations/genesis/shelley/genesis.json @@ -1,5 +1,5 @@ { - "activeSlotsCoeff": 0.2, + "activeSlotsCoeff": 0.8, "epochLength": 120, "genDelegs": { "4090c4d9554ab626a30a393ae3dd1fde40336e0515b1d4f430d6ae92": { diff --git a/dev/local-environment/modules/partner-chains-nodes.txt b/dev/local-environment/modules/partner-chains-nodes.txt index 85bbbe978..099713a04 100644 --- a/dev/local-environment/modules/partner-chains-nodes.txt +++ b/dev/local-environment/modules/partner-chains-nodes.txt @@ -14,7 +14,7 @@ GENESIS_COMMITTEE_UTXO: "781cb948a37c7c38b43872af9b1e22135a94826eafd3740260a6db0a303885d8#0" GOVERNANCE_AUTHORITY: "e8c300330fe315531ca89d4a2e7d0c80211bc70b473b1ed4979dff2b" CARDANO_SECURITY_PARAMETER: "5" - CARDANO_ACTIVE_SLOTS_COEFF: "0.2" + CARDANO_ACTIVE_SLOTS_COEFF: "0.8" MC__FIRST_EPOCH_NUMBER: "0" MC__FIRST_SLOT_NUMBER: "0" MC__EPOCH_DURATION_MILLIS: "120000" @@ -49,7 +49,7 @@ GENESIS_COMMITTEE_UTXO: "781cb948a37c7c38b43872af9b1e22135a94826eafd3740260a6db0a303885d8#0" GOVERNANCE_AUTHORITY: "e8c300330fe315531ca89d4a2e7d0c80211bc70b473b1ed4979dff2b" CARDANO_SECURITY_PARAMETER: "5" - CARDANO_ACTIVE_SLOTS_COEFF: "0.2" + CARDANO_ACTIVE_SLOTS_COEFF: "0.8" MC__FIRST_EPOCH_NUMBER: "0" MC__FIRST_SLOT_NUMBER: "0" MC__EPOCH_DURATION_MILLIS: "120000" @@ -84,7 +84,7 @@ CHAIN_ID: "0" GENESIS_COMMITTEE_UTXO: "781cb948a37c7c38b43872af9b1e22135a94826eafd3740260a6db0a303885d8#0" CARDANO_SECURITY_PARAMETER: "5" - CARDANO_ACTIVE_SLOTS_COEFF: "0.2" + CARDANO_ACTIVE_SLOTS_COEFF: "0.8" MC__FIRST_EPOCH_NUMBER: "0" MC__FIRST_SLOT_NUMBER: "0" MC__EPOCH_DURATION_MILLIS: "120000" @@ -121,7 +121,7 @@ CHAIN_ID: "0" GENESIS_COMMITTEE_UTXO: "781cb948a37c7c38b43872af9b1e22135a94826eafd3740260a6db0a303885d8#0" CARDANO_SECURITY_PARAMETER: "5" - CARDANO_ACTIVE_SLOTS_COEFF: "0.2" + CARDANO_ACTIVE_SLOTS_COEFF: "0.8" MC__FIRST_EPOCH_NUMBER: "0" MC__FIRST_SLOT_NUMBER: "0" MC__EPOCH_DURATION_MILLIS: "120000" @@ -158,7 +158,7 @@ CHAIN_ID: "0" GENESIS_COMMITTEE_UTXO: "781cb948a37c7c38b43872af9b1e22135a94826eafd3740260a6db0a303885d8#0" CARDANO_SECURITY_PARAMETER: "5" - CARDANO_ACTIVE_SLOTS_COEFF: "0.2" + CARDANO_ACTIVE_SLOTS_COEFF: "0.8" MC__FIRST_EPOCH_NUMBER: "0" MC__FIRST_SLOT_NUMBER: "0" MC__EPOCH_DURATION_MILLIS: "120000" From 28e657850256ec683426b193441fa84ebbc61649 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Sporny?= Date: Tue, 17 Sep 2024 13:50:04 +0200 Subject: [PATCH 2/5] fix: hack with slot coeff --- dev/local-environment/modules/partner-chains-nodes.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dev/local-environment/modules/partner-chains-nodes.txt b/dev/local-environment/modules/partner-chains-nodes.txt index 099713a04..6806aae1a 100644 --- a/dev/local-environment/modules/partner-chains-nodes.txt +++ b/dev/local-environment/modules/partner-chains-nodes.txt @@ -14,7 +14,7 @@ GENESIS_COMMITTEE_UTXO: "781cb948a37c7c38b43872af9b1e22135a94826eafd3740260a6db0a303885d8#0" GOVERNANCE_AUTHORITY: "e8c300330fe315531ca89d4a2e7d0c80211bc70b473b1ed4979dff2b" CARDANO_SECURITY_PARAMETER: "5" - CARDANO_ACTIVE_SLOTS_COEFF: "0.8" + CARDANO_ACTIVE_SLOTS_COEFF: "0.4" MC__FIRST_EPOCH_NUMBER: "0" MC__FIRST_SLOT_NUMBER: "0" MC__EPOCH_DURATION_MILLIS: "120000" @@ -49,7 +49,7 @@ GENESIS_COMMITTEE_UTXO: "781cb948a37c7c38b43872af9b1e22135a94826eafd3740260a6db0a303885d8#0" GOVERNANCE_AUTHORITY: "e8c300330fe315531ca89d4a2e7d0c80211bc70b473b1ed4979dff2b" CARDANO_SECURITY_PARAMETER: "5" - CARDANO_ACTIVE_SLOTS_COEFF: "0.8" + CARDANO_ACTIVE_SLOTS_COEFF: "0.4" MC__FIRST_EPOCH_NUMBER: "0" MC__FIRST_SLOT_NUMBER: "0" MC__EPOCH_DURATION_MILLIS: "120000" @@ -84,7 +84,7 @@ CHAIN_ID: "0" GENESIS_COMMITTEE_UTXO: "781cb948a37c7c38b43872af9b1e22135a94826eafd3740260a6db0a303885d8#0" CARDANO_SECURITY_PARAMETER: "5" - CARDANO_ACTIVE_SLOTS_COEFF: "0.8" + CARDANO_ACTIVE_SLOTS_COEFF: "0.4" MC__FIRST_EPOCH_NUMBER: "0" MC__FIRST_SLOT_NUMBER: "0" MC__EPOCH_DURATION_MILLIS: "120000" @@ -121,7 +121,7 @@ CHAIN_ID: "0" GENESIS_COMMITTEE_UTXO: "781cb948a37c7c38b43872af9b1e22135a94826eafd3740260a6db0a303885d8#0" CARDANO_SECURITY_PARAMETER: "5" - CARDANO_ACTIVE_SLOTS_COEFF: "0.8" + CARDANO_ACTIVE_SLOTS_COEFF: "0.4" MC__FIRST_EPOCH_NUMBER: "0" MC__FIRST_SLOT_NUMBER: "0" MC__EPOCH_DURATION_MILLIS: "120000" @@ -158,7 +158,7 @@ CHAIN_ID: "0" GENESIS_COMMITTEE_UTXO: "781cb948a37c7c38b43872af9b1e22135a94826eafd3740260a6db0a303885d8#0" CARDANO_SECURITY_PARAMETER: "5" - CARDANO_ACTIVE_SLOTS_COEFF: "0.8" + CARDANO_ACTIVE_SLOTS_COEFF: "0.4" MC__FIRST_EPOCH_NUMBER: "0" MC__FIRST_SLOT_NUMBER: "0" MC__EPOCH_DURATION_MILLIS: "120000" From ea8c5a3782f8780fd9e097c80726f7f4cbd7f20f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Sporny?= Date: Wed, 18 Sep 2024 13:16:55 +0200 Subject: [PATCH 3/5] add: run e2e tests workflow --- .github/run-e2e-tests/action.yml | 51 ++++++++ .github/wait-for-epoch/action.yml | 21 ++++ .../modules/local-environment-tests.yml | 13 +- .github/workflows/modules/run-e2e-tests.yml | 117 ++++++++++++++++++ 4 files changed, 197 insertions(+), 5 deletions(-) create mode 100644 .github/run-e2e-tests/action.yml create mode 100644 .github/wait-for-epoch/action.yml create mode 100644 .github/workflows/modules/run-e2e-tests.yml diff --git a/.github/run-e2e-tests/action.yml b/.github/run-e2e-tests/action.yml new file mode 100644 index 000000000..de6857be4 --- /dev/null +++ b/.github/run-e2e-tests/action.yml @@ -0,0 +1,51 @@ +name: 'Run e2e tests' +description: 'Activate python venv and run e2e tests' + +inputs: + env: + description: 'Test environment' + required: true + keyword: + description: 'Run tests by keyword (-k)' + required: false + default: 'test_' + markers: + description: 'Run tests by markers (-m)' + required: false + default: 'not active_flow and not passive_flow and not probability' + mc_epoch: + description: 'MC epoch to test (committee tests)' + required: false + log_level: + description: 'Log CLI level' + required: false + default: 'info' + init_timestamp: + description: 'MC initialization timestamp in seconds' + required: false + default: '0' + +runs: + using: composite + steps: + - name: Run tests + shell: bash + run: | + if [ -n "${{ inputs.mc_epoch }}" ]; then + mc_epoch_switch="--mc-epoch ${{ inputs.mc_epoch }}" + fi + + cd e2e-tests + source venv/bin/activate + pytest --blockchain substrate \ + --env ${{ inputs.env }} \ + --stack ${{ inputs.env }} \ + --log-cli-level ${{ inputs.log_level }} \ + -k "${{ inputs.keyword }}" \ + -m "${{ inputs.markers }}" \ + --init-timestamp ${{ inputs.init_timestamp }} \ + $mc_epoch_switch \ + --decrypt \ + --json-report \ + --json-report-summary \ + --junitxml=junit_report.xml diff --git a/.github/wait-for-epoch/action.yml b/.github/wait-for-epoch/action.yml new file mode 100644 index 000000000..cd62db545 --- /dev/null +++ b/.github/wait-for-epoch/action.yml @@ -0,0 +1,21 @@ +name: 'Wait for epoch' +description: 'Wait for epoch in local environment' + +inputs: + epoch: + description: 'Expected epoch' + required: true + +runs: + using: composite + steps: + - name: Wait for epoch + shell: bash + run: | + epoch=$(docker exec cardano-node-1 cardano-cli query tip --testnet-magic 42 | jq -r .epoch) + while [ $epoch -lt ${{ inputs.epoch }} ]; do \ + echo "Epoch: $epoch" && \ + sleep 10 && \ + epoch=$(docker exec cardano-node-1 cardano-cli query tip --testnet-magic 42 | jq -r .epoch); \ + done + echo "Epoch: $epoch" \ No newline at end of file diff --git a/.github/workflows/modules/local-environment-tests.yml b/.github/workflows/modules/local-environment-tests.yml index a5eddcf47..2a3889ca2 100644 --- a/.github/workflows/modules/local-environment-tests.yml +++ b/.github/workflows/modules/local-environment-tests.yml @@ -1,4 +1,4 @@ -name: Deploy and test aganst local-environment +name: Deploy and test against local-environment on: workflow_call: @@ -14,7 +14,7 @@ jobs: local-environment-tests: runs-on: ubuntu-latest steps: - - name: Checkout master + - name: Checkout master uses: actions/checkout@v4 with: path: ./partner-chains-master @@ -57,11 +57,14 @@ jobs: cp -r ./partner-chains-node-* ./partner-chains-master/dev/local-environment/configurations/partner-chains-cli/overrides/partner-chains-node cp -r ./partner-chains-smart-contracts*/* ./partner-chains-master/dev/local-environment/configurations/sidechain-release-bundle/overrides/ cd ./partner-chains-master/dev/local-environment - bash setup.sh --non-interactive --overrides --postgres-password=postgres --node-image=${{ inputs.image }} + bash setup.sh --non-interactive --overrides --postgres-password=azMpOp4mTqhlKDmgCVQr --node-image=${{ inputs.image }} docker compose up -d - - name: Run tests - run: #TODO i.e. python ./tests.py + - name: Run e2e tests + runs-on: ubuntu-latest + steps: + - uses: ./partner-chains-master/.github/workflows/modules/run-e2e-tests.yml + secrets: inherit - name: Stop partner-chains-demo run: docker compose down --volumes \ No newline at end of file diff --git a/.github/workflows/modules/run-e2e-tests.yml b/.github/workflows/modules/run-e2e-tests.yml new file mode 100644 index 000000000..8fef6bc22 --- /dev/null +++ b/.github/workflows/modules/run-e2e-tests.yml @@ -0,0 +1,117 @@ +name: Run e2e tests against local environment + +on: + workflow_call: + inputs: + image: + description: "Node Image" + required: true + tag: + description: "PC Artifact Tag" + required: true + +jobs: + run-e2e-tests: + runs-on: ubuntu-latest + env: + TEST_ENVIRONMENT: demo + steps: + - name: Checkout e2e tests + uses: actions/checkout@v4 + with: + repository: input-output-hk/sidechains-tests + token: ${{ secrets.ACTIONS_PAT }} + ref: ETCM-8119/run-tests-on-ci + path: e2e-tests + + - name: Setup python and dependencies + run: | + cd e2e-tests + sudo apt update + sudo apt install -y software-properties-common + sudo add-apt-repository ppa:deadsnakes/ppa + sudo apt update + sudo apt install -y python3.10 python3.10-venv python3.10-dev + sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 + curl -L --silent https://github.com/getsops/sops/releases/download/v3.7.3/sops_3.7.3_amd64.deb > sops.deb && sudo dpkg -i sops.deb && rm sops.deb + python -m venv venv + source venv/bin/activate + pip install -r requirements.txt + + - name: Wait for the PC node 1 to start + run: | + while ! docker exec cardano-node-1 [ -e /shared/cardano.ready ]; do sleep 1; done + echo "Cardano network is ready! Waiting for Partner Chain first node to start..." + INIT_TIMESTAMP=$(docker exec cardano-node-1 cat /shared/cardano.start) + echo "INIT_TIMESTAMP=$INIT_TIMESTAMP" >> $GITHUB_ENV + while ! docker exec partner-chains-node-1 [ -e /shared/partner-chains-node-1.ready ]; do \ + epoch=$(docker exec cardano-node-1 cardano-cli query tip --testnet-magic 42 | jq -r .epoch) && \ + echo "Epoch: $epoch" && \ + sleep 10; \ + done + + - name: Run smoke tests + uses: ./partner-chains-master/.github/run-e2e-tests + with: + env: ${{ env.TEST_ENVIRONMENT }} + keyword: "test_get_status or test_get_params" + + - name: Wait for epoch 3 + uses: ./partner-chains-masters/.github/wait-for-epoch + with: + epoch: 3 + + - name: Run registration tests + uses: ./partner-chains-master/.github/run-tests + with: + env: ${{ env.TEST_ENVIRONMENT }} + keyword: "test_register_candidate or test_deregister_candidate or test_add_permissioned_candidate or test_remove_permissioned_candidate" + init_timestamp: ${{ env.INIT_TIMESTAMP }} + + - name: Wait for epoch 4 + uses: ./partner-chains-master/.github/wait-for-epoch + with: + epoch: 4 + + - name: Run registration tests + uses: ./partner-chains-master/.github/run-tests + with: + env: ${{ env.TEST_ENVIRONMENT }} + keyword: "test_register_candidate or test_deregister_candidate or test_add_permissioned_candidate or test_remove_permissioned_candidate" + init_timestamp: ${{ env.INIT_TIMESTAMP }} + + - name: Wait for epoch 5 + uses: ./partner-chains-master/.github/wait-for-epoch + with: + epoch: 5 + + - name: Run all tests + uses: ./partner-chains-master/.github/run-tests + with: + env: ${{ env.TEST_ENVIRONMENT }} + mc_epoch: 4 + init_timestamp: ${{ env.INIT_TIMESTAMP }} + + - name: Wait for epoch 6 + uses: ./partner-chains-master/.github/wait-for-epoch + with: + epoch: 6 + + - name: Run all tests + uses: ./partner-chains-master/.github/run-tests + with: + env: ${{ env.TEST_ENVIRONMENT }} + mc_epoch: 5 + init_timestamp: ${{ env.INIT_TIMESTAMP }} + + - name: Wait for epoch 7 + uses: ./partner-chains-master/.github/wait-for-epoch + with: + epoch: 7 + + - name: Run all tests + uses: ./partner-chains-master/.github/run-tests + with: + env: ${{ env.TEST_ENVIRONMENT }} + mc_epoch: 6 + init_timestamp: ${{ env.INIT_TIMESTAMP }} From 98a80baf9e1918782c26aa441751df7072e13847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Sporny?= Date: Wed, 18 Sep 2024 13:18:50 +0200 Subject: [PATCH 4/5] delete inputs --- .github/workflows/modules/run-e2e-tests.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/modules/run-e2e-tests.yml b/.github/workflows/modules/run-e2e-tests.yml index 8fef6bc22..b0cbdc8e0 100644 --- a/.github/workflows/modules/run-e2e-tests.yml +++ b/.github/workflows/modules/run-e2e-tests.yml @@ -2,13 +2,6 @@ name: Run e2e tests against local environment on: workflow_call: - inputs: - image: - description: "Node Image" - required: true - tag: - description: "PC Artifact Tag" - required: true jobs: run-e2e-tests: From a272ae1da2eb0543a57e07b40de31c9361bd3974 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Sporny?= Date: Wed, 18 Sep 2024 14:04:44 +0200 Subject: [PATCH 5/5] use in the same context --- .../modules/local-environment-tests.yml | 106 ++++++++++++++++- .github/workflows/modules/run-e2e-tests.yml | 110 ------------------ 2 files changed, 101 insertions(+), 115 deletions(-) delete mode 100644 .github/workflows/modules/run-e2e-tests.yml diff --git a/.github/workflows/modules/local-environment-tests.yml b/.github/workflows/modules/local-environment-tests.yml index 2a3889ca2..bca8fe55c 100644 --- a/.github/workflows/modules/local-environment-tests.yml +++ b/.github/workflows/modules/local-environment-tests.yml @@ -13,6 +13,8 @@ on: jobs: local-environment-tests: runs-on: ubuntu-latest + env: + TEST_ENVIRONMENT: demo steps: - name: Checkout master uses: actions/checkout@v4 @@ -60,11 +62,105 @@ jobs: bash setup.sh --non-interactive --overrides --postgres-password=azMpOp4mTqhlKDmgCVQr --node-image=${{ inputs.image }} docker compose up -d - - name: Run e2e tests - runs-on: ubuntu-latest - steps: - - uses: ./partner-chains-master/.github/workflows/modules/run-e2e-tests.yml - secrets: inherit + - name: Checkout e2e tests + uses: actions/checkout@v4 + with: + repository: input-output-hk/sidechains-tests + token: ${{ secrets.ACTIONS_PAT }} + ref: ETCM-8119/run-tests-on-ci + path: e2e-tests + + - name: Setup python and dependencies + run: | + cd e2e-tests + sudo apt update + sudo apt install -y software-properties-common + sudo add-apt-repository ppa:deadsnakes/ppa + sudo apt update + sudo apt install -y python3.10 python3.10-venv python3.10-dev + sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 + curl -L --silent https://github.com/getsops/sops/releases/download/v3.7.3/sops_3.7.3_amd64.deb > sops.deb && sudo dpkg -i sops.deb && rm sops.deb + python -m venv venv + source venv/bin/activate + pip install -r requirements.txt + + - name: Wait for the PC node 1 to start + run: | + while ! docker exec cardano-node-1 [ -e /shared/cardano.ready ]; do sleep 1; done + echo "Cardano network is ready! Waiting for Partner Chain first node to start..." + INIT_TIMESTAMP=$(docker exec cardano-node-1 cat /shared/cardano.start) + echo "INIT_TIMESTAMP=$INIT_TIMESTAMP" >> $GITHUB_ENV + while ! docker exec partner-chains-node-1 [ -e /shared/partner-chains-node-1.ready ]; do \ + epoch=$(docker exec cardano-node-1 cardano-cli query tip --testnet-magic 42 | jq -r .epoch) && \ + echo "Epoch: $epoch" && \ + sleep 10; \ + done + + - name: Run smoke tests + uses: ./partner-chains-master/.github/run-e2e-tests + with: + env: ${{ env.TEST_ENVIRONMENT }} + keyword: "test_get_status or test_get_params" + + - name: Wait for epoch 3 + uses: ./partner-chains-masters/.github/wait-for-epoch + with: + epoch: 3 + + - name: Run registration tests + uses: ./partner-chains-master/.github/run-tests + with: + env: ${{ env.TEST_ENVIRONMENT }} + keyword: "test_register_candidate or test_deregister_candidate or test_add_permissioned_candidate or test_remove_permissioned_candidate" + init_timestamp: ${{ env.INIT_TIMESTAMP }} + + - name: Wait for epoch 4 + uses: ./partner-chains-master/.github/wait-for-epoch + with: + epoch: 4 + + - name: Run registration tests + uses: ./partner-chains-master/.github/run-tests + with: + env: ${{ env.TEST_ENVIRONMENT }} + keyword: "test_register_candidate or test_deregister_candidate or test_add_permissioned_candidate or test_remove_permissioned_candidate" + init_timestamp: ${{ env.INIT_TIMESTAMP }} + + - name: Wait for epoch 5 + uses: ./partner-chains-master/.github/wait-for-epoch + with: + epoch: 5 + + - name: Run all tests + uses: ./partner-chains-master/.github/run-tests + with: + env: ${{ env.TEST_ENVIRONMENT }} + mc_epoch: 4 + init_timestamp: ${{ env.INIT_TIMESTAMP }} + + - name: Wait for epoch 6 + uses: ./partner-chains-master/.github/wait-for-epoch + with: + epoch: 6 + + - name: Run all tests + uses: ./partner-chains-master/.github/run-tests + with: + env: ${{ env.TEST_ENVIRONMENT }} + mc_epoch: 5 + init_timestamp: ${{ env.INIT_TIMESTAMP }} + + - name: Wait for epoch 7 + uses: ./partner-chains-master/.github/wait-for-epoch + with: + epoch: 7 + + - name: Run all tests + uses: ./partner-chains-master/.github/run-tests + with: + env: ${{ env.TEST_ENVIRONMENT }} + mc_epoch: 6 + init_timestamp: ${{ env.INIT_TIMESTAMP }} - name: Stop partner-chains-demo run: docker compose down --volumes \ No newline at end of file diff --git a/.github/workflows/modules/run-e2e-tests.yml b/.github/workflows/modules/run-e2e-tests.yml deleted file mode 100644 index b0cbdc8e0..000000000 --- a/.github/workflows/modules/run-e2e-tests.yml +++ /dev/null @@ -1,110 +0,0 @@ -name: Run e2e tests against local environment - -on: - workflow_call: - -jobs: - run-e2e-tests: - runs-on: ubuntu-latest - env: - TEST_ENVIRONMENT: demo - steps: - - name: Checkout e2e tests - uses: actions/checkout@v4 - with: - repository: input-output-hk/sidechains-tests - token: ${{ secrets.ACTIONS_PAT }} - ref: ETCM-8119/run-tests-on-ci - path: e2e-tests - - - name: Setup python and dependencies - run: | - cd e2e-tests - sudo apt update - sudo apt install -y software-properties-common - sudo add-apt-repository ppa:deadsnakes/ppa - sudo apt update - sudo apt install -y python3.10 python3.10-venv python3.10-dev - sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 - curl -L --silent https://github.com/getsops/sops/releases/download/v3.7.3/sops_3.7.3_amd64.deb > sops.deb && sudo dpkg -i sops.deb && rm sops.deb - python -m venv venv - source venv/bin/activate - pip install -r requirements.txt - - - name: Wait for the PC node 1 to start - run: | - while ! docker exec cardano-node-1 [ -e /shared/cardano.ready ]; do sleep 1; done - echo "Cardano network is ready! Waiting for Partner Chain first node to start..." - INIT_TIMESTAMP=$(docker exec cardano-node-1 cat /shared/cardano.start) - echo "INIT_TIMESTAMP=$INIT_TIMESTAMP" >> $GITHUB_ENV - while ! docker exec partner-chains-node-1 [ -e /shared/partner-chains-node-1.ready ]; do \ - epoch=$(docker exec cardano-node-1 cardano-cli query tip --testnet-magic 42 | jq -r .epoch) && \ - echo "Epoch: $epoch" && \ - sleep 10; \ - done - - - name: Run smoke tests - uses: ./partner-chains-master/.github/run-e2e-tests - with: - env: ${{ env.TEST_ENVIRONMENT }} - keyword: "test_get_status or test_get_params" - - - name: Wait for epoch 3 - uses: ./partner-chains-masters/.github/wait-for-epoch - with: - epoch: 3 - - - name: Run registration tests - uses: ./partner-chains-master/.github/run-tests - with: - env: ${{ env.TEST_ENVIRONMENT }} - keyword: "test_register_candidate or test_deregister_candidate or test_add_permissioned_candidate or test_remove_permissioned_candidate" - init_timestamp: ${{ env.INIT_TIMESTAMP }} - - - name: Wait for epoch 4 - uses: ./partner-chains-master/.github/wait-for-epoch - with: - epoch: 4 - - - name: Run registration tests - uses: ./partner-chains-master/.github/run-tests - with: - env: ${{ env.TEST_ENVIRONMENT }} - keyword: "test_register_candidate or test_deregister_candidate or test_add_permissioned_candidate or test_remove_permissioned_candidate" - init_timestamp: ${{ env.INIT_TIMESTAMP }} - - - name: Wait for epoch 5 - uses: ./partner-chains-master/.github/wait-for-epoch - with: - epoch: 5 - - - name: Run all tests - uses: ./partner-chains-master/.github/run-tests - with: - env: ${{ env.TEST_ENVIRONMENT }} - mc_epoch: 4 - init_timestamp: ${{ env.INIT_TIMESTAMP }} - - - name: Wait for epoch 6 - uses: ./partner-chains-master/.github/wait-for-epoch - with: - epoch: 6 - - - name: Run all tests - uses: ./partner-chains-master/.github/run-tests - with: - env: ${{ env.TEST_ENVIRONMENT }} - mc_epoch: 5 - init_timestamp: ${{ env.INIT_TIMESTAMP }} - - - name: Wait for epoch 7 - uses: ./partner-chains-master/.github/wait-for-epoch - with: - epoch: 7 - - - name: Run all tests - uses: ./partner-chains-master/.github/run-tests - with: - env: ${{ env.TEST_ENVIRONMENT }} - mc_epoch: 6 - init_timestamp: ${{ env.INIT_TIMESTAMP }}