Firehose #26
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 | |
on: | |
pull_request: | |
push: | |
branches: | |
- develop | |
- release/** | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
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: | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: 1.21 | |
check-latest: true | |
- uses: actions/checkout@v3 | |
- uses: technote-space/[email protected] | |
with: | |
PATTERNS: | | |
**/**.sol | |
**/**.go | |
go.mod | |
go.sum | |
- name: Test and Create Coverage Report | |
run: | | |
make test-unit-cover | |
if: env.GIT_DIFF | |
- uses: codecov/codecov-action@v4 | |
with: | |
file: ./coverage.txt | |
fail_ci_if_error: true | |
token: ${{ secrets.CODECOV_TOKEN }} | |
if: env.GIT_DIFF | |
test-importer: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: 1.21 | |
check-latest: true | |
- uses: actions/checkout@v3 | |
- uses: technote-space/[email protected] | |
id: git_diff | |
with: | |
PATTERNS: | | |
**/**.go | |
go.mod | |
go.sum | |
- name: test-importer | |
run: | | |
make test-import | |
if: env.GIT_DIFF | |
test-rpc: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: 1.21 | |
check-latest: true | |
- uses: actions/checkout@v3 | |
- uses: technote-space/[email protected] | |
with: | |
PATTERNS: | | |
**/**.sol | |
**/**.go | |
go.mod | |
go.sum | |
- name: Test rpc endpoint | |
run: | | |
make test-rpc | |
if: env.GIT_DIFF | |
integration_tests: | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
strategy: | |
matrix: | |
tests: [unmarked, upgrade, filter] | |
env: | |
TESTS_TO_RUN: ${{ matrix.tests }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: cachix/install-nix-action@v26 | |
with: | |
nix_path: nixpkgs=channel:nixos-23.11 | |
extra_nix_config: | | |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | |
- uses: cachix/cachix-action@v14 | |
with: | |
name: crypto-ethermint | |
signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}" | |
- uses: technote-space/[email protected] | |
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 | |
upload-cache: | |
if: github.event_name == 'push' | |
needs: ["integration_tests"] | |
strategy: | |
matrix: | |
os: [macos-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: cachix/install-nix-action@v26 | |
with: | |
nix_path: nixpkgs=channel:nixos-23.11 | |
extra_nix_config: | | |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | |
- uses: cachix/cachix-action@v14 | |
with: | |
name: crypto-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: 120 | |
steps: | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: 1.21 | |
check-latest: true | |
- uses: actions/checkout@v3 | |
- uses: technote-space/[email protected] | |
with: | |
PATTERNS: | | |
**/**.go | |
go.mod | |
go.sum | |
- name: Test simulation nondeterminism | |
run: | | |
make test-sim-nondeterminism | |
if: env.GIT_DIFF | |
test-sim-random-genesis-fast: | |
runs-on: ubuntu-latest | |
timeout-minutes: 120 | |
steps: | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: 1.21 | |
check-latest: true | |
- uses: actions/checkout@v3 | |
- uses: technote-space/[email protected] | |
with: | |
PATTERNS: | | |
**/**.go | |
go.mod | |
go.sum | |
- name: Test simulation with random genesis | |
run: | | |
make test-sim-random-genesis-fast | |
if: env.GIT_DIFF | |
test-sim-import-export: | |
runs-on: ubuntu-latest | |
timeout-minutes: 120 | |
steps: | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: 1.21 | |
check-latest: true | |
- uses: actions/checkout@v3 | |
- uses: technote-space/[email protected] | |
with: | |
PATTERNS: | | |
**/**.go | |
go.mod | |
go.sum | |
- name: Simulation of import and export genesis | |
run: | | |
make test-sim-import-export | |
if: env.GIT_DIFF | |
test-sim-after-import: | |
runs-on: ubuntu-latest | |
timeout-minutes: 120 | |
steps: | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: 1.21 | |
check-latest: true | |
- uses: actions/checkout@v3 | |
- uses: technote-space/[email protected] | |
with: | |
PATTERNS: | | |
**/**.go | |
go.mod | |
go.sum | |
- name: Test simulation after import | |
run: | | |
make test-sim-after-import | |
if: env.GIT_DIFF |