Exclude mocks from release build (#3831)

This commit is contained in:
6543 2024-06-25 12:23:07 +02:00 committed by GitHub
parent e2513fa4c8
commit 402938e216
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 33 additions and 15 deletions

View file

@ -184,3 +184,5 @@ issues:
run: run:
timeout: 15m timeout: 15m
build-tags:
- test

View file

@ -29,6 +29,7 @@ else
endif endif
endif endif
TAGS ?=
LDFLAGS := -X go.woodpecker-ci.org/woodpecker/v2/version.Version=${VERSION} LDFLAGS := -X go.woodpecker-ci.org/woodpecker/v2/version.Version=${VERSION}
STATIC_BUILD ?= true STATIC_BUILD ?= true
ifeq ($(STATIC_BUILD),true) ifeq ($(STATIC_BUILD),true)
@ -162,20 +163,20 @@ lint-ui: ui-dependencies ## Lint UI code
(cd web/; pnpm lint --quiet) (cd web/; pnpm lint --quiet)
test-agent: ## Test agent code test-agent: ## Test agent code
go test -race -cover -coverprofile agent-coverage.out -timeout 30s go.woodpecker-ci.org/woodpecker/v2/cmd/agent go.woodpecker-ci.org/woodpecker/v2/agent/... go test -race -cover -coverprofile agent-coverage.out -timeout 30s -tags 'test $(TAGS)' go.woodpecker-ci.org/woodpecker/v2/cmd/agent go.woodpecker-ci.org/woodpecker/v2/agent/...
test-server: ## Test server code test-server: ## Test server code
go test -race -cover -coverprofile server-coverage.out -timeout 30s go.woodpecker-ci.org/woodpecker/v2/cmd/server $(shell go list go.woodpecker-ci.org/woodpecker/v2/server/... | grep -v '/store') go test -race -cover -coverprofile server-coverage.out -timeout 30s -tags 'test $(TAGS)' go.woodpecker-ci.org/woodpecker/v2/cmd/server $(shell go list go.woodpecker-ci.org/woodpecker/v2/server/... | grep -v '/store')
test-cli: ## Test cli code test-cli: ## Test cli code
go test -race -cover -coverprofile cli-coverage.out -timeout 30s go.woodpecker-ci.org/woodpecker/v2/cmd/cli go.woodpecker-ci.org/woodpecker/v2/cli/... go test -race -cover -coverprofile cli-coverage.out -timeout 30s -tags 'test $(TAGS)' go.woodpecker-ci.org/woodpecker/v2/cmd/cli go.woodpecker-ci.org/woodpecker/v2/cli/...
test-server-datastore: ## Test server datastore test-server-datastore: ## Test server datastore
go test -timeout 120s -run TestMigrate go.woodpecker-ci.org/woodpecker/v2/server/store/... go test -timeout 120s -tags 'test $(TAGS)' -run TestMigrate go.woodpecker-ci.org/woodpecker/v2/server/store/...
go test -race -timeout 30s -skip TestMigrate go.woodpecker-ci.org/woodpecker/v2/server/store/... go test -race -timeout 30s -tags 'test $(TAGS)' -skip TestMigrate go.woodpecker-ci.org/woodpecker/v2/server/store/...
test-server-datastore-coverage: ## Test server datastore with coverage report test-server-datastore-coverage: ## Test server datastore with coverage report
go test -race -cover -coverprofile datastore-coverage.out -timeout 180s go.woodpecker-ci.org/woodpecker/v2/server/store/... go test -race -cover -coverprofile datastore-coverage.out -timeout 180s -tags 'test $(TAGS)' go.woodpecker-ci.org/woodpecker/v2/server/store/...
test-ui: ui-dependencies ## Test UI code test-ui: ui-dependencies ## Test UI code
(cd web/; pnpm run lint) (cd web/; pnpm run lint)
@ -184,7 +185,7 @@ test-ui: ui-dependencies ## Test UI code
(cd web/; pnpm run test) (cd web/; pnpm run test)
test-lib: ## Test lib code test-lib: ## Test lib code
go test -race -cover -coverprofile coverage.out -timeout 30s $(shell go list ./... | grep -v '/cmd\|/agent\|/cli\|/server') go test -race -cover -coverprofile coverage.out -timeout 30s -tags 'test $(TAGS)' $(shell go list ./... | grep -v '/cmd\|/agent\|/cli\|/server')
.PHONY: test .PHONY: test
test: test-agent test-server test-server-datastore test-cli test-lib ## Run all tests test: test-agent test-server test-server-datastore test-cli test-lib ## Run all tests
@ -195,13 +196,13 @@ build-ui: ## Build UI
(cd web/; pnpm install --frozen-lockfile; pnpm build) (cd web/; pnpm install --frozen-lockfile; pnpm build)
build-server: build-ui generate-swagger ## Build server build-server: build-ui generate-swagger ## Build server
CGO_ENABLED=${CGO_ENABLED} GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags '${LDFLAGS}' -o ${DIST_DIR}/woodpecker-server${BIN_SUFFIX} go.woodpecker-ci.org/woodpecker/v2/cmd/server CGO_ENABLED=${CGO_ENABLED} GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -tags '$(TAGS)' -ldflags '${LDFLAGS}' -o ${DIST_DIR}/woodpecker-server${BIN_SUFFIX} go.woodpecker-ci.org/woodpecker/v2/cmd/server
build-agent: ## Build agent build-agent: ## Build agent
CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags '${LDFLAGS}' -o ${DIST_DIR}/woodpecker-agent${BIN_SUFFIX} go.woodpecker-ci.org/woodpecker/v2/cmd/agent CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -tags '$(TAGS)' -ldflags '${LDFLAGS}' -o ${DIST_DIR}/woodpecker-agent${BIN_SUFFIX} go.woodpecker-ci.org/woodpecker/v2/cmd/agent
build-cli: ## Build cli build-cli: ## Build cli
CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags '${LDFLAGS}' -o ${DIST_DIR}/woodpecker-cli${BIN_SUFFIX} go.woodpecker-ci.org/woodpecker/v2/cmd/cli CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -tags '$(TAGS)' -ldflags '${LDFLAGS}' -o ${DIST_DIR}/woodpecker-cli${BIN_SUFFIX} go.woodpecker-ci.org/woodpecker/v2/cmd/cli
build-tarball: ## Build tar archive build-tarball: ## Build tar archive
mkdir -p ${DIST_DIR} && tar chzvf ${DIST_DIR}/woodpecker-src.tar.gz \ mkdir -p ${DIST_DIR} && tar chzvf ${DIST_DIR}/woodpecker-src.tar.gz \

View file

@ -1,5 +1,8 @@
// Code generated by mockery. DO NOT EDIT. // Code generated by mockery. DO NOT EDIT.
//go:build test
// +build test
package mocks package mocks
import ( import (

View file

@ -50,7 +50,7 @@ type (
} }
) )
//go:generate mockery --name Peer --output mocks --case underscore //go:generate mockery --name Peer --output mocks --case underscore --note "+build test"
// Peer defines a peer-to-peer connection. // Peer defines a peer-to-peer connection.
type Peer interface { type Peer interface {

View file

@ -15,7 +15,7 @@
package forge package forge
//go:generate mockery --name Forge --output mocks --case underscore //go:generate mockery --name Forge --output mocks --case underscore --note "+build test"
import ( import (
"context" "context"

View file

@ -1,5 +1,8 @@
// Code generated by mockery. DO NOT EDIT. // Code generated by mockery. DO NOT EDIT.
//go:build test
// +build test
package mocks package mocks
import ( import (

View file

@ -30,7 +30,7 @@ import (
"go.woodpecker-ci.org/woodpecker/v2/server/store" "go.woodpecker-ci.org/woodpecker/v2/server/store"
) )
//go:generate mockery --name Manager --output mocks --case underscore //go:generate mockery --name Manager --output mocks --case underscore --note "+build test"
const forgeCacheTTL = 10 * time.Minute const forgeCacheTTL = 10 * time.Minute

View file

@ -1,5 +1,8 @@
// Code generated by mockery. DO NOT EDIT. // Code generated by mockery. DO NOT EDIT.
//go:build test
// +build test
package mocks package mocks
import ( import (

View file

@ -1,5 +1,8 @@
// Code generated by mockery. DO NOT EDIT. // Code generated by mockery. DO NOT EDIT.
//go:build test
// +build test
package mocks package mocks
import ( import (

View file

@ -14,7 +14,7 @@
package store package store
//go:generate mockery --name Store --output mocks --case underscore //go:generate mockery --name Store --output mocks --case underscore --note "+build test"
import ( import (
"go.woodpecker-ci.org/woodpecker/v2/server/model" "go.woodpecker-ci.org/woodpecker/v2/server/model"

View file

@ -18,7 +18,7 @@ import (
"net/http" "net/http"
) )
//go:generate mockery --name Client --output mocks --case underscore //go:generate mockery --name Client --output mocks --case underscore --note "+build test"
// Client is used to communicate with a Woodpecker server. // Client is used to communicate with a Woodpecker server.
type Client interface { type Client interface {

View file

@ -1,5 +1,8 @@
// Code generated by mockery. DO NOT EDIT. // Code generated by mockery. DO NOT EDIT.
//go:build test
// +build test
package mocks package mocks
import ( import (