Skip to content

chore: improved testing (#96) #112

chore: improved testing (#96)

chore: improved testing (#96) #112

Workflow file for this run

name: Test
on:
- push
- pull_request
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Setup Docker
uses: docker-practice/actions-setup-docker@master
- name: Install Protoc
uses: arduino/setup-protoc@v1
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: "1.22.4"
- name: Checkout code
uses: actions/checkout@v2
- name: Create coverage data directory
run: mkdir raccoon-coverage
- name: Start raccoon
run: make docker-run
- name: Run tests
run: go test ./... -v -cover -test.gocoverdir=$PWD/raccoon-coverage/
env:
INTEGTEST_BOOTSTRAP_SERVER: 'localhost:9094'
INTEGTEST_HOST: 'localhost:8080'
INTEGTEST_TOPIC_FORMAT: 'clickstream-%s-log'
GRPC_SERVER_ADDR: 'localhost:8081'
PUBSUB_EMULATOR_HOST: 'localhost:8085'
LOCALSTACK_HOST: 'http://localhost:4566'
- name: Stop raccoon
run: docker compose down
- name: Merge coverage data
run: go tool covdata textfmt -i=raccoon-coverage -pkg "$(go list ./... | grep -v proto | paste -sd ',')" -o coverage.out
- name: Upload coverage data to coveralls
uses: shogo82148/actions-goveralls@v1
with:
path-to-profile: coverage.out
- name: Upload coverage data as workflow artifact
uses: actions/upload-artifact@v4
with:
name: coverage
path: coverage.out
smoke-test:
runs-on: ubuntu-latest
steps:
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: "1.22.4"
- name: Install Protoc
uses: arduino/setup-protoc@v1
- uses: actions/checkout@v2
- name: Build
run: make build
- name: Smoke test
run: ./raccoon
benchmark:
runs-on: ubuntu-latest
steps:
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: "1.22.4"
- name: Checkout repo
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Invoking go bench test
run: make test-bench