Skip to content

Commit

Permalink
Merge branch 'develop' of https://github.com/cheqd/cheqd-node into ap…
Browse files Browse the repository at this point in the history
…/add-feeabs-mod
  • Loading branch information
vishal-kanna committed Sep 20, 2024
2 parents 5b7e733 + 7cebb0e commit cf4689e
Show file tree
Hide file tree
Showing 8 changed files with 2,557 additions and 125 deletions.
273 changes: 148 additions & 125 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -172,138 +172,140 @@ jobs:
steps:
- uses: actions/checkout@v4

# Preparations

- name: Download old node binary (mainnet-latest)
run: |
mkdir -p ${{ env.RUNNER_BIN_DIR }}
wget -c https://github.com/cheqd/cheqd-node/releases/download/v"${LEGACY_VERSION}"/cheqd-noded-"${LEGACY_VERSION}"-linux-amd64.tar.gz
tar -xvf cheqd-noded-"${LEGACY_VERSION}"-linux-amd64.tar.gz -C ${{ env.RUNNER_BIN_DIR }}
sudo chmod +x ${{ env.RUNNER_BIN_DIR }}/cheqd-noded
env:
LEGACY_VERSION: 1.4.5

- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- uses: actions/setup-go@v5
with:
go-version-file: ./go.mod
cache: true

- name: Install ginkgo
working-directory: ./..
run: go install github.com/onsi/ginkgo/v2/ginkgo@latest

- name: Download new version of the Docker image (build-latest)
uses: actions/download-artifact@v4
with:
name: cheqd-node-build.tar

- name: Load node Docker image
run: docker load -i cheqd-node-build.tar

# Run tests
- name: Setting up network with old binary inside (mainnet version)
working-directory: ./tests/upgrade/integration
run: |
bash scripts/old_binary_setup.sh
- name: Run pre-upgrade tests
working-directory: ./tests/upgrade/integration/v2
run: |
ginkgo -r --race --tags upgrade_integration --focus-file pre_test.go --keep-going --trace --junit-report ../../../../report-pre-upgrade.xml
- name: Upload pre-upgrade tests result
uses: actions/upload-artifact@v4
with:
name: report-pre-upgrade.xml
path: report-pre-upgrade.xml

- name: Restart network using new node version (build-latest)
working-directory: ./tests/upgrade/integration
run: |
bash scripts/upgrade.sh
- name: Verifying docker processes
working-directory: ./tests/upgrade/integration
run: |
docker ps -a
- name: Run post-upgrade tests
working-directory: ./tests/upgrade/integration/v2
run: |
ginkgo -r --race --tags upgrade_integration --focus-file post_test.go --keep-going --trace --junit-report ../../../../report-post-upgrade.xml
- name: Upload post-upgrade tests result
uses: actions/upload-artifact@v4
with:
name: report-post-upgrade.xml
path: report-post-upgrade.xml

- name: Download binary artifact (build-latest)
uses: actions/download-artifact@v4
id: download
with:
name: cheqd-noded
path: ${{ env.RUNNER_BIN_DIR }}

- name: Restore binary permissions
run: sudo chmod +x ${{ env.RUNNER_BIN_DIR }}/cheqd-noded

- name: Run integration tests on upgraded network
working-directory: ./tests/integration
run: |
ginkgo -r --tags integration --race --randomize-suites --keep-going --trace --junit-report ../../report-upgraded-integration.xml
- name: Upload post-upgrade integration tests result
uses: actions/upload-artifact@v4
with:
name: report-upgraded-integration.xml
path: report-upgraded-integration.xml

- name: Show logs on failure
if: failure()
working-directory: ./docker/localnet
run: docker compose --env-file build-latest.env logs --tail --follow

