Skip to content

Environment spin up in tests using Kurtosis #53

Environment spin up in tests using Kurtosis

Environment spin up in tests using Kurtosis #53

Workflow file for this run

name: Test
on:
pull_request:
push:
paths:
- "**.go"
branches:
- master
- release/**
jobs:
tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
part: ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19"]
steps:
- uses: actions/setup-go@v3
with:
go-version: "1.19"
- uses: actions/checkout@v3
- uses: technote-space/get-diff-action@v6
with:
PATTERNS: |
**/**.go
"!test/"
go.mod
go.sum
Makefile
- name: Get data from Go build cache
uses: actions/cache@v3
with:
path: |
~/go/pkg/mod
~/.cache/golangci-lint
~/.cache/go-build
key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }}
- name: Run Go Tests
run: |
NUM_SPLIT=20
make test-group-${{matrix.part}} NUM_SPLIT=20
- uses: actions/upload-artifact@v3
with:
name: "${{ github.sha }}-${{ matrix.part }}-coverage"
path: ./${{ matrix.part }}.profile.out
upload-coverage-report:
needs: tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: 1.19
# Download all coverage reports from the 'tests' job
- name: Download coverage reports
uses: actions/download-artifact@v3
- name: Set GOPATH
run: echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV
- name: Add GOPATH/bin to PATH
run: echo "GOBIN=$(go env GOPATH)/bin" >> $GITHUB_ENV
- name: Install gocovmerge
run: go get github.com/wadey/gocovmerge && go install github.com/wadey/gocovmerge
- name: Merge coverage reports
run: gocovmerge $(find . -type f -name '*profile.out') > coverage.txt
- name: Check coverage report lines
run: wc -l coverage.txt
continue-on-error: true
- name: Check coverage report files
run: ls **/*profile.out
continue-on-error: true
# Now we upload the merged report to Codecov
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
file: ./coverage.txt
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true