mirror of
https://github.com/gravitational/teleport.git
synced 2026-10-11 22:49:54 +00:00
session-helper: Build changes (#66003)
* Build and test changes for sessionhelper * Always print text in check-session-helper * Fix TwoClustersTunnel
This commit is contained in:
@@ -242,6 +242,13 @@ STATIC_LIBS_TSH += -lpcsclite
|
||||
endif
|
||||
endif
|
||||
|
||||
SESSIONHELPER_EMBED_TAG :=
|
||||
SESSIONHELPER_MESSAGE := without-session-helper
|
||||
ifeq ($(OS),linux)
|
||||
SESSIONHELPER_EMBED_TAG = sessionhelper_embed
|
||||
SESSIONHELPER_MESSAGE := with-session-helper
|
||||
endif
|
||||
|
||||
# Reproducible builds are only available on select targets, and only when OS=linux.
|
||||
REPRODUCIBLE ?=
|
||||
ifneq ("$(OS)","linux")
|
||||
@@ -266,7 +273,7 @@ join-with = $(subst $(SPACE),$1,$(strip $2))
|
||||
|
||||
# Separate TAG messages into comma-separated WITH and WITHOUT lists for readability.
|
||||
COMMA := ,
|
||||
MESSAGES := $(PAM_MESSAGE) $(FIPS_MESSAGE) $(BPF_MESSAGE) $(RDPCLIENT_MESSAGE) $(LIBFIDO2_MESSAGE) $(TOUCHID_MESSAGE) $(PIV_MESSAGE) $(VNETDAEMON_MESSAGE)
|
||||
MESSAGES := $(PAM_MESSAGE) $(FIPS_MESSAGE) $(BPF_MESSAGE) $(RDPCLIENT_MESSAGE) $(LIBFIDO2_MESSAGE) $(TOUCHID_MESSAGE) $(PIV_MESSAGE) $(VNETDAEMON_MESSAGE) $(SESSIONHELPER_MESSAGE)
|
||||
WITH := $(subst -," ",$(call join-with,$(COMMA) ,$(subst with-,,$(filter with-%,$(MESSAGES)))))
|
||||
WITHOUT := $(subst -," ",$(call join-with,$(COMMA) ,$(subst without-,,$(filter without-%,$(MESSAGES)))))
|
||||
RELEASE_MESSAGE := "Building with GOOS=$(OS) GOARCH=$(ARCH) REPRODUCIBLE=$(REPRODUCIBLE) and with $(WITH) and without $(WITHOUT)."
|
||||
@@ -388,8 +395,21 @@ $(BUILDDIR)/tctl:
|
||||
GOOS=$(OS) GOARCH=$(ARCH) $(CGOFLAG) go build -tags "grpcnotrace $(PAM_TAG) $(FIPS_TAG) $(LIBFIDO2_BUILD_TAG) $(TOUCHID_TAG) $(PIV_BUILD_TAG) $(KUSTOMIZE_NO_DYNAMIC_PLUGIN)" -o $(BUILDDIR)/tctl $(BUILDFLAGS) $(TOOLS_LDFLAGS) ./tool/tctl
|
||||
|
||||
.PHONY: $(BUILDDIR)/teleport
|
||||
$(BUILDDIR)/teleport: ensure-webassets rdpclient
|
||||
GOOS=$(OS) GOARCH=$(ARCH) $(CGOFLAG) go build -tags "grpcnotrace webassets_embed $(PAM_TAG) $(FIPS_TAG) $(BPF_TAG) $(WEBASSETS_TAG) $(RDPCLIENT_TAG) $(PIV_BUILD_TAG) $(KUSTOMIZE_NO_DYNAMIC_PLUGIN)" -o $(BUILDDIR)/teleport $(BUILDFLAGS) $(TELEPORT_LDFLAGS) ./tool/teleport
|
||||
$(BUILDDIR)/teleport: ensure-webassets rdpclient session/reexec/embed/sessionhelper
|
||||
GOOS=$(OS) GOARCH=$(ARCH) $(CGOFLAG) go build -tags "grpcnotrace webassets_embed $(PAM_TAG) $(FIPS_TAG) $(BPF_TAG) $(SESSIONHELPER_EMBED_TAG) $(WEBASSETS_TAG) $(RDPCLIENT_TAG) $(PIV_BUILD_TAG) $(KUSTOMIZE_NO_DYNAMIC_PLUGIN)" -o $(BUILDDIR)/teleport $(BUILDFLAGS) $(TELEPORT_LDFLAGS) ./tool/teleport
|
||||
|
||||
.PHONY: $(BUILDDIR)/sessionhelper
|
||||
$(BUILDDIR)/sessionhelper:
|
||||
ifneq ($(SESSIONHELPER_EMBED_TAG),)
|
||||
GOOS=$(OS) GOARCH=$(ARCH) $(CGOFLAG) go -C session build -buildvcs=false -tags "$(PAM_TAG) $(FIPS_TAG) $(BPF_TAG) gravitational_trace.nocrypto" -o '$(abspath $(BUILDDIR)/sessionhelper)' $(BUILDFLAGS) ./cmd/sessionhelper
|
||||
endif
|
||||
|
||||
.PHONY: session/reexec/embed/sessionhelper
|
||||
session/reexec/embed/sessionhelper: $(BUILDDIR)/sessionhelper
|
||||
ifneq ($(SESSIONHELPER_EMBED_TAG),)
|
||||
mkdir -p session/reexec/embed
|
||||
gzip -9 -n < '$(BUILDDIR)/sessionhelper' > 'session/reexec/embed/sessionhelper_$(OS)_$(ARCH).gz'
|
||||
endif
|
||||
|
||||
# NOTE: Any changes to the `tsh` build here must be copied to `build.assets/windows/build.ps1`
|
||||
# until we can use this Makefile for native Windows builds.
|
||||
@@ -580,6 +600,7 @@ clean: clean-ui clean-build
|
||||
clean-build:
|
||||
@echo "---> Cleaning up OSS build artifacts."
|
||||
rm -rf $(BUILDDIR)
|
||||
rm -rf ./session/reexec/embed
|
||||
-cargo clean
|
||||
-go clean -cache
|
||||
rm -f *.gz
|
||||
@@ -1205,9 +1226,9 @@ run-etcd:
|
||||
.PHONY: integration
|
||||
integration: FLAGS ?= -v -race
|
||||
integration: PACKAGES = $(shell go list ./... | grep 'integration\([^s]\|$$\)' | grep -v integrations/lib/testing/integration )
|
||||
integration: | $(TEST_LOG_DIR)
|
||||
integration: session/reexec/embed/sessionhelper | $(TEST_LOG_DIR)
|
||||
@echo KUBECONFIG is: $(KUBECONFIG), TEST_KUBE: $(TEST_KUBE)
|
||||
$(CGOFLAG) go test -timeout 30m -json -tags "$(PAM_TAG) $(FIPS_TAG) $(BPF_TAG)" $(PACKAGES) $(FLAGS) \
|
||||
$(CGOFLAG) go test -timeout 30m -json -tags "$(PAM_TAG) $(FIPS_TAG) $(BPF_TAG) $(SESSIONHELPER_EMBED_TAG)" $(PACKAGES) $(FLAGS) \
|
||||
| $(GOTESTSUM) --junitfile $(TEST_LOG_DIR)/unit-tests-integration.xml --jsonfile $(TEST_LOG_DIR)/unit-tests-integration.json --raw-command -- cat
|
||||
|
||||
#
|
||||
@@ -1231,8 +1252,8 @@ INTEGRATION_ROOT_REGEX := ^TestRoot
|
||||
.PHONY: integration-root
|
||||
integration-root: FLAGS ?= -v -race
|
||||
integration-root: PACKAGES = $(shell go list ./... | grep 'integration\([^s]\|$$\)')
|
||||
integration-root: | $(TEST_LOG_DIR)
|
||||
$(CGOFLAG) go test -json -run "$(INTEGRATION_ROOT_REGEX)" $(PACKAGES) $(FLAGS) \
|
||||
integration-root: session/reexec/embed/sessionhelper | $(TEST_LOG_DIR)
|
||||
$(CGOFLAG) go test -json -tags '$(SESSIONHELPER_EMBED_TAG)' -run "$(INTEGRATION_ROOT_REGEX)" $(PACKAGES) $(FLAGS) \
|
||||
| $(GOTESTSUM) --junitfile $(TEST_LOG_DIR)/unit-tests-integration-root.xml --jsonfile $(TEST_LOG_DIR)/unit-tests-integration-root.json --raw-command -- cat
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user