From 567e83350c6a677471a5ac6509177fd5a00ee83a Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Fri, 29 Dec 2023 22:31:34 +0100 Subject: [PATCH] Fix `make release-server-xgo` in CI and localy (#3072) fix regressions of: - #3010 - #3065 and make `make release-server-xgo` work on a manual exec (not run by ci) --- .woodpecker/docker.yml | 2 ++ Makefile | 13 +++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.woodpecker/docker.yml b/.woodpecker/docker.yml index 3decd98a6..669b7e264 100644 --- a/.woodpecker/docker.yml +++ b/.woodpecker/docker.yml @@ -159,6 +159,7 @@ steps: depends_on: - vendor - build-web + - cross-compile-server-preview image: *buildx_plugin settings: dry_run: true @@ -175,6 +176,7 @@ steps: depends_on: - vendor - build-web + - cross-compile-server-preview image: *buildx_plugin settings: dry_run: true diff --git a/Makefile b/Makefile index 3b7eedc79..8eddfa384 100644 --- a/Makefile +++ b/Makefile @@ -211,10 +211,15 @@ release-server-xgo: check-xgo ## Create server binaries for release using xgo @echo "arch (xgo):$(TARGETARCH_XGO)" @echo "arch (buildx):$(TARGETARCH_BUILDX)" - CGO_CFLAGS="$(CGO_CFLAGS)" xgo -go $(XGO_VERSION) -dest ./dist/server/$(TARGETOS)-$(TARGETARCH_XGO) -tags 'netgo osusergo $(TAGS)' -ldflags '-linkmode external $(LDFLAGS)' -targets '$(TARGETOS)/$(TARGETARCH_XGO)' -out woodpecker-server -pkg cmd/server . - mkdir -p ./dist/server/$(TARGETOS)_$(TARGETARCH_BUILDX) - mv /build/woodpecker-server-$(TARGETOS)*-$(TARGETARCH_XGO)$(BIN_SUFFIX) ./dist/server/$(TARGETOS)_$(TARGETARCH_BUILDX)/woodpecker-server$(BIN_SUFFIX) - [ "${TARGZ}" -eq "1" ] && tar -cvzf dist/woodpecker-server_$(TARGETOS)_$(TARGETARCH_BUILDX).tar.gz -C dist/server/$(TARGETOS)_$(TARGETARCH_BUILDX) woodpecker-server$(BIN_SUFFIX) || echo "skip tar.gz binary" + CGO_CFLAGS="$(CGO_CFLAGS)" xgo -go $(XGO_VERSION) -dest ./dist/server/$(TARGETOS)_$(TARGETARCH_BUILDX) -tags 'netgo osusergo $(TAGS)' -ldflags '-linkmode external $(LDFLAGS)' -targets '$(TARGETOS)/$(TARGETARCH_XGO)' -out woodpecker-server -pkg cmd/server . + @if [ "$${XGO_IN_XGO:-0}" -eq "1" ]; then echo "inside xgo image"; \ + mkdir -p ./dist/server/$(TARGETOS)_$(TARGETARCH_BUILDX); \ + mv -vf /build/woodpecker-server* ./dist/server/$(TARGETOS)_$(TARGETARCH_BUILDX)/woodpecker-server$(BIN_SUFFIX); \ + else echo "outside xgo image"; \ + [ -f "./dist/server/$(TARGETOS)_$(TARGETARCH_BUILDX)/woodpecker-server$(BIN_SUFFIX)" ] && rm -v ./dist/server/$(TARGETOS)_$(TARGETARCH_BUILDX)/woodpecker-server$(BIN_SUFFIX); \ + mv -v ./dist/server/$(TARGETOS)_$(TARGETARCH_XGO)/woodpecker-server* ./dist/server/$(TARGETOS)_$(TARGETARCH_BUILDX)/woodpecker-server$(BIN_SUFFIX); \ + fi + @[ "$${TARGZ:-0}" -eq "1" ] && tar -cvzf dist/woodpecker-server_$(TARGETOS)_$(TARGETARCH_BUILDX).tar.gz -C dist/server/$(TARGETOS)_$(TARGETARCH_BUILDX) woodpecker-server$(BIN_SUFFIX) || echo "skip creating 'dist/woodpecker-server_$(TARGETOS)_$(TARGETARCH_BUILDX).tar.gz'" release-server: ## Create server binaries for release # compile