Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,9 @@ jobs:

- name: Build pipeleek binary for e2e tests (Windows)
if: runner.os == 'Windows'
run: go build -o pipeleek.exe ./cmd/pipeleek
env:
CGO_ENABLED: 0
run: go build -trimpath -ldflags="-s -w" -o pipeleek.exe ./cmd/pipeleek

- name: Run e2e tests (Linux)
if: runner.os == 'Linux'
Expand Down
15 changes: 9 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,35 +21,38 @@ help:
@echo " make serve-docs - Generate and serve CLI documentation"
@echo " make clean - Remove built artifacts"

# Build flags to reduce binary size (strip symbols, debug info, and file paths)
GO_BUILD_FLAGS = -trimpath -ldflags="-s -w"

# Build the main pipeleek binary
build:
@echo "Building pipeleek..."
CGO_ENABLED=0 go build -o pipeleek ./cmd/pipeleek
CGO_ENABLED=0 go build $(GO_BUILD_FLAGS) -o pipeleek ./cmd/pipeleek

# Build GitLab-specific binary
build-gitlab:
@echo "Building pipeleek-gitlab..."
CGO_ENABLED=0 go build -o pipeleek-gitlab ./cmd/pipeleek-gitlab
CGO_ENABLED=0 go build $(GO_BUILD_FLAGS) -o pipeleek-gitlab ./cmd/pipeleek-gitlab

# Build GitHub-specific binary
build-github:
@echo "Building pipeleek-github..."
CGO_ENABLED=0 go build -o pipeleek-github ./cmd/pipeleek-github
CGO_ENABLED=0 go build $(GO_BUILD_FLAGS) -o pipeleek-github ./cmd/pipeleek-github

# Build BitBucket-specific binary
build-bitbucket:
@echo "Building pipeleek-bitbucket..."
CGO_ENABLED=0 go build -o pipeleek-bitbucket ./cmd/pipeleek-bitbucket
CGO_ENABLED=0 go build $(GO_BUILD_FLAGS) -o pipeleek-bitbucket ./cmd/pipeleek-bitbucket

# Build Azure DevOps-specific binary
build-devops:
@echo "Building pipeleek-devops..."
CGO_ENABLED=0 go build -o pipeleek-devops ./cmd/pipeleek-devops
CGO_ENABLED=0 go build $(GO_BUILD_FLAGS) -o pipeleek-devops ./cmd/pipeleek-devops

# Build Gitea-specific binary
build-gitea:
@echo "Building pipeleek-gitea..."
CGO_ENABLED=0 go build -o pipeleek-gitea ./cmd/pipeleek-gitea
CGO_ENABLED=0 go build $(GO_BUILD_FLAGS) -o pipeleek-gitea ./cmd/pipeleek-gitea

# Build all binaries
build-all: build build-gitlab build-github build-bitbucket build-devops build-gitea
Expand Down
15 changes: 13 additions & 2 deletions tests/e2e/internal/testutil/testutil.go
Original file line number Diff line number Diff line change
Expand Up @@ -159,9 +159,20 @@ var (
)

func buildBinary(moduleDir, outputPath string) error {
cmd := exec.Command("go", "build", "-o", outputPath, "./cmd/pipeleek")
cmd := exec.Command("go", "build", "-trimpath", "-ldflags=-s -w", "-o", outputPath, "./cmd/pipeleek")
cmd.Dir = moduleDir
cmd.Env = os.Environ()

// Ensure CGO is disabled so the e2e-built binary matches Makefile/CI builds.
env := os.Environ()
filteredEnv := make([]string, 0, len(env)+1)
for _, kv := range env {
if strings.HasPrefix(kv, "CGO_ENABLED=") {
continue
}
filteredEnv = append(filteredEnv, kv)
}
filteredEnv = append(filteredEnv, "CGO_ENABLED=0")
cmd.Env = filteredEnv
return cmd.Run()
}

Expand Down
Loading