Files
prometheus-fail2ban-exporter/.gitea/workflows/golang-tests.yaml
Markus Pesch 84b85fdd37
Some checks failed
Run Golang tests / Run unit tests (stable, ubuntu-latest-arm64) (push) Waiting to run
Lint Golang files / Run golang CI linter (stable, ubuntu-latest-amd64) (push) Successful in 21s
Run Golang tests / Run unit tests (stable, ubuntu-latest-amd64) (push) Failing after 50s
Lint Golang files / Run golang CI linter (stable, ubuntu-latest-arm64) (push) Successful in 1m34s
Lint Markdown files / Run markdown linter (push) Successful in 33s
fix(ci): add coverage
2025-10-29 22:24:30 +01:00

57 lines
1.6 KiB
YAML

name: "Run Golang tests"
on:
pull_request:
types: [ "opened", "reopened", "synchronize" ]
push:
branches: [ '**' ]
tags-ignore: [ '**' ]
workflow_dispatch: {}
jobs:
# integration-test:
# name: "Run integration tests"
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# go: [ stable ]
# os: [ ubuntu-latest-amd64, ubuntu-latest-arm64 ]
# steps:
# - uses: actions/checkout@v4.3.0
# - uses: actions/setup-go@v5.5.0
# with:
# go-version: ${{ matrix.go }}
# - env:
# GOPROXY: ${{ vars.GOPROXY }}
# run: make test/integration
unit-test:
name: "Run unit tests"
runs-on: ${{ matrix.os }}
strategy:
matrix:
go: [ stable ]
os: [ ubuntu-latest-amd64, ubuntu-latest-arm64 ]
steps:
- uses: actions/checkout@v5.0.0
- uses: actions/setup-go@v6.0.0
with:
go-version: ${{ matrix.go }}
- env:
GOPROXY: ${{ vars.GOPROXY }}
run: make test/unit
- id: coverage
name: Check coverage
run: |
coverage="$(make test/coverage | grep total | awk '{ print substr($3, 1, length($3)-1); }')"
echo "total_coverage=$coverage" >> $GITHUB_OUTPUT
echo "Total coverage: ${coverage}%"
- name: Fail if coverage is to low
run: |
threshold=50
total_coverage=${{ steps.coverage.outputs.total_coverage }}
if (( ${total_coverage%.*} < ${threshold} )); then
echo "ERROR: Coverage (${total_coverage}%) is below the threshold (${threshold}%)." 1>&2
exit 1
fi