- name: Submit governance fee parameter change proposals
working-directory: ./tests/upgrade/integration/v2
run: |
ginkgo -r --race --tags upgrade_integration --focus-file param_change_proposal_test.go --keep-going --trace --junit-report ../../../../report-pricing-proposal.xml
- name: Upload pricing proposal tests result
uses: actions/upload-artifact@v4
with:
name: report-pricing-proposal.xml
path: report-pricing-proposal.xml

- name: Run pricing integration tests after successful param change proposal
working-directory: ./tests/integration
run: |
ginkgo -r --tags integration --race --randomize-suites --keep-going --trace --skip-file cli_diddoc_test.go --skip-file cli_diddoc_negative_test.go --skip-file cli_resource_test.go --skip-file cli_resource_negative_test.go --junit-report ../../report-pricing-change.xml
- name: Upload pricing change tests result
uses: actions/upload-artifact@v4
with:
name: report-pricing-change.xml
path: report-pricing-change.xml

- name: Cleanup after tests
working-directory: ./tests/upgrade/integration
run: |
bash scripts/cleanup.sh
# # Preparations

# - name: Download old node binary (mainnet-latest)
# run: |
# mkdir -p ${{ env.RUNNER_BIN_DIR }}
# wget -c https://github.com/cheqd/cheqd-node/releases/download/v"${LEGACY_VERSION}"/cheqd-noded-"${LEGACY_VERSION}"-linux-amd64.tar.gz
# tar -xvf cheqd-noded-"${LEGACY_VERSION}"-linux-amd64.tar.gz -C ${{ env.RUNNER_BIN_DIR }}
# sudo chmod +x ${{ env.RUNNER_BIN_DIR }}/cheqd-noded
# env:
# LEGACY_VERSION: 1.4.5

# - name: Login to GitHub Container Registry
# uses: docker/login-action@v3
# with:
# registry: ghcr.io
# username: ${{ github.actor }}
# password: ${{ secrets.GITHUB_TOKEN }}

# - uses: actions/setup-go@v5
# with:
# go-version-file: ./go.mod
# cache: true

# - name: Install ginkgo
# working-directory: ./..
# run: go install github.com/onsi/ginkgo/v2/ginkgo@latest

# - name: Download new version of the Docker image (build-latest)
# uses: actions/download-artifact@v4
# with:
# name: cheqd-node-build.tar

# - name: Load node Docker image
# run: docker load -i cheqd-node-build.tar

# # Run tests
# - name: Setting up network with old binary inside (mainnet version)
# working-directory: ./tests/upgrade/integration
# run: |
# bash scripts/old_binary_setup.sh

# - name: Run pre-upgrade tests
# working-directory: ./tests/upgrade/integration/v2
# run: |
# ginkgo -r --race --tags upgrade_integration --focus-file pre_test.go --keep-going --trace --junit-report ../../../../report-pre-upgrade.xml

# - name: Upload pre-upgrade tests result
# uses: actions/upload-artifact@v4
# with:
# name: report-pre-upgrade.xml
# path: report-pre-upgrade.xml

# - name: Restart network using new node version (build-latest)
# working-directory: ./tests/upgrade/integration
# run: |
# bash scripts/upgrade.sh

# - name: Verifying docker processes
# working-directory: ./tests/upgrade/integration
# run: |
# docker ps -a

# - name: Run post-upgrade tests
# working-directory: ./tests/upgrade/integration/v2
# run: |
# ginkgo -r --race --tags upgrade_integration --focus-file post_test.go --keep-going --trace --junit-report ../../../../report-post-upgrade.xml

# - name: Upload post-upgrade tests result
# uses: actions/upload-artifact@v4
# with:
# name: report-post-upgrade.xml
# path: report-post-upgrade.xml

# - name: Download binary artifact (build-latest)
# uses: actions/download-artifact@v4
# id: download
# with:
# name: cheqd-noded
# path: ${{ env.RUNNER_BIN_DIR }}

# - name: Restore binary permissions
# run: sudo chmod +x ${{ env.RUNNER_BIN_DIR }}/cheqd-noded

