Skip to content

Commit 2df9042

Browse files
Fix test setup to run on ARM instances (#3904)
Fix test setup to run on ARM instances
1 parent 28e96bf commit 2df9042

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

Dockerfile.build

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
ARG GO_VERSION
2-
FROM docker.elastic.co/beats-dev/golang-crossbuild:${GO_VERSION}-main-debian11
2+
ARG SUFFIX # Should be main-debian11 or arm
3+
FROM docker.elastic.co/beats-dev/golang-crossbuild:${GO_VERSION}-${SUFFIX}
34

45
RUN \
56
apt-get update \

Makefile

+10-5
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ BUILDMODE_windows_amd64=-buildmode=pie
1313
BUILDMODE_darwin_amd64=-buildmode=pie
1414
BUILDMODE_darwin_arm64=-buildmode=pie
1515

16-
BUILDER_IMAGE=docker.elastic.co/beats-dev/golang-crossbuild:${GO_VERSION}-main-debian11
16+
CROSSBUILD_SUFFIX=main-debian11
17+
BUILDER_IMAGE=docker.elastic.co/beats-dev/golang-crossbuild:${GO_VERSION}-${CROSSBUILD_SUFFIX}
1718

1819
#Benchmark related targets
1920
BENCH_BASE ?= benchmark-$(COMMIT).out
@@ -43,7 +44,6 @@ endif
4344
DOCKER_IMAGE_TAG?=${VERSION}
4445
DOCKER_IMAGE?=docker.elastic.co/fleet-server/fleet-server
4546

46-
4747
PLATFORM_TARGETS=$(addprefix release-, $(PLATFORMS))
4848
COVER_TARGETS=$(addprefix cover-, $(PLATFORMS))
4949
COMMIT=$(shell git rev-parse --short HEAD)
@@ -248,7 +248,12 @@ else
248248
endif
249249

250250
build-releaser: ## - Build a Docker image to run make package including all build tools
251-
docker build -t $(BUILDER_IMAGE) -f Dockerfile.build --build-arg GO_VERSION=$(GO_VERSION) .
251+
ifeq ($(shell uname -p),arm)
252+
$(eval SUFFIX := arm)
253+
else
254+
$(eval SUFFIX := ${CROSSBUILD_SUFFIX})
255+
endif
256+
docker build -t $(BUILDER_IMAGE) -f Dockerfile.build --build-arg GO_VERSION=$(GO_VERSION) --build-arg SUFFIX=${SUFFIX} .
252257

253258
.PHONY: docker-release
254259
docker-release: build-releaser ## - Builds a release for all platforms in a dockerised environment
@@ -257,7 +262,7 @@ docker-release: build-releaser ## - Builds a release for all platforms in a dock
257262
.PHONY: docker-cover-e2e-binaries
258263
docker-cover-e2e-binaries: build-releaser
259264
## Build for local architecture and for linux/amd64 for docker images.
260-
docker run --rm -u $(shell id -u):$(shell id -g) --volume $(PWD):/go/src/github.com/elastic/fleet-server -e SNAPSHOT=true $(BUILDER_IMAGE) cover-linux/amd64 cover-$(shell go env GOOS)/$(shell go env GOARCH)
265+
docker run --rm -u $(shell id -u):$(shell id -g) --volume $(PWD):/go/src/github.com/elastic/fleet-server -e SNAPSHOT=true $(BUILDER_IMAGE) cover-linux/$(shell go env GOARCH) cover-$(shell go env GOOS)/$(shell go env GOARCH)
261266

262267
.PHONY: release
263268
release: $(PLATFORM_TARGETS) ## - Builds a release. Specify exact platform with PLATFORMS env.
@@ -336,7 +341,7 @@ test-int-set: ## - Run integration tests without setup
336341
.PHONY: build-e2e-agent-image
337342
build-e2e-agent-image: docker-cover-e2e-binaries ## - Build a custom elastic-agent image with fleet-server binaries with coverage enabled injected
338343
@printf "${CMD_COLOR_ON} Creating test e2e agent image\n${CMD_COLOR_OFF}"
339-
FLEET_VERSION=${DEFAULT_VERSION}-SNAPSHOT GOARCH=amd64 ./dev-tools/e2e/build.sh # force fleet version to be equal to VERSION-SNAPSHOT
344+
FLEET_VERSION=${DEFAULT_VERSION}-SNAPSHOT ./dev-tools/e2e/build.sh # force fleet version to be equal to VERSION-SNAPSHOT
340345

341346
.PHONY: e2e-certs
342347
e2e-certs: ## - Use openssl to create a CA, encrypted private key, and signed fleet-server cert testing purposes

dev-tools/integration/docker-compose.yml

+1-3
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,10 @@ services:
8484
- certs:/usr/share/elasticsearch/config/certs
8585
ports:
8686
- 127.0.0.1:9200:9200
87-
8887
elasticsearch-remote:
8988
depends_on:
9089
setup:
91-
condition: service_healthy
90+
condition: service_completed_successfully
9291
image: "docker.elastic.co/elasticsearch/elasticsearch:${ELASTICSEARCH_VERSION}"
9392
container_name: elasticsearch-remote
9493
environment:
@@ -127,4 +126,3 @@ services:
127126
- certs:/usr/share/elasticsearch/config/certs
128127
ports:
129128
- 127.0.0.1:9201:9200
130-

0 commit comments

Comments
 (0)