laconicd/.github/workflows/test.yml

230 lines
5.7 KiB
YAML
Raw Normal View History

name: Tests
on:
pull_request:
push:
branches:
- main
- release/**
jobs:
cleanup-runs:
runs-on: ubuntu-latest
steps:
- uses: rokroskar/workflow-run-cleanup-action@master
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/main'"
test-unit-cover:
runs-on: ubuntu-latest
steps:
2022-10-21 05:49:29 +00:00
- uses: actions/setup-go@v3
2021-04-17 10:00:07 +00:00
with:
2022-10-04 18:21:32 +00:00
go-version: 1.18
2022-10-21 05:49:29 +00:00
check-latest: true
- uses: actions/checkout@v3
2022-10-21 05:49:29 +00:00
- uses: technote-space/get-diff-action@v6.1.1
with:
PATTERNS: |
**/**.go
go.mod
go.sum
- name: Test and Create Coverage Report
run: |
make test-unit-cover
if: env.GIT_DIFF
2022-10-21 05:49:29 +00:00
- uses: codecov/codecov-action@v3
with:
file: ./coverage.txt
fail_ci_if_error: true
if: env.GIT_DIFF
test-importer:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
2022-10-21 05:49:29 +00:00
- uses: actions/setup-go@v3
with:
2022-10-04 18:21:32 +00:00
go-version: 1.18
2022-10-21 05:49:29 +00:00
check-latest: true
- uses: actions/checkout@v3
2022-10-21 05:49:29 +00:00
- uses: technote-space/get-diff-action@v6.1.1
id: git_diff
with:
2022-10-21 05:49:29 +00:00
PATTERNS: |
**/**.go
go.mod
go.sum
- name: test-importer
run: |
make test-import
if: env.GIT_DIFF
2022-10-21 05:49:29 +00:00
test-rpc:
runs-on: ubuntu-latest
2022-10-21 05:49:29 +00:00
timeout-minutes: 15
steps:
2022-10-21 05:49:29 +00:00
- uses: actions/setup-go@v3
with:
2022-10-04 18:21:32 +00:00
go-version: 1.18
2022-10-21 05:49:29 +00:00
check-latest: true
- uses: actions/checkout@v3
- uses: technote-space/get-diff-action@v6.1.1
with:
2021-09-07 07:54:53 +00:00
PATTERNS: |
**/**.sol
**/**.go
go.mod
go.sum
2022-10-21 05:49:29 +00:00
- name: Test rpc endpoint
run: |
2022-10-21 05:49:29 +00:00
make test-rpc
if: env.GIT_DIFF
2022-10-21 05:49:29 +00:00
test-e2e:
runs-on: ubuntu-latest
2022-10-21 05:49:29 +00:00
timeout-minutes: 15
steps:
2022-10-21 05:49:29 +00:00
- uses: actions/setup-go@v3
with:
2022-10-04 18:21:32 +00:00
go-version: 1.18
2022-10-21 05:49:29 +00:00
check-latest: true
- uses: actions/checkout@v3
- uses: technote-space/get-diff-action@v6.1.1
with:
PATTERNS: |
2022-10-21 05:49:29 +00:00
**/**.sol
**/**.go
go.mod
go.sum
2022-10-21 05:49:29 +00:00
- name: Test e2e
run: |
2022-10-21 05:49:29 +00:00
make test-integration
if: env.GIT_DIFF
2022-10-21 05:49:29 +00:00
2022-10-27 09:19:15 +00:00
# integration_tests:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - uses: cachix/install-nix-action@v18
# - uses: cachix/cachix-action@v11
# with:
# name: ethermint
# signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}"
# - uses: technote-space/get-diff-action@v6.1.1
# with:
# PATTERNS: |
# **/**.sol
# **/**.go
# go.mod
# go.sum
# tests/integration_tests/**
# - name: Run integration tests
# run: make run-integration-tests
# if: env.GIT_DIFF
# - name: 'Tar debug files'
# if: failure()
# run: tar cfz debug_files.tar.gz -C /tmp/pytest-of-runner .
# - uses: actions/upload-artifact@v3
# if: failure()
# with:
# name: debug-files
# path: debug_files.tar.gz
# if-no-files-found: ignore
2022-10-21 05:49:29 +00:00
upload-cache:
if: github.event_name == 'push'
needs: ["integration_tests"]
strategy:
matrix:
os: [macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: cachix/install-nix-action@v18
- uses: cachix/cachix-action@v11
with:
name: ethermint
signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}"
- name: 'instantiate integration test env'
run: nix-store -r $(nix-instantiate tests/integration_tests/shell.nix)
test-sim-nondeterminism:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/setup-go@v3
with:
go-version: 1.18
check-latest: true
- uses: actions/checkout@v3
- uses: technote-space/get-diff-action@v6.1.1
with:
PATTERNS: |
**/**.go
go.mod
go.sum
- name: Test simulation nondeterminism
run: |
2022-10-21 05:49:29 +00:00
make test-sim-nondeterminism
if: env.GIT_DIFF
2022-10-21 05:49:29 +00:00
test-sim-random-genesis-fast:
runs-on: ubuntu-latest
2022-10-21 05:49:29 +00:00
timeout-minutes: 25
steps:
2022-10-21 05:49:29 +00:00
- uses: actions/setup-go@v3
with:
2022-10-04 18:21:32 +00:00
go-version: 1.18
2022-10-21 05:49:29 +00:00
check-latest: true
- uses: actions/checkout@v3
2022-10-21 05:49:29 +00:00
- uses: technote-space/get-diff-action@v6.1.1
with:
PATTERNS: |
**/**.go
go.mod
go.sum
2022-10-21 05:49:29 +00:00
- name: Test simulation with random genesis
run: |
2022-10-21 05:49:29 +00:00
make test-sim-random-genesis-fast
if: env.GIT_DIFF
2022-10-21 05:49:29 +00:00
test-sim-import-export:
runs-on: ubuntu-latest
2022-10-21 05:49:29 +00:00
timeout-minutes: 25
steps:
2022-10-21 05:49:29 +00:00
- uses: actions/setup-go@v3
with:
2022-10-04 18:21:32 +00:00
go-version: 1.18
2022-10-21 05:49:29 +00:00
check-latest: true
- uses: actions/checkout@v3
2022-10-21 05:49:29 +00:00
- uses: technote-space/get-diff-action@v6.1.1
with:
PATTERNS: |
**/**.go
go.mod
go.sum
2022-10-21 05:49:29 +00:00
- name: Simulation of import and export genesis
run: |
2022-10-21 05:49:29 +00:00
make test-sim-import-export
2022-10-04 18:21:32 +00:00
if: env.GIT_DIFF
2022-10-21 05:49:29 +00:00
test-sim-after-import:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/setup-go@v3
with:
go-version: 1.18
check-latest: true
- uses: actions/checkout@v3
- uses: technote-space/get-diff-action@v6.1.1
with:
PATTERNS: |
**/**.go
go.mod
go.sum
- name: Test simulation after import
run: |
make test-sim-after-import
if: env.GIT_DIFF