Skip to content

Tests

Tests #12946

Workflow file for this run

name: Tests
on:
pull_request:
types: [opened, synchronize, reopened, labeled]
merge_group:
types: [checks_requested]
concurrency:
group: ci-${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
jobs:
install-tparse:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v5
with:
go-version: "1.22"
- uses: actions/cache@v4
id: cache-go-tparse
with:
path: ~/go/bin
key: ${{ runner.os }}-go-tparse-binary
- name: Install tparse
if: steps.cache-go-tparse.outputs.cache-hit != 'true'
run: |
go install github.com/mfridman/[email protected]
build:
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64, arm64]
targetos: [darwin, linux]
name: umeed ${{ matrix.targetos }}-${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
- name: Cache binaries
id: cache-binaries
uses: actions/cache@v4
with:
path: ./cmd/umeed/umeed
key: umeed-${{ matrix.targetos }}-${{ matrix.arch }}
- uses: technote-space/[email protected]
with:
PATTERNS: |
**/**.go
FILES: |
go.mod
go.sum
- name: Setup go
if: steps.cache-binaries.outputs.cache-hit != 'true' && env.GIT_DIFF
uses: actions/setup-go@v5
with:
go-version: "1.22"
cache: true
env:
GOOS: ${{ matrix.targetos }}
GOARCH: ${{ matrix.arch }}
- name: Compile
if: steps.cache-binaries.outputs.cache-hit != 'true' && env.GIT_DIFF
run: |
go mod download
make build
test-unit-cover:
runs-on: ubuntu-latest
needs: install-tparse
steps:
- uses: actions/checkout@v4
- uses: technote-space/[email protected]
with:
PATTERNS: |
**/**.go
FILES: |
go.mod
go.sum
- uses: actions/setup-go@v5
if: env.GIT_DIFF
with:
go-version: "1.22"
cache: true
- name: Test and Create Coverage Report
if: env.GIT_DIFF
run: |
EXPERIMENTAL=true make test-unit-cover
- uses: codecov/[email protected]
if: env.GIT_DIFF
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.txt
fail_ci_if_error: true
verbose: true
test-e2e:
# skip the e2e tests when `skip-e2e-test` label is present on pull request
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-e2e-test') }}
runs-on: ubuntu-latest
needs: install-tparse
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- uses: technote-space/[email protected]
with:
PATTERNS: |
**/**.go
FILES: |
go.mod
go.sum
- uses: actions/setup-go@v5
if: env.GIT_DIFF
with:
go-version: "1.22"
cache: true
- name: Test E2E
if: env.GIT_DIFF
run: |
make test-e2e
liveness-test:
needs: install-tparse
# needs: build-umeed
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: technote-space/[email protected]
id: git_diff
with:
PATTERNS: |
**/**.go
FILES: |
go.mod
go.sum
- name: Cache updated version binary
id: cache-binaries
uses: actions/cache@v4
with:
path: ./cmd/umeed/umeed
key: umeed-linux-amd64
- name: Move new version binary to build folder
if: steps.cache-binaries.outputs.cache-hit == 'true'
run: |
mkdir -p build
cp ./cmd/umeed/umeed ./build/umeed
chmod +x ./build/umeed
- name: Start single node chain
if: env.GIT_DIFF && steps.cache-binaries.outputs.cache-hit == 'true'
run: |
./contrib/scripts/single-node.sh
- name: Test Local Network Liveness
if: env.GIT_DIFF && steps.cache-binaries.outputs.cache-hit == 'true'
run: |
sleep 1m
./contrib/scripts/test_localnet_liveness.sh 50 5 50 localhost:26657