name: Tests / Code Coverage on: pull_request: merge_group: push: branches: - main permissions: contents: read concurrency: group: ci-${{ github.ref }}-tests cancel-in-progress: true jobs: split-test-files: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true - name: Create a file with all core Cosmos SDK pkgs run: go list ./... > pkgs.txt - name: Split pkgs into 4 files run: split -d -n l/4 pkgs.txt pkgs.txt.part. - uses: actions/upload-artifact@v3 with: name: "${{ github.sha }}-00" path: ./pkgs.txt.part.00 - uses: actions/upload-artifact@v3 with: name: "${{ github.sha }}-01" path: ./pkgs.txt.part.01 - uses: actions/upload-artifact@v3 with: name: "${{ github.sha }}-02" path: ./pkgs.txt.part.02 - uses: actions/upload-artifact@v3 with: name: "${{ github.sha }}-03" path: ./pkgs.txt.part.03 tests: runs-on: ubuntu-latest needs: split-test-files strategy: fail-fast: false matrix: part: ["00", "01", "02", "03"] steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | **/*.go go.mod go.sum **/go.mod **/go.sum **/Makefile Makefile - uses: actions/download-artifact@v3 with: name: "${{ github.sha }}-${{ matrix.part }}" - name: test & coverage report creation if: env.GIT_DIFF run: | cat pkgs.txt.part.${{ matrix.part }} | xargs go test -mod=readonly -race -timeout 30m -coverprofile=${{ matrix.part }}profile.out -covermode=atomic -tags='ledger test_ledger_mock' - uses: actions/upload-artifact@v3 if: env.GIT_DIFF with: name: "${{ github.sha }}-${{ matrix.part }}-coverage" path: ./${{ matrix.part }}profile.out test-integration: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | **/*.go go.mod go.sum **/go.mod **/go.sum **/Makefile Makefile - name: integration tests if: env.GIT_DIFF run: | make test-integration-cov - uses: actions/upload-artifact@v3 if: env.GIT_DIFF with: name: "${{ github.sha }}-integration-coverage" path: ./tests/integration-profile.out test-e2e: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | **/*.go go.mod go.sum **/go.mod **/go.sum **/Makefile Makefile - name: e2e tests if: env.GIT_DIFF run: | make test-e2e-cov - uses: actions/upload-artifact@v3 if: env.GIT_DIFF with: name: "${{ github.sha }}-e2e-coverage" path: ./tests/e2e-profile.out test-system: needs: [tests, test-integration, test-e2e] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-tags: true - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: | simapp/go.sum systemtest/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | **/*.go go.mod go.sum **/go.mod **/go.sum **/Makefile Makefile - name: Install musl lib for simd (docker) binary if: env.GIT_DIFF run: | sudo apt-get install -y musl - name: system tests v1 if: env.GIT_DIFF run: | COSMOS_BUILD_OPTIONS=legacy make test-system - uses: actions/upload-artifact@v3 if: failure() with: name: "testnet-setup" path: ./systemtests/testnet/ retention-days: 3 - name: system tests v2 if: env.GIT_DIFF run: | make test-system - uses: actions/upload-artifact@v3 if: failure() with: name: "testnet-setup" path: ./systemtests/testnet/ retention-days: 3 repo-analysis: runs-on: ubuntu-latest needs: [tests, test-integration, test-e2e] steps: - uses: actions/checkout@v4 - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | **/*.go go.mod go.sum **/go.mod **/go.sum - uses: actions/download-artifact@v3 if: env.GIT_DIFF with: name: "${{ github.sha }}-00-coverage" - uses: actions/download-artifact@v3 if: env.GIT_DIFF with: name: "${{ github.sha }}-01-coverage" - uses: actions/download-artifact@v3 if: env.GIT_DIFF with: name: "${{ github.sha }}-02-coverage" - uses: actions/download-artifact@v3 if: env.GIT_DIFF with: name: "${{ github.sha }}-03-coverage" - uses: actions/download-artifact@v3 if: env.GIT_DIFF with: name: "${{ github.sha }}-integration-coverage" - uses: actions/download-artifact@v3 if: env.GIT_DIFF with: name: "${{ github.sha }}-e2e-coverage" continue-on-error: true - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} test-sim-nondeterminism: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | **/*.go go.mod go.sum **/go.mod **/go.sum **/Makefile Makefile - name: test-sim-nondeterminism if: env.GIT_DIFF run: | make test-sim-nondeterminism ############################### #### Cosmos SDK Submodules #### ############################### # NOTE: The following jobs are used to test the Cosmos SDK Go submodules. # They run when there is a diff in their respective directories. test-clientv2: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: client/v2/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | client/v2/**/*.go client/v2/go.mod client/v2/go.sum - name: tests if: env.GIT_DIFF run: | cd client/v2 go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: client/v2/ test-core: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.20" check-latest: true cache: true cache-dependency-path: core/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | core/**/*.go core/go.mod core/go.sum - name: tests if: env.GIT_DIFF run: | cd core go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: core/ test-coretesting: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.20" check-latest: true cache: true cache-dependency-path: core/testing/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | core/testing/**/*.go core/testing/go.mod core/testing/go.sum - name: tests if: env.GIT_DIFF run: | cd core/testing go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... test-depinject: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.20" check-latest: true cache: true cache-dependency-path: depinject/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | depinject/**/*.go depinject/go.mod depinject/go.sum - name: tests if: env.GIT_DIFF run: | cd depinject go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} test-errors: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.20" check-latest: true cache: true cache-dependency-path: errors/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | errors/**/*.go errors/go.mod errors/go.sum - name: tests if: env.GIT_DIFF run: | cd errors go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: errors/ test-math: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.20" check-latest: true cache: true cache-dependency-path: math/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | math/**/*.go math/go.mod math/go.sum - name: tests if: env.GIT_DIFF run: | cd math go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: math/ test-schema: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.12" cache: true cache-dependency-path: schema/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | schema/**/*.go schema/go.mod schema/go.sum - name: tests if: env.GIT_DIFF run: | cd schema go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: schema/ test-schema-testing: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" cache: true cache-dependency-path: schema/testing/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | schema/testing/**/*.go schema/testing/go.mod schema/testing/go.sum - name: tests if: env.GIT_DIFF run: | cd schema go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: schema/testing/ test-indexer-postgres: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" cache: true cache-dependency-path: indexer/postgres/tests/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | indexer/postgres/**/*.go indexer/postgres/go.mod indexer/postgres/go.sum indexer/postgres/tests/go.mod indexer/postgres/tests/go.sum - name: tests if: env.GIT_DIFF run: | cd indexer/postgres go test -mod=readonly -timeout 30m -coverprofile=cov.out -covermode=atomic ./... cd tests go test -mod=readonly -timeout 30m -coverprofile=cov.out -covermode=atomic -coverpkg=cosmossdk.io/indexer/postgres ./... cd .. go run github.com/dylandreimerink/gocovmerge/cmd/gocovmerge@latest cov.out tests/cov.out > coverage.out - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: indexer/postgres/ test-simapp: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: simapp/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | **/*.go simapp/go.mod simapp/go.sum - name: tests simapp if: env.GIT_DIFF run: | cd simapp go test -mod=readonly -timeout 30m -tags='norace ledger test_ledger_mock' ./... - name: tests simapp v1 if: env.GIT_DIFF run: | cd simapp go test -mod=readonly -timeout 30m -tags='app_v1 norace ledger test_ledger_mock' ./... test-simapp-v2: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | **/*.go go.mod go.sum **/go.mod **/go.sum - name: tests simapp if: env.GIT_DIFF run: | cd simapp/v2 go test -mod=readonly -timeout 30m -tags='norace ledger test_ledger_mock' ./... - name: simapp-v2-smoke-test if: env.GIT_DIFF run: | COSMOS_BUILD_OPTIONS=v2 make install ./scripts/init-simapp-v2.sh simdv2 start & SIMD_PID=$! cnt=0 while ! simdv2 query block --type=height 5; do cnt=$((cnt + 1)) if [ $cnt -gt 30 ]; then kill -9 "$SIMD_PID" exit 1 fi sleep 1 done kill -9 "$SIMD_PID" test-collections: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: collections/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | collections/**/*.go collections/go.mod collections/go.sum - name: tests if: env.GIT_DIFF run: | cd collections go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: collections/ test-orm: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.20" check-latest: true cache: true cache-dependency-path: orm/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | orm/**/*.go orm/go.mod orm/go.sum - name: tests if: env.GIT_DIFF run: | cd orm go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: orm/ test-cosmovisor: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: tools/cosmovisor/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | tools/cosmovisor/**/*.go tools/cosmovisor/go.mod tools/cosmovisor/go.sum - name: tests if: env.GIT_DIFF run: | cd tools/cosmovisor go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: tools/cosmovisor/ test-confix: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: tools/confix/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | tools/confix/**/*.go tools/confix/go.mod tools/confix/go.sum - name: tests if: env.GIT_DIFF run: | cd tools/confix go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: tools/confix/ test-hubl: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: tools/hubl/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | tools/hubl/**/*.go tools/hubl/go.mod tools/hubl/go.sum - name: tests if: env.GIT_DIFF run: | cd tools/hubl go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: tools/hubl/ test-store: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: DeterminateSystems/nix-installer-action@main - uses: DeterminateSystems/magic-nix-cache-action@main - uses: actions/setup-go@v5 with: go-version: "1.20" check-latest: true cache: true cache-dependency-path: store/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | store/**/*.go store/go.mod store/go.sum - name: tests if: env.GIT_DIFF run: | cd store nix develop .. -c go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock rocksdb' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: store/ test-store-v2: runs-on: ubuntu-latest strategy: fail-fast: false steps: - uses: actions/checkout@v4 - uses: DeterminateSystems/nix-installer-action@main - uses: DeterminateSystems/magic-nix-cache-action@main - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: store/v2/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | store/v2/**/*.go store/v2/go.mod store/v2/go.sum - name: test & coverage report creation if: env.GIT_DIFF run: | cd store/v2 nix develop .. -c go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock rocksdb' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: store/v2/ test-log: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.20" check-latest: true cache: true cache-dependency-path: log/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | log/*.go log/go.mod log/go.sum - name: tests if: env.GIT_DIFF run: | cd log go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: log/ ############################# ### Cosmos SDK x/{module} ### ############################# # NOTE: The following jobs are used to test the Cosmos SDK Go submodules present under x/{module}. # They run when there is a diff in their respective directories. test-x-accounts: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/accounts/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/accounts/**/*.go x/accounts/go.mod x/accounts/go.sum - name: tests if: env.GIT_DIFF run: | cd x/accounts go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/accounts/ test-x-accounts-lockup: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/accounts/defaults/lockup/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/accounts/defaults/lockup/**/*.go x/accounts/defaults/lockup/go.mod x/accounts/defaults/lockup/go.sum - name: tests if: env.GIT_DIFF run: | cd x/accounts/defaults/lockup go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... test-x-accounts-multisig: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/accounts/multisig/lockup/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/accounts/defaults/multisig/**/*.go x/accounts/defaults/multisig/go.mod x/accounts/defaults/multisig/go.sum - name: tests if: env.GIT_DIFF run: | cd x/accounts/defaults/multisig go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... test-x-tx: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/tx/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/tx/**/*.go x/tx/go.mod x/tx/go.sum - name: tests if: env.GIT_DIFF run: | cd x/tx go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/tx/ test-x-nft: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/nft/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/nft/**/*.go x/nft/go.mod x/nft/go.sum - name: tests if: env.GIT_DIFF run: | cd x/nft go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/nft/ test-x-circuit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/circuit/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/circuit/**/*.go x/circuit/go.mod x/circuit/go.sum - name: tests if: env.GIT_DIFF run: | cd x/circuit go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/circuit/ test-x-distribution: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/distribution/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/distribution/**/*.go x/distribution/go.mod x/distribution/go.sum - name: tests if: env.GIT_DIFF run: | cd x/distribution go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/distribution/ test-x-protocolpool: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/protocolpool/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/protocolpool/**/*.go x/protocolpool/go.mod x/protocolpool/go.sum - name: tests if: env.GIT_DIFF run: | cd x/protocolpool go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/protocolpool/ test-x-feegrant: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/feegrant/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/feegrant/**/*.go x/feegrant/go.mod x/feegrant/go.sum - name: tests if: env.GIT_DIFF run: | cd x/feegrant go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/feegrant/ test-x-evidence: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/evidence/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/evidence/**/*.go x/evidence/go.mod x/evidence/go.sum - name: tests if: env.GIT_DIFF run: | cd x/evidence go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/evidence/ test-x-params: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/params/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/params/**/*.go x/params/go.mod x/params/go.sum - name: tests if: env.GIT_DIFF run: | cd x/params go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/params/ test-x-upgrade: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/upgrade/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/upgrade/**/*.go x/upgrade/go.mod x/upgrade/go.sum - name: tests if: env.GIT_DIFF run: | cd x/upgrade go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/upgrade/ test-x-group: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/group/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/group/**/*.go x/group/go.mod x/group/go.sum - name: tests if: env.GIT_DIFF run: | cd x/group go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/group/ test-x-gov: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/gov/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/gov/**/*.go x/gov/go.mod x/gov/go.sum - name: tests if: env.GIT_DIFF run: | cd x/gov go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/gov/ test-x-slashing: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/slashing/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/slashing/**/*.go x/slashing/go.mod x/slashing/go.sum - name: tests if: env.GIT_DIFF run: | cd x/slashing go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/slashing/ test-x-staking: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/staking/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/staking/**/*.go x/staking/go.mod x/staking/go.sum - name: tests if: env.GIT_DIFF run: | cd x/staking go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/staking/ test-x-auth: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/auth/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/auth/**/*.go x/auth/go.mod x/auth/go.sum - name: tests if: env.GIT_DIFF run: | cd x/auth go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/auth/ test-x-authz: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/authz/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/authz/**/*.go x/authz/go.mod x/authz/go.sum - name: tests if: env.GIT_DIFF run: | cd x/authz go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/authz/ test-x-bank: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/bank/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/bank/**/*.go x/bank/go.mod x/bank/go.sum - name: tests if: env.GIT_DIFF run: | cd x/bank go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/bank/ test-x-mint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/mint/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/mint/**/*.go x/mint/go.mod x/mint/go.sum - name: tests if: env.GIT_DIFF run: | cd x/mint go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/mint/ test-x-epochs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/epochs/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/epochs/**/*.go x/epochs/go.mod x/epochs/go.sum - name: tests if: env.GIT_DIFF run: | cd x/epochs go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/epochs/ test-x-consensus: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" check-latest: true cache: true cache-dependency-path: x/consensus/go.sum - uses: technote-space/get-diff-action@v6.1.2 id: git_diff with: PATTERNS: | x/consensus/**/*.go x/consensus/go.mod x/consensus/go.sum - name: tests if: env.GIT_DIFF run: | cd x/consensus go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... - name: sonarcloud if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: x/consensus/