name: Tests
|
|
# Tests runs different tests (test_abci_apps, test_abci_cli, test_apps)
|
|
# This workflow runs on every push to master or release branch and every pull requests
|
|
# All jobs will pass without running if no *{.go, .mod, .sum} files have been modified
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- master
|
|
- 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/master'"
|
|
|
|
build:
|
|
name: Build
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 5
|
|
steps:
|
|
- uses: actions/setup-go@v2
|
|
with:
|
|
go-version: "1.15"
|
|
- uses: actions/checkout@v2
|
|
- uses: technote-space/get-diff-action@v4
|
|
with:
|
|
PATTERNS: |
|
|
**/**.go
|
|
go.mod
|
|
go.sum
|
|
- name: install
|
|
run: make install install_abci
|
|
if: "env.GIT_DIFF != ''"
|
|
- uses: actions/cache@v2.1.3
|
|
with:
|
|
path: ~/go/pkg/mod
|
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-go-
|
|
if: env.GIT_DIFF
|
|
# Cache binaries for use by other jobs
|
|
- uses: actions/cache@v2.1.3
|
|
with:
|
|
path: ~/go/bin
|
|
key: ${{ runner.os }}-${{ github.sha }}-tm-binary
|
|
if: env.GIT_DIFF
|
|
|
|
test_abci_apps:
|
|
runs-on: ubuntu-latest
|
|
needs: build
|
|
timeout-minutes: 5
|
|
steps:
|
|
- uses: actions/setup-go@v2
|
|
with:
|
|
go-version: "1.15"
|
|
- uses: actions/checkout@v2
|
|
- uses: technote-space/get-diff-action@v4
|
|
with:
|
|
PATTERNS: |
|
|
**/**.go
|
|
go.mod
|
|
go.sum
|
|
- uses: actions/cache@v2.1.3
|
|
with:
|
|
path: ~/go/pkg/mod
|
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-go-
|
|
if: env.GIT_DIFF
|
|
- uses: actions/cache@v2.1.3
|
|
with:
|
|
path: ~/go/bin
|
|
key: ${{ runner.os }}-${{ github.sha }}-tm-binary
|
|
if: env.GIT_DIFF
|
|
- name: test_abci_apps
|
|
run: abci/tests/test_app/test.sh
|
|
shell: bash
|
|
if: env.GIT_DIFF
|
|
|
|
test_abci_cli:
|
|
runs-on: ubuntu-latest
|
|
needs: build
|
|
timeout-minutes: 5
|
|
steps:
|
|
- uses: actions/setup-go@v2
|
|
with:
|
|
go-version: "1.15"
|
|
- uses: actions/checkout@v2
|
|
- uses: technote-space/get-diff-action@v4
|
|
with:
|
|
PATTERNS: |
|
|
**/**.go
|
|
go.mod
|
|
go.sum
|
|
- uses: actions/cache@v2.1.3
|
|
with:
|
|
path: ~/go/pkg/mod
|
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-go-
|
|
if: env.GIT_DIFF
|
|
- uses: actions/cache@v2.1.3
|
|
with:
|
|
path: ~/go/bin
|
|
key: ${{ runner.os }}-${{ github.sha }}-tm-binary
|
|
if: env.GIT_DIFF
|
|
- run: abci/tests/test_cli/test.sh
|
|
shell: bash
|
|
if: env.GIT_DIFF
|
|
|
|
test_apps:
|
|
runs-on: ubuntu-latest
|
|
needs: build
|
|
timeout-minutes: 5
|
|
steps:
|
|
- uses: actions/setup-go@v2
|
|
with:
|
|
go-version: "1.15"
|
|
- uses: actions/checkout@v2
|
|
- uses: technote-space/get-diff-action@v4
|
|
with:
|
|
PATTERNS: |
|
|
**/**.go
|
|
go.mod
|
|
go.sum
|
|
- uses: actions/cache@v2.1.3
|
|
with:
|
|
path: ~/go/pkg/mod
|
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-go-
|
|
if: env.GIT_DIFF
|
|
- uses: actions/cache@v2.1.3
|
|
with:
|
|
path: ~/go/bin
|
|
key: ${{ runner.os }}-${{ github.sha }}-tm-binary
|
|
if: env.GIT_DIFF
|
|
- name: test_apps
|
|
run: test/app/test.sh
|
|
shell: bash
|
|
if: env.GIT_DIFF
|