-
-
Notifications
You must be signed in to change notification settings - Fork 50
Expand file tree
/
Copy pathMakefile
More file actions
102 lines (79 loc) · 3.24 KB
/
Makefile
File metadata and controls
102 lines (79 loc) · 3.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# Include toolbox tasks
include ./.toolbox.mk
# Default image version/tag (override via: make build-image AGH_SYNC_VERSION=...)
AGH_SYNC_VERSION ?= main
# Run go lint against code
lint: tb.golangci-lint
$(TB_GOLANGCI_LINT) run --fix
# Run go mod tidy
tidy:
go mod tidy
generate: model mocks deepcopy-gen
deepcopy-gen: tb.controller-gen
@mkdir -p ./tmp
@touch ./tmp/deepcopy-gen-boilerplate.go.txt
$(TB_CONTROLLER_GEN) paths=./internal/types object
.PHONY: docs
docs:
go run cmd/docs/main.go
# Run tests
test: generate lint test-ci
fuzz:
go test -fuzz=FuzzMask -v ./internal/types/ -fuzztime=60s
# Run ci tests
test-ci: mocks tidy
go test -cover -coverprofile coverage.out.tmp ./...
grep -v "zz_generated\." coverage.out.tmp > coverage.out
go tool cover -func=coverage.out
mocks: tb.mockgen
$(TB_MOCKGEN) -package client -build_constraint "!ignore_autogenerated" -destination internal/mocks/client/zz_generated.mock.go github.com/bakito/adguardhome-sync/internal/client Client
$(TB_MOCKGEN) -package client -build_constraint "!ignore_autogenerated" -destination internal/mocks/flags/zz_generated.mock.go github.com/bakito/adguardhome-sync/internal/config Flags
release: tb.semver tb.goreleaser tb.syft
@version=$$($(TB_SEMVER)); \
git tag -s $$version -m"Release $$version"; \
git push origin $$version
PATH=$(TB_LOCALBIN):$${PATH} $(TB_GORELEASER) --clean --parallelism 2
test-release: tb.goreleaser tb.syft
PATH=$(TB_LOCALBIN):$${PATH} $(TB_GORELEASER) --skip=publish --snapshot --clean --parallelism 2
check-vulnerabilities:
go run golang.org/x/vuln/cmd/govulncheck@latest -show verbose,color ./...
start-replica:
docker rm -f adguardhome-replica
docker run --pull always --name adguardhome-replica -p 9091:3000 --rm adguard/adguardhome:latest
# docker run --pull always --name adguardhome-replica -p 9090:80 -p 9091:3000 --rm adguard/adguardhome:v0.107.13
copy-replica-config:
docker cp adguardhome-replica:/opt/adguardhome/conf/AdGuardHome.yaml tmp/AdGuardHome.yaml
start-replica2:
docker rm -f adguardhome-replica2
docker run --pull always --name adguardhome-replica2 -p 9093:3000 --rm adguard/adguardhome:latest
# docker run --pull always --name adguardhome-replica -p 9090:80 -p 9091:3000 --rm adguard/adguardhome:v0.107.13
check_defined = \
$(strip $(foreach 1,$1, \
$(call __check_defined,$1,$(strip $(value 2)))))
__check_defined = \
$(if $(value $1),, \
$(error Undefined $1$(if $2, ($2))))
build-image:
$(call check_defined, AGH_SYNC_VERSION)
docker build \
--build-arg VERSION=${AGH_SYNC_VERSION} \
--build-arg BUILD=$(shell date --utc +%Y-%m-%dT%H:%M:%SZ) \
-t ghcr.io/bakito/adguardhome-sync:${AGH_SYNC_VERSION} \
.
kind-create:
kind delete cluster
kind create cluster
kind-test:
@./testdata/e2e/bin/install-chart.sh
# renovate: packageName=AdguardTeam/AdGuardHome
ADGUARD_HOME_VERSION ?= v0.107.73
model: tb.oapi-codegen
@mkdir -p tmp
go run cmd/openapi/main.go $(ADGUARD_HOME_VERSION)
$(TB_OAPI_CODEGEN) -package model -generate types,client -config .oapi-codegen.yaml tmp/schema.yaml > internal/client/model/zz_generated.model.go
model-diff:
go run cmd/openapi/main.go $(ADGUARD_HOME_VERSION)
go run cmd/openapi/main.go
diff tmp/schema.yaml tmp/schema-master.yaml
zellij:
zellij -l ./testdata/test-layout.kdl