Add make check target and CI workflow #36

Open
clawbot wants to merge 5 commits from add-make-check into next
2 changed files with 35 additions and 4 deletions

View File

@ -0,0 +1,24 @@
name: check
on:
push:
branches: [main, next]
pull_request:
branches: [main, next]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5
with:
go-version-file: go.mod
- name: Install golangci-lint
run: go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@5d1e709b7be35cb2025444e19de266b056b7b7ee # v2.10.1
- name: Install protoc-gen-go
run: go install google.golang.org/protobuf/cmd/protoc-gen-go@4dfe9d308b477d29e8c2b6d75abf3e78aafe3cb8 # v1.28.1
- name: Generate protobuf
run: |
sudo apt-get update && sudo apt-get install -y protobuf-compiler
cd mfer && go generate .
- name: Run checks
run: make check

View File

@ -13,7 +13,7 @@ GOLDFLAGS += -X main.Version=$(VERSION)
GOLDFLAGS += -X main.Gitrev=$(GITREV_BUILD)
GOFLAGS := -ldflags "$(GOLDFLAGS)"
.PHONY: docker default run ci test fixme
.PHONY: docker default run ci test fixme check check-fmt lint
default: fmt test
@ -51,9 +51,8 @@ fmt: mfer/mf.pb.go
-prettier -w *.json
-prettier -w *.md
lint:
golangci-lint run
sh -c 'test -z "$$(gofmt -l .)"'
lint: mfer/mf.pb.go
golangci-lint run ./...
docker: sneak-mfer.$(ARCH).tzst.dockerimage
@ -79,3 +78,11 @@ modcache.tzst: go.mod go.sum
go mod download -x
cd $(shell go env GOMODCACHE) && tar -c . | pv | zstdmt -19 > $(PWD)/$@.tmp
mv $@.tmp $@
# Individual check targets
check-fmt:
@echo "==> Checking formatting..."
@test -z "$$(gofmt -l .)" || (echo "Files not formatted:" && gofmt -l . && exit 1)
# Run all checks (formatting, linting, tests) without modifying files
check: check-fmt lint test