Skip to content

feat: add tracing api and instrument BaseApp #84460

feat: add tracing api and instrument BaseApp

feat: add tracing api and instrument BaseApp #84460

Workflow file for this run

name: Tests / Code Coverage
on:
pull_request:
merge_group:
push:
branches:
- main
permissions:
contents: write
pull-requests: write
concurrency:
group: ci-${{ github.ref }}-tests
cancel-in-progress: true
jobs:
split-test-files:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
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@v4
with:
name: "${{ github.sha }}-00"
path: ./pkgs.txt.part.00
- uses: actions/upload-artifact@v4
with:
name: "${{ github.sha }}-01"
path: ./pkgs.txt.part.01
- uses: actions/upload-artifact@v4
with:
name: "${{ github.sha }}-02"
path: ./pkgs.txt.part.02
- uses: actions/upload-artifact@v4
with:
name: "${{ github.sha }}-03"
path: ./pkgs.txt.part.03
tests:
runs-on: depot-ubuntu-22.04-4
needs: split-test-files
strategy:
fail-fast: false
matrix:
part: ["00", "01", "02", "03"]
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: go.sum
- uses: technote-space/[email protected]
id: git_diff
with:
PATTERNS: |
**/*.go
go.mod
go.sum
**/go.mod
**/go.sum
**/Makefile
Makefile
- uses: actions/download-artifact@v4
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@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-${{ matrix.part }}-coverage"
path: ./${{ matrix.part }}profile.out
test-integration:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: go.sum
- uses: technote-space/[email protected]
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@v4
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@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: go.sum
- uses: technote-space/[email protected]
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@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-e2e-coverage"
path: ./tests/e2e-profile.out
repo-analysis:
runs-on: depot-ubuntu-22.04-4
needs: [tests, test-integration, test-e2e, test-clientv2, test-core, test-depinject, test-errors, test-math, test-schema, test-collections, test-cosmovisor, test-confix, test-store, test-log, test-x-tx, test-tools-benchmark]
steps:
- uses: actions/checkout@v5
- uses: technote-space/[email protected]
id: git_diff
with:
PATTERNS: |
**/*.go
go.mod
go.sum
**/go.mod
**/go.sum
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-00-coverage"
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-01-coverage"
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-02-coverage"
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-03-coverage"
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-integration-coverage"
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-e2e-coverage"
continue-on-error: true
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-clientv2-coverage"
continue-on-error: true
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-core-coverage"
continue-on-error: true
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-depinject-coverage"
continue-on-error: true
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-errors-coverage"
continue-on-error: true
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-math-coverage"
continue-on-error: true
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-schema-coverage"
continue-on-error: true
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-collections-coverage"
continue-on-error: true
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-cosmovisor-coverage"
continue-on-error: true
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-confix-coverage"
continue-on-error: true
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-store-coverage"
continue-on-error: true
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-blockstm-coverage"
continue-on-error: true
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-log-coverage"
continue-on-error: true
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-x-tx-coverage"
continue-on-error: true
- uses: actions/download-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-tools-benchmark-coverage"
continue-on-error: true
- name: Upload coverage to Codecov
if: env.GIT_DIFF
uses: codecov/codecov-action@v5
with:
files: ./00profile.out,./01profile.out,./02profile.out,./03profile.out,./integration-profile.out,./e2e-profile.out,./client/v2/coverage.out,./core/coverage.out,./depinject/coverage.out,./errors/coverage.out,./math/coverage.out,./schema/coverage.out,./collections/coverage.out,./tools/cosmovisor/coverage.out,./tools/confix/coverage.out,./store/coverage.out,./log/coverage.out,./x/tx/coverage.out,./tools/benchmark/coverage.out,./blockstm/coverage.out
fail_ci_if_error: false
verbose: true
token: ${{ secrets.CODECOV_TOKEN }}
test-sim-nondeterminism:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: go.sum
- uses: technote-space/[email protected]
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: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: client/v2/go.sum
- uses: technote-space/[email protected]
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' ./...
- uses: actions/upload-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-clientv2-coverage"
path: ./client/v2/coverage.out
test-core:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: core/go.sum
- uses: technote-space/[email protected]
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' ./...
- uses: actions/upload-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-core-coverage"
path: ./core/coverage.out
test-depinject:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: false
cache: true
cache-dependency-path: depinject/go.sum
- uses: technote-space/[email protected]
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' ./...
- uses: actions/upload-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-depinject-coverage"
path: ./depinject/coverage.out
test-errors:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: errors/go.sum
- uses: technote-space/[email protected]
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' ./...
- uses: actions/upload-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-errors-coverage"
path: ./errors/coverage.out
test-math:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: math/go.sum
- uses: technote-space/[email protected]
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' ./...
- uses: actions/upload-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-math-coverage"
path: ./math/coverage.out
test-schema:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.12"
cache: true
cache-dependency-path: schema/go.sum
- uses: technote-space/[email protected]
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' ./...
- uses: actions/upload-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-schema-coverage"
path: ./schema/coverage.out
test-collections:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: collections/go.sum
- uses: technote-space/[email protected]
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' ./...
- uses: actions/upload-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-collections-coverage"
path: ./collections/coverage.out
test-cosmovisor:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: tools/cosmovisor/go.sum
- uses: technote-space/[email protected]
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' ./...
- uses: actions/upload-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-cosmovisor-coverage"
path: ./tools/cosmovisor/coverage.out
test-confix:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: tools/confix/go.sum
- uses: technote-space/[email protected]
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' ./...
- uses: actions/upload-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-confix-coverage"
path: ./tools/confix/coverage.out
test-store:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: store/go.sum
- uses: technote-space/[email protected]
id: git_diff
with:
PATTERNS: |
store/**/*.go
store/go.mod
store/go.sum
- name: tests
if: env.GIT_DIFF
run: |
cd store
(cd streaming/abci/examples/file && go build .)
go test -ldflags "-r /usr/local/lib" -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./...
- uses: actions/upload-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-store-coverage"
path: ./store/coverage.out
test-blockstm:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: store/go.sum
- uses: technote-space/[email protected]
id: git_diff
with:
PATTERNS: |
blockstm/**/*.go
blockstm/go.mod
blockstm/go.sum
- name: tests
if: env.GIT_DIFF
run: |
cd blockstm
go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -coverpkg=./,./tree -tags='norace ledger test_ledger_mock' ./...
- uses: actions/upload-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-blockstm-coverage"
path: ./blockstm/coverage.out
test-log:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: log/go.sum
- uses: technote-space/[email protected]
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' ./...
- uses: actions/upload-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-log-coverage"
path: ./log/coverage.out
#############################
### 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-tx:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: x/tx/go.sum
- uses: technote-space/[email protected]
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' ./...
- uses: actions/upload-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-x-tx-coverage"
path: ./x/tx/coverage.out
test-tools-benchmark:
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: "1.25"
check-latest: true
cache: true
cache-dependency-path: tools/benchmark/go.sum
- uses: technote-space/[email protected]
id: git_diff
with:
PATTERNS: |
tools/benchmark/**/*.go
tools/benchmark/go.mod
tools/benchmark/go.sum
- name: tests
if: env.GIT_DIFF
run: |
cd tools/benchmark
go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace' ./...
- uses: actions/upload-artifact@v4
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-tools-benchmark-coverage"
path: ./tools/benchmark/coverage.out