|
|
@ -1,19 +1,20 @@ |
|
|
|
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 |
|
|
|
name: Test |
|
|
|
on: |
|
|
|
pull_request: |
|
|
|
push: |
|
|
|
paths: |
|
|
|
- "**.go" |
|
|
|
branches: |
|
|
|
- master |
|
|
|
- release/** |
|
|
|
|
|
|
|
jobs: |
|
|
|
build: |
|
|
|
name: Build |
|
|
|
tests: |
|
|
|
runs-on: ubuntu-latest |
|
|
|
timeout-minutes: 5 |
|
|
|
strategy: |
|
|
|
fail-fast: false |
|
|
|
matrix: |
|
|
|
part: ["00", "01", "02", "03"] |
|
|
|
steps: |
|
|
|
- uses: actions/setup-go@v2 |
|
|
|
with: |
|
|
@ -23,84 +24,52 @@ jobs: |
|
|
|
with: |
|
|
|
PATTERNS: | |
|
|
|
**/**.go |
|
|
|
"!test/" |
|
|
|
go.mod |
|
|
|
go.sum |
|
|
|
- name: install |
|
|
|
run: make install install_abci |
|
|
|
if: "env.GIT_DIFF != ''" |
|
|
|
- uses: actions/cache@v2.1.7 |
|
|
|
with: |
|
|
|
path: ~/go/pkg/mod |
|
|
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} |
|
|
|
restore-keys: | |
|
|
|
${{ runner.os }}-go- |
|
|
|
Makefile |
|
|
|
- name: Run Go Tests |
|
|
|
run: | |
|
|
|
make test-group-${{ matrix.part }} NUM_SPLIT=4 |
|
|
|
if: env.GIT_DIFF |
|
|
|
# Cache binaries for use by other jobs |
|
|
|
- uses: actions/cache@v2.1.7 |
|
|
|
- uses: actions/upload-artifact@v2 |
|
|
|
with: |
|
|
|
path: ~/go/bin |
|
|
|
key: ${{ runner.os }}-${{ github.sha }}-tm-binary |
|
|
|
if: env.GIT_DIFF |
|
|
|
name: "${{ github.sha }}-${{ matrix.part }}-coverage" |
|
|
|
path: ./build/${{ matrix.part }}.profile.out |
|
|
|
|
|
|
|
test_abci_cli: |
|
|
|
upload-coverage-report: |
|
|
|
runs-on: ubuntu-latest |
|
|
|
needs: build |
|
|
|
timeout-minutes: 5 |
|
|
|
needs: tests |
|
|
|
steps: |
|
|
|
- uses: actions/setup-go@v2 |
|
|
|
with: |
|
|
|
go-version: "1.17" |
|
|
|
- uses: actions/checkout@v2.4.0 |
|
|
|
- uses: technote-space/get-diff-action@v5 |
|
|
|
with: |
|
|
|
PATTERNS: | |
|
|
|
**/**.go |
|
|
|
"!test/" |
|
|
|
go.mod |
|
|
|
go.sum |
|
|
|
- uses: actions/cache@v2.1.7 |
|
|
|
Makefile |
|
|
|
- uses: actions/download-artifact@v2 |
|
|
|
with: |
|
|
|
path: ~/go/pkg/mod |
|
|
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} |
|
|
|
restore-keys: | |
|
|
|
${{ runner.os }}-go- |
|
|
|
name: "${{ github.sha }}-00-coverage" |
|
|
|
if: env.GIT_DIFF |
|
|
|
- uses: actions/cache@v2.1.7 |
|
|
|
- uses: actions/download-artifact@v2 |
|
|
|
with: |
|
|
|
path: ~/go/bin |
|
|
|
key: ${{ runner.os }}-${{ github.sha }}-tm-binary |
|
|
|
if: env.GIT_DIFF |
|
|
|
- run: abci/tests/test_cli/test.sh |
|
|
|
shell: bash |
|
|
|
name: "${{ github.sha }}-01-coverage" |
|
|
|
if: env.GIT_DIFF |
|
|
|
|
|
|
|
test_apps: |
|
|
|
runs-on: ubuntu-latest |
|
|
|
needs: build |
|
|
|
timeout-minutes: 5 |
|
|
|
steps: |
|
|
|
- uses: actions/setup-go@v2 |
|
|
|
- uses: actions/download-artifact@v2 |
|
|
|
with: |
|
|
|
go-version: "1.17" |
|
|
|
- uses: actions/checkout@v2.4.0 |
|
|
|
- uses: technote-space/get-diff-action@v5 |
|
|
|
with: |
|
|
|
PATTERNS: | |
|
|
|
**/**.go |
|
|
|
go.mod |
|
|
|
go.sum |
|
|
|
- uses: actions/cache@v2.1.7 |
|
|
|
with: |
|
|
|
path: ~/go/pkg/mod |
|
|
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} |
|
|
|
restore-keys: | |
|
|
|
${{ runner.os }}-go- |
|
|
|
name: "${{ github.sha }}-02-coverage" |
|
|
|
if: env.GIT_DIFF |
|
|
|
- uses: actions/cache@v2.1.7 |
|
|
|
- uses: actions/download-artifact@v2 |
|
|
|
with: |
|
|
|
path: ~/go/bin |
|
|
|
key: ${{ runner.os }}-${{ github.sha }}-tm-binary |
|
|
|
name: "${{ github.sha }}-03-coverage" |
|
|
|
if: env.GIT_DIFF |
|
|
|
- name: test_apps |
|
|
|
run: test/app/test.sh |
|
|
|
shell: bash |
|
|
|
- run: | |
|
|
|
cat ./*profile.out | grep -v "mode: set" >> coverage.txt |
|
|
|
if: env.GIT_DIFF |
|
|
|
- uses: codecov/codecov-action@v2.1.0 |
|
|
|
with: |
|
|
|
file: ./coverage.txt |
|
|
|
if: env.GIT_DIFF |