test(system): Introduce system tests - initial version heavily inspired by wasmd #64465
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} | |
liveness-test: | |
runs-on: ubuntu-latest | |
timeout-minutes: 15 | |
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: start localnet | |
if: env.GIT_DIFF | |
run: | | |
make clean localnet-start | |
- name: test liveness | |
if: env.GIT_DIFF | |
run: | | |
./contrib/localnet_liveness.sh 100 5 50 localhost | |
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-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-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 -coverprofile=coverage.out -covermode=atomic -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' ./... | |
- 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: simapp/ | |
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-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-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/ |