Skip to content

Golang gardening

Golang gardening #77

Workflow file for this run

name: avro
on:
push:
branches:
- master
- main
paths:
- "**.go"
- "go.*"
- "**.cue"
- Makefile
pull_request:
paths:
- "**.go"
- "go.*"
- "**.cue"
- Makefile
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true
env:
directory: "."
allow_lint_failure: "true"
jobs:
test:
runs-on: ubuntu-22.04
services:
registry:
image: lensesio/fast-data-dev:3.6.1-L0
ports:
- 8081:8081
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up env
uses: actions/setup-go@v5
with:
cache: true
check-latest: true
cache-dependency-path: ${{ env.directory }}/go.sum
go-version-file: ${{ env.directory }}/go.mod
- name: Install Tools
shell: bash
run: |
go install github.com/mfridman/tparse@v0.13.2
tgz=$(mktemp)
ARCH="$(uname -s)_$(uname -m)"
curl "https://github.com/cuelang/cue/releases/download/v0.0.15/cue_0.0.15_$ARCH.tar.gz" -L -o $tgz
(cd /usr/local/bin && tar xzf $tgz cue)
- name: "Lint: static"
id: lint-static
continue-on-error: false
uses: golangci/golangci-lint-action@v4
with:
version: v1.56
working-directory: ${{ env.directory }}
args: --timeout=5m
skip-cache: true
- name: "Lint: security"
id: lint-security
continue-on-error: true
working-directory: ${{ env.directory }}
run: |
go install golang.org/x/vuln/cmd/govulncheck@latest
govulncheck ./...
- name: Build
run: |
make build
- name: Unit tests
working-directory: ${{ env.directory }}
env:
CGO_ENABLED: "1"
KAFKA_REGISTRY_ADDR: 127.0.0.1:8081
run: |
make test