Merge branch 'refactor-project-makefile' into 'main'

Refactor project makefile

See merge request hectorjsmith/fail2ban-prometheus-exporter!45
This commit is contained in:
Hector 2021-10-17 17:39:03 +00:00
commit f2cd6ebb7b
3 changed files with 26 additions and 19 deletions

View file

@ -1,21 +1,26 @@
image: golang:latest image: golang:latest
before_script: before_script:
- make install-deps - make go/dependencies
stages: stages:
- test - test
- build - build
dependencies:
stage: test
script:
- make go/checkDependencies
format: format:
stage: test stage: test
script: script:
- make format - make go/checkFmt
test: test:
stage: test stage: test
script: script:
- make test - make go/test
build: build:
stage: build stage: build
@ -31,7 +36,7 @@ build:
- dist/checksums.txt - dist/checksums.txt
expire_in: 1 day expire_in: 1 day
docker-gitlab: docker/gitlab:
stage: build stage: build
only: only:
- main - main
@ -44,6 +49,6 @@ docker-gitlab:
- apk add make - apk add make
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
script: script:
- make docker/build-latest - make docker/build/latest
- make docker/build-tag - make docker/build/tag
- docker push registry.gitlab.com/hectorjsmith/fail2ban-prometheus-exporter - docker push registry.gitlab.com/hectorjsmith/fail2ban-prometheus-exporter

View file

@ -2,7 +2,7 @@
# Make sure to check the documentation at http://goreleaser.com # Make sure to check the documentation at http://goreleaser.com
before: before:
hooks: hooks:
- make install-deps - make go/dependencies
builds: builds:
- -
dir: src dir: src

View file

@ -1,20 +1,22 @@
install-deps: go/dependencies:
cd src/ && go mod download cd src/ && go mod download
# Standard go test
test:
cd src/ && go test ./... -v -race
# Make sure no unnecessary dependencies are present # Make sure no unnecessary dependencies are present
go-mod-tidy: go/checkDependencies:
cd src/ && go mod tidy -v cd src/ && go mod tidy -v
git diff-index --quiet HEAD git diff-index --quiet HEAD
format: # Standard go test
cd src/ && go fmt $(go list ./... | grep -v /vendor/) go/test:
cd src/ && go vet $(go list ./... | grep -v /vendor/) cd src/ && go test ./... -v -race
generateChangelog: go/fmt:
cd src/ && go fmt ./...
go/checkFmt:
test -z $(shell gofmt -l .)
docs/genChangelog:
./tools/git-chglog_linux_amd64 --config tools/chglog/config.yml 0.0.0.. > CHANGELOG_gen.md ./tools/git-chglog_linux_amd64 --config tools/chglog/config.yml 0.0.0.. > CHANGELOG_gen.md
build/snapshot: build/snapshot:
@ -27,8 +29,8 @@ build/docker:
cd src/ && go build -o exporter \ cd src/ && go build -o exporter \
-ldflags '-X main.version=$(shell git describe --tags) -X main.commit=${shell git rev-parse HEAD} -X "main.date=${shell date --rfc-3339=seconds}" -X main.builtBy=docker' exporter.go -ldflags '-X main.version=$(shell git describe --tags) -X main.commit=${shell git rev-parse HEAD} -X "main.date=${shell date --rfc-3339=seconds}" -X main.builtBy=docker' exporter.go
docker/build-latest: docker/build/latest:
docker build -t registry.gitlab.com/hectorjsmith/fail2ban-prometheus-exporter:latest . docker build -t registry.gitlab.com/hectorjsmith/fail2ban-prometheus-exporter:latest .
docker/build-tag: docker/build/tag:
docker build -t registry.gitlab.com/hectorjsmith/fail2ban-prometheus-exporter:$(shell git describe --tags) . docker build -t registry.gitlab.com/hectorjsmith/fail2ban-prometheus-exporter:$(shell git describe --tags) .