Skip to content

Feature/coveritup

Feature/coveritup #3

Workflow file for this run

on: [push, pull_request]
name: Cover It Up
jobs:
coveritup:
strategy:
matrix:
go-version: [latest]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: kevincobain2000/action-gobrew@v2
with:
version: ${{ matrix.go-version }}
- name: Install Tools
run: |
go install github.com/securego/gosec/v2/cmd/gosec@latest
go install github.com/axw/gocov/gocov@latest
go install github.com/AlekSi/gocov-xml@latest
- name: Test
run: |
BUILD_START=$SECONDS
go test -race -v ./... -count=1 -coverprofile=coverage.out
echo SCORE=$(($SECONDS-BUILD_START)) >> "$GITHUB_ENV"
- uses: kevincobain2000/action-coveritup@v1
with:
type: unit-test-run-time
- name: Coverage
run: |
go tool cover -html=coverage.out -o coverage.html
gocov convert coverage.out | gocov-xml > coverage.xml
- name: Build
run: |
BUILD_START=$SECONDS
go build -ldflags '-s -w' -o main main.go
echo SCORE=$(($SECONDS-BUILD_START)) >> "$GITHUB_ENV"
- uses: kevincobain2000/action-coveritup@v1
with:
type: build-time
- name: Coveritup
run: |
curl -sLk https://raw.githubusercontent.com/kevincobain2000/cover-totalizer/master/install.sh | sh
echo SCORE=`./cover-totalizer coverage.xml` >> "$GITHUB_ENV"
- uses: kevincobain2000/action-coveritup@v1
with:
type: coverage
- name: Go Binary Size
run: |
echo SCORE=`du -sk main | awk '{print $1}'` >> "$GITHUB_ENV"
- uses: kevincobain2000/action-coveritup@v1
with:
type: go-binary-size
- name: Number of dependencies
run: |
echo SCORE=`go list -m all|wc -l|awk '{$1=$1};1'` >> "$GITHUB_ENV"
- uses: kevincobain2000/action-coveritup@v1
with:
type: go-mod-dependencies
- name: Number of GO Sec issues
run: |
echo SCORE=`gosec -no-fail --quiet ./...|grep Issues | tail -1 |awk '{print $3}'` >> "$GITHUB_ENV"
- uses: kevincobain2000/action-coveritup@v1
with:
type: go-sec-issues
- uses: kevincobain2000/action-coveritup@v1
with:
pr_comment: true
- uses: kevincobain2000/action-camo-purge@v1