refactor: update project makefile
Rename steps in the project makefile to follow a more consistent naming scheme. Add new gitlab CI step to check for unused dependencies.
This commit is contained in:
parent
5363cad4ce
commit
695447a4c2
3 changed files with 26 additions and 19 deletions
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
26
Makefile
26
Makefile
|
@ -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) .
|
||||||
|
|
Loading…
Reference in a new issue