Skip to content

Setup unit tests

Setup unit tests #1

Workflow file for this run

name: test
on:
push:
branches:
- main
pull_request:
permissions:
contents: read
jobs:
test:
name: Run Tests
runs-on: ubuntu-latest
strategy:
matrix:
go-version: ['1.23', '1.24']
steps:
- name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Go
uses: actions/setup-go@44694677b345b0fc1c561a53f573162bd1dd1749 # v6.0.0
with:
go-version: ${{ matrix.go-version }}
check-latest: true
- name: Download dependencies
run: go mod download
- name: Verify dependencies
run: go mod verify
- name: Run tests
run: go test -v -race -coverprofile=coverage.out -covermode=atomic ./...
- name: Run benchmarks
run: go test -bench=. -benchmem ./...
- name: Check code formatting
run: |
if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then
echo "The following files need to be formatted:"
gofmt -s -l .
exit 1
fi
- name: Run go vet
run: go vet ./...
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Go
uses: actions/setup-go@44694677b345b0fc1c561a53f573162bd1dd1749 # v6.0.0
with:
go-version: '1.24'
check-latest: true
- name: Build
run: go build -v ./...