@@ -8,12 +8,16 @@ RM_BIN = powershell -NoProfile -Command "if (Test-Path 'bin') { Remove-Item -Rec
88RM_DIST = powershell -NoProfile -Command "if (Test-Path 'dist') { Remove-Item -Recurse -Force 'dist' }"
99RM_COVER = powershell -NoProfile -Command "$$paths = @('coverage','coverage.out','coverage.out;','coverage-fresh','coverage-fresh.out'); foreach ($$path in $$paths) { if (Test-Path $$path) { Remove-Item -Force $$path } }"
1010BIN_TARGET = bin/viaduct.exe
11- RUN_BIN = $(BIN_TARGET )
11+ GO_RUN = powershell -NoProfile -ExecutionPolicy Bypass -File scripts/go_run_windows.ps1
12+ RUN_BIN = $(GO_RUN ) ./cmd/viaduct
1213WEB_INSTALL = cd web && npm ci
1314COVERPROFILE_ARG = "-coverprofile=coverage.out"
1415COVERFUNC_ARG = "-func=coverage.out"
1516GO_BUILD_LINUX = powershell -NoProfile -Command "$$env:CGO_ENABLED='0'; $$env:GOOS='linux'; $$env:GOARCH='amd64'; go build -ldflags '-X main.version=$(VERSION ) -X main.commit=$(COMMIT ) -X main.date=$(DATE ) ' -o '$(LINUX_BINARY ) ' ./cmd/viaduct"
1617GO_BUILD_WINDOWS = powershell -NoProfile -Command "$$env:CGO_ENABLED='0'; $$env:GOOS='windows'; $$env:GOARCH='amd64'; go build -ldflags '-X main.version=$(VERSION ) -X main.commit=$(COMMIT ) -X main.date=$(DATE ) ' -o '$(WINDOWS_BINARY ) ' ./cmd/viaduct"
18+ GO_TEST_RACE = powershell -NoProfile -ExecutionPolicy Bypass -File scripts/go_test_race_windows.ps1 ./... -v -race
19+ GO_TEST_RACE_COUNT = powershell -NoProfile -ExecutionPolicy Bypass -File scripts/go_test_race_windows.ps1 ./... -v -race -count=1
20+ GO_TEST_COVER = powershell -NoProfile -ExecutionPolicy Bypass -File scripts/go_test_windows.ps1 ./... $(COVERPROFILE_ARG )
1721else
1822VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo dev)
1923COMMIT ?= $(shell git rev-parse --short HEAD 2>/dev/null || echo none)
@@ -25,11 +29,15 @@ RM_DIST = rm -rf dist/
2529RM_COVER = rm -f coverage coverage.out
2630BIN_TARGET = bin/viaduct
2731RUN_BIN = ./$(BIN_TARGET )
32+ GO_RUN = go run
2833WEB_INSTALL = cd web && npm ci
2934COVERPROFILE_ARG = -coverprofile=coverage.out
3035COVERFUNC_ARG = -func=coverage.out
3136GO_BUILD_LINUX = CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-X main.version=$(VERSION ) -X main.commit=$(COMMIT ) -X main.date=$(DATE ) " -o $(LINUX_BINARY ) ./cmd/viaduct
3237GO_BUILD_WINDOWS = CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags "-X main.version=$(VERSION ) -X main.commit=$(COMMIT ) -X main.date=$(DATE ) " -o $(WINDOWS_BINARY ) ./cmd/viaduct
38+ GO_TEST_RACE = go test ./... -v -race
39+ GO_TEST_RACE_COUNT = go test ./... -v -race -count=1
40+ GO_TEST_COVER = go test ./... $(COVERPROFILE_ARG )
3341endif
3442
3543COVER_MIN ?= 50.0
@@ -54,7 +62,7 @@ build-windows:
5462 $(GO_BUILD_WINDOWS )
5563
5664test :
57- go test ./... -v -race
65+ $( GO_TEST_RACE )
5866
5967lint :
6068 golangci-lint run ./...
@@ -81,19 +89,19 @@ package-release:
8189 $(MKDIR_DIST )
8290 $(MAKE ) build
8391 $(MAKE ) web-build
84- go run ./scripts/package_release -workspace . -version $(VERSION ) -commit $(COMMIT ) -date $(DATE ) -binary $(BIN_TARGET ) -web-dir web/dist -output-dir dist
92+ $( GO_RUN ) ./scripts/package_release -workspace . -version $(VERSION ) -commit $(COMMIT ) -date $(DATE ) -binary $(BIN_TARGET ) -web-dir web/dist -output-dir dist
8593
8694package-release-linux :
8795 $(MKDIR_DIST )
8896 $(MAKE ) build-linux
8997 $(MAKE ) web-build
90- go run ./scripts/package_release -workspace . -version $(VERSION ) -commit $(COMMIT ) -date $(DATE ) -binary $(LINUX_BINARY ) -web-dir web/dist -output-dir dist -bundle-goos linux -bundle-goarch amd64
98+ $( GO_RUN ) ./scripts/package_release -workspace . -version $(VERSION ) -commit $(COMMIT ) -date $(DATE ) -binary $(LINUX_BINARY ) -web-dir web/dist -output-dir dist -bundle-goos linux -bundle-goarch amd64
9199
92100package-release-windows :
93101 $(MKDIR_DIST )
94102 $(MAKE ) build-windows
95103 $(MAKE ) web-build
96- go run ./scripts/package_release -workspace . -version $(VERSION ) -commit $(COMMIT ) -date $(DATE ) -binary $(WINDOWS_BINARY ) -web-dir web/dist -output-dir dist -bundle-goos windows -bundle-goarch amd64
104+ $( GO_RUN ) ./scripts/package_release -workspace . -version $(VERSION ) -commit $(COMMIT ) -date $(DATE ) -binary $(WINDOWS_BINARY ) -web-dir web/dist -output-dir dist -bundle-goos windows -bundle-goarch amd64
97105
98106package-release-matrix :
99107 $(RM_DIST )
@@ -108,7 +116,7 @@ soak-test:
108116 go test -tags soak ./tests/soak/... -count=1
109117
110118plugin-check :
111- go run ./scripts/plugin_manifest_check -manifest $(PLUGIN_MANIFEST ) -host-version $(VERSION )
119+ $( GO_RUN ) ./scripts/plugin_manifest_check -manifest $(PLUGIN_MANIFEST ) -host-version $(VERSION )
112120
113121contract-check :
114122 go test ./tests/integration/... -run TestOpenAPISpec_StableRoutesDocumented_Expected -count=1
@@ -120,7 +128,7 @@ release-gate:
120128 go build ./...
121129 go vet ./...
122130 golangci-lint run ./...
123- go test ./... -v -race -count=1
131+ $( GO_TEST_RACE_COUNT )
124132 $(MAKE ) soak-test
125133 $(MAKE ) plugin-check
126134 $(MAKE ) contract-check
@@ -130,9 +138,9 @@ release-gate:
130138 $(RUN_BIN ) plan --help
131139 $(RUN_BIN ) migrate --help
132140 $(MAKE ) web-build
133- go test ./... $( COVERPROFILE_ARG )
141+ $( GO_TEST_COVER )
134142 go tool cover $(COVERFUNC_ARG )
135- go run ./scripts/coverage_gate.go coverage.out $(COVER_MIN )
143+ $( GO_RUN ) ./scripts/coverage_gate.go coverage.out $(COVER_MIN )
136144 $(MAKE ) package-release-matrix
137145
138146clean :
0 commit comments