# - name: Run integration tests on upgraded network
# working-directory: ./tests/integration
# run: |
# ginkgo -r --tags integration --race --randomize-suites --keep-going --trace --junit-report ../../report-upgraded-integration.xml

# - name: Upload post-upgrade integration tests result
# uses: actions/upload-artifact@v4
# with:
# name: report-upgraded-integration.xml
# path: report-upgraded-integration.xml

# - name: Show logs on failure
# if: failure()
# working-directory: ./docker/localnet
# run: docker compose --env-file build-latest.env logs --tail --follow

# - name: Submit governance fee parameter change proposals
# working-directory: ./tests/upgrade/integration/v2
# run: |
# ginkgo -r --race --tags upgrade_integration --focus-file param_change_proposal_test.go --keep-going --trace --junit-report ../../../../report-pricing-proposal.xml

# - name: Upload pricing proposal tests result
# uses: actions/upload-artifact@v4
# with:
# name: report-pricing-proposal.xml
# path: report-pricing-proposal.xml

# - name: Run pricing integration tests after successful param change proposal
# working-directory: ./tests/integration
# run: |
# ginkgo -r --tags integration --race --randomize-suites --keep-going --trace --skip-file cli_diddoc_test.go --skip-file cli_diddoc_negative_test.go --skip-file cli_resource_test.go --skip-file cli_resource_negative_test.go --junit-report ../../report-pricing-change.xml

# - name: Upload pricing change tests result
# uses: actions/upload-artifact@v4
# with:
# name: report-pricing-change.xml
# path: report-pricing-change.xml

# - name: Cleanup after tests
# working-directory: ./tests/upgrade/integration
# run: |
# bash scripts/cleanup.sh

report-results:
name: "Report"
runs-on: ubuntu-20.04
# NOTE: If not next major release, only unit and integration tests are necessary, otherwise all tests are needed.
needs: [unit-tests, integration-tests]
# needs: [unit-tests, integration-tests, upgrade-tests]
needs: [unit-tests, integration-tests]
# needs: [unit-tests, integration-tests, upgrade-tests]
if: always()

steps:
Expand All @@ -323,22 +325,42 @@ jobs:
# uses: actions/download-artifact@v4
# with:
# name: report-pre-upgrade.xml
# - name: Download pre-upgrade test Report
# uses: actions/download-artifact@v4
# with:
# name: report-pre-upgrade.xml

# - name: Download post-upgrade test Report
# uses: actions/download-artifact@v4
# with:
# name: report-post-upgrade.xml
# - name: Download post-upgrade test Report
# uses: actions/download-artifact@v4
# with:
# name: report-post-upgrade.xml

# - name: Download upgraded integration test Report
# uses: actions/download-artifact@v4
# with:
# name: report-upgraded-integration.xml
# - name: Download upgraded integration test Report
# uses: actions/download-artifact@v4
# with:
# name: report-upgraded-integration.xml

# - name: Download pricing proposal test Report
# uses: actions/download-artifact@v4
# with:
# name: report-pricing-proposal.xml
# - name: Download pricing proposal test Report
# uses: actions/download-artifact@v4
# with:
# name: report-pricing-proposal.xml

# - name: Download pricing change test Report
# uses: actions/download-artifact@v4
# with:
# name: report-pricing-change.xml
# - name: Download pricing change test Report
# uses: actions/download-artifact@v4
# with:
Expand All @@ -347,6 +369,7 @@ jobs:
- name: Combine test results
run: |
# python ./.github/scripts/xml_combine.py report-unit.xml report-integration.xml
# python ./.github/scripts/xml_combine.py report-unit.xml report-integration.xml
# run: |
# python ./.github/scripts/xml_combine.py report-unit.xml report-integration.xml > report.xml

Expand Down
Loading

0 comments on commit cf4689e

Please sign in to comment.