Skip to content

chore: merged feemarket integration PR #589

chore: merged feemarket integration PR

chore: merged feemarket integration PR #589

Workflow file for this run

name: "Tests"
on:
workflow_call:
defaults:
run:
shell: bash
env:
RUNNER_BIN_DIR: /home/runner/.local/bin
permissions:
contents: write
packages: read
checks: write
jobs:
installer-cosmovisor:
name: "Installer - Cosmovisor mode"
runs-on: ubuntu-20.04
env:
PYTHONDEVMODE: 1
DEFAULT_DEBUG_BRANCH: ${{ github.ref_name }}
steps:
- uses: actions/checkout@v4
- name: "Fresh install with Cosmovisor"
working-directory: ./installer
run: |
sudo -E bash -c "python3 installer.py < tests/install-from-scratch-cosmovisor.txt"
- name: "Upgrade - Keep existing"
working-directory: ./installer
run: |
sudo -E bash -c "python3 installer.py < tests/upgrade-existing-cosmovisor.txt"
- name: "Upgrade - Fresh install"
working-directory: ./installer
run: |
sudo -E bash -c "python3 installer.py < tests/upgrade-fresh-install.txt"
- name: Debugging with tmate
if: ${{ failure() }}
uses: mxschmitt/action-tmate@v3
timeout-minutes: 10
installer-standalone:
name: "Installer - Standalone mode"
runs-on: ubuntu-20.04
env:
PYTHONDEVMODE: 1
DEFAULT_DEBUG_BRANCH: ${{ github.ref_name }}
steps:
- uses: actions/checkout@v4
- name: "Fresh install"
working-directory: ./installer
run: |
sudo -E bash -c "python3 installer.py < tests/install-from-scratch-standalone.txt"
- name: "Upgrade existing installation"
working-directory: ./installer
run: |
sudo -E bash -c "python3 installer.py < tests/upgrade-existing-standalone.txt"
- name: "Upgrade with moving to cosmovisor"
working-directory: ./installer
run: |
sudo -E bash -c "python3 installer.py < tests/upgrade-to-cosmovisor.txt"
- name: Debugging with tmate
if: ${{ failure() }}
uses: mxschmitt/action-tmate@v3
timeout-minutes: 10
unit-tests:
name: "Unit Tests"
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- 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: Run Ginkgo unit tests
run: ginkgo -r --race --randomize-all --randomize-suites --keep-going --trace --junit-report report-unit.xml
- name: Upload unit tests result
uses: actions/upload-artifact@v4
with:
name: report-unit.xml
path: report-unit.xml
integration-tests:
name: "Integration Tests"
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Download binary artifact
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: Download node Docker image
uses: actions/download-artifact@v4
with:
name: cheqd-node-build.tar
- name: Load node Docker image
run: docker load -i cheqd-node-build.tar
- name: Generate localnet configs
working-directory: ./docker/localnet
run: |
bash gen-network-config.sh
sudo chown -R 1000:1000 network-config
- name: Set up Docker localnet
working-directory: ./docker/localnet
run: |
docker compose --env-file build-latest.env up --detach --no-build
- name: Import keys
working-directory: ./docker/localnet
run: |
bash import-keys.sh
- 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: Run Ginkgo integration tests
working-directory: ./tests/integration
run: |
sleep 10
ginkgo -r --tags integration --race --randomize-suites --keep-going --trace --junit-report ../../report-integration.xml
- name: Show logs
if: failure()
working-directory: ./docker/localnet
run: docker compose --env-file build-latest.env logs --tail --follow
- name: Upload integration tests result
uses: actions/upload-artifact@v4
with:
name: report-integration.xml
path: report-integration.xml
NOTE: This job is disabled since upgrade tests from v0.6.x to v1.x.x are not needed until next major release.

Check failure on line 168 in .github/workflows/test.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/test.yml

Invalid workflow file

You have an error in your yaml syntax on line 168
# upgrade-tests:
# name: "Upgrade Tests"
# runs-on: ubuntu-20.04
# 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
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]
if: always()
steps:
- uses: actions/checkout@v4
- name: Download unit test
uses: actions/download-artifact@v4
with:
name: report-unit.xml
- name: Download integration test report
uses: actions/download-artifact@v4
with:
name: report-integration.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 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 change test Report
uses: actions/download-artifact@v4
with:
name: report-pricing-change.xml
- name: Combine test results
run: |
# 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
- uses: mikepenz/action-junit-report@v4
with:
report_paths: 'report.xml'
check_name: ""
suite_regex: '*'
include_passed: true
detailed_summary: true