Skip to content

Commit f67992a

Browse files
fix: adjust changes for make
1 parent f11466c commit f67992a

File tree

6 files changed

+42
-2378
lines changed

6 files changed

+42
-2378
lines changed

.buildkite/pipeline.package.mbp.yml

Lines changed: 0 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -35,44 +35,7 @@ steps:
3535

3636
- label: "Package x86_64 staging"
3737
key: "package-x86-64-staging"
38-
<<<<<<< HEAD
3938
command: ".buildkite/scripts/package.sh staging"
40-
=======
41-
command: |
42-
source .buildkite/scripts/version_qualifier.sh
43-
.buildkite/scripts/package.sh staging
44-
agents:
45-
provider: "gcp"
46-
image: "${IMAGE_UBUNTU_X86_64}"
47-
machineType: "c2-standard-16"
48-
artifact_paths:
49-
- build/distributions/**
50-
plugins:
51-
- *oidc_plugin
52-
53-
- label: "Package FIPS x86_64 snapshot"
54-
if: "build.env('VERSION_QUALIFIER') == null"
55-
key: "package-fips-x86-64-snapshot"
56-
command: ".buildkite/scripts/package.sh snapshot"
57-
env:
58-
FIPS: "true"
59-
agents:
60-
provider: "gcp"
61-
image: "${IMAGE_UBUNTU_X86_64}"
62-
machineType: "c2-standard-16"
63-
artifact_paths:
64-
- build/distributions/**
65-
plugins:
66-
- *oidc_plugin
67-
68-
- label: "Package FIPS x86_64 staging"
69-
key: "package-fips-x86-64-staging"
70-
command: |
71-
source .buildkite/scripts/version_qualifier.sh
72-
.buildkite/scripts/package.sh staging
73-
env:
74-
FIPS: "true"
75-
>>>>>>> 7da3f69 (fix: package fleet-server using golang-crossbuild (#5392))
7639
agents:
7740
provider: "gcp"
7841
image: "${IMAGE_UBUNTU_X86_64}"
@@ -97,44 +60,7 @@ steps:
9760

9861
- label: "Package aarch64 staging"
9962
key: "package-arm-staging"
100-
<<<<<<< HEAD
10163
command: ".buildkite/scripts/package.sh staging"
102-
=======
103-
command: |
104-
source .buildkite/scripts/version_qualifier.sh
105-
.buildkite/scripts/package.sh staging
106-
agents:
107-
provider: "aws"
108-
imagePrefix: "${IMAGE_UBUNTU_ARM_64}"
109-
instanceType: "t4g.2xlarge"
110-
artifact_paths:
111-
- build/distributions/**
112-
plugins:
113-
- *oidc_plugin
114-
115-
- label: "Package FIPS aarch64 snapshot"
116-
if: "build.env('VERSION_QUALIFIER') == null"
117-
key: "package-fips-arm-snapshot"
118-
command: ".buildkite/scripts/package.sh snapshot"
119-
env:
120-
FIPS: "true"
121-
agents:
122-
provider: "aws"
123-
imagePrefix: "${IMAGE_UBUNTU_ARM_64}"
124-
instanceType: "t4g.2xlarge"
125-
artifact_paths:
126-
- build/distributions/**
127-
plugins:
128-
- *oidc_plugin
129-
130-
- label: "Package FIPS aarch64 staging"
131-
key: "package-fips-arm-staging"
132-
command: |
133-
source .buildkite/scripts/version_qualifier.sh
134-
.buildkite/scripts/package.sh staging
135-
env:
136-
FIPS: "true"
137-
>>>>>>> 7da3f69 (fix: package fleet-server using golang-crossbuild (#5392))
13864
agents:
13965
provider: "aws"
14066
imagePrefix: "${IMAGE_UBUNTU_ARM_64}"

.buildkite/pipeline.yml

Lines changed: 2 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -9,37 +9,19 @@ env:
99
DOCKER_IMAGE_GIT_TAG: "${BUILDKITE_BRANCH}" # needs to rename for rollback
1010
GO_AGENT_IMAGE: "golang:${GO_VERSION}"
1111
TERRAFORM_VERSION: "1.6.4"
12-
<<<<<<< HEAD
13-
=======
1412
IMAGE_UBUNTU_X86_64: "family/core-ubuntu-2204"
1513
IMAGE_UBUNTU_ARM_64: "core-ubuntu-2204-aarch64"
16-
IMAGE_UBUNTU_X86_64_FIPS: "platform-ingest-fleet-server-ubuntu-2204-fips"
1714

1815
# This section is used to define the plugins that will be used in the pipeline.
1916
# See https://buildkite.com/docs/pipelines/integrations/plugins/using#using-yaml-anchors-with-plugins
2017
common:
21-
- test_collector_plugin: &test_collector_plugin
22-
test-collector#v1.11.0:
23-
files: "build/test-*.xml"
24-
format: "junit"
25-
branches: "main"
26-
debug: true
27-
- bk_analytics_token_plugin: &bk_analytics_token_plugin
28-
elastic/vault-secrets#v0.1.0:
29-
path: "kv/ci-shared/platform-ingest/buildkite_analytics_token"
30-
field: "token"
31-
env_var: "BUILDKITE_ANALYTICS_TOKEN"
32-
- docker_elastic_login_plugin: &docker_elastic_login_plugin
33-
elastic/vault-docker-login#v0.6.0:
34-
secret_path: 'kv/ci-shared/platform-ingest/elastic_docker_registry'
3518
# See https://github.com/elastic/oblt-infra/blob/main/conf/resources/repos/fleet-server/01-gcp-buildkite-oidc.tf
3619
# This plugin authenticates to Google Cloud using the OIDC token.
3720
- oidc_plugin: &oidc_plugin
3821
elastic/oblt-google-auth#v1.2.0:
3922
lifetime: 10800 # seconds
4023
project-id: "elastic-observability-ci"
4124
project-number: "911195782929"
42-
>>>>>>> 7da3f69 (fix: package fleet-server using golang-crossbuild (#5392))
4325

4426
steps:
4527
- group: "Check and build"
@@ -53,35 +35,10 @@ steps:
5335
cpu: "8"
5436
memory: "4G"
5537

56-
<<<<<<< HEAD
57-
- label: ":building_construction: Run local build"
58-
key: make-local
59-
command: "make local"
60-
agents:
61-
image: "${GO_AGENT_IMAGE}"
62-
cpu: "8"
63-
memory: "4G"
64-
=======
6538
- label: "Package x86_64"
6639
key: "package-x86-64-pr"
6740
env:
68-
PLATFORMS: "linux/amd64,darwin/amd64,windows/amd64"
69-
command: ".buildkite/scripts/release_test.sh"
70-
artifact_paths:
71-
- build/distributions/**
72-
agents:
73-
provider: "gcp"
74-
image: "${IMAGE_UBUNTU_X86_64}"
75-
machineType: "c2-standard-16"
76-
plugins:
77-
- *oidc_plugin
78-
>>>>>>> 7da3f69 (fix: package fleet-server using golang-crossbuild (#5392))
79-
80-
- label: "Package x86_64 FIPS"
81-
key: "package-fips-x86-64-pr"
82-
env:
83-
FIPS: "true"
84-
PLATFORMS: "linux/amd64"
41+
PLATFORMS: "linux/amd64 darwin/amd64 windows/amd64"
8542
command: ".buildkite/scripts/release_test.sh"
8643
artifact_paths:
8744
- build/distributions/**
@@ -95,22 +52,7 @@ steps:
9552
- label: "Package aarch64"
9653
key: "package-arm64-pr"
9754
env:
98-
PLATFORMS: "linux/arm64,darwin/arm64"
99-
command: ".buildkite/scripts/release_test.sh"
100-
artifact_paths:
101-
- build/distributions/**
102-
agents:
103-
provider: "aws"
104-
imagePrefix: "${IMAGE_UBUNTU_ARM_64}"
105-
instanceType: "t4g.2xlarge"
106-
plugins:
107-
- *oidc_plugin
108-
109-
- label: "Package aarch64 FIPS"
110-
key: "package-fips-arm64-pr"
111-
env:
112-
FIPS: "true"
113-
PLATFORMS: "linux/arm64"
55+
PLATFORMS: "linux/arm64 darwin/arm64"
11456
command: ".buildkite/scripts/release_test.sh"
11557
artifact_paths:
11658
- build/distributions/**

.buildkite/scripts/package.sh

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,10 @@ with_mage
2727
case "${TYPE}" in
2828
"snapshot")
2929
export SNAPSHOT=true
30-
<<<<<<< HEAD
31-
make release
30+
make docker-release
3231
;;
3332
"staging")
34-
make release
35-
=======
36-
mage docker:release
37-
;;
38-
"staging")
39-
mage docker:release
40-
>>>>>>> 7da3f69 (fix: package fleet-server using golang-crossbuild (#5392))
33+
make docker-release
4134
;;
4235
*)
4336
echo "The option is unsupported yet"

.buildkite/scripts/test-release.sh

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,26 @@
33
set -euo pipefail
44

55
FLEET_SERVER_VERSION=${1:?"Fleet Server version is needed"}
6+
PLATFORMS=${PLATFORMS:-"darwin/amd64 darwin/arm64 linux/amd64 linux/arm64 windows/amd64"}
67

7-
PLATFORM_FILES=(darwin-aarch64.tar.gz darwin-x86_64.tar.gz linux-arm64.tar.gz linux-x86_64.tar.gz windows-x86_64.zip)
8-
if [ "$FIPS" = "true" ] ; then
9-
PLATFORM_FILES=(linux-arm64-fips.tar.gz linux-x86_64-fips.tar.gz)
10-
fi
8+
PLATFORM_FILES=()
9+
for p in $PLATFORMS; do
10+
os="${p%%/*}"
11+
arch="${p##*/}"
12+
13+
case "$os/$arch" in
14+
darwin/arm64) arch="aarch64" ;;
15+
*/amd64) arch="x86_64" ;;
16+
esac
17+
18+
case "$os" in
19+
windows) ext="zip" ;;
20+
*) ext="tar.gz" ;;
21+
esac
22+
23+
file="${os}-${arch}.${ext}"
24+
PLATFORM_FILES+=("$file")
25+
done
1126

1227
#make release
1328

@@ -23,17 +38,17 @@ for PLATFORM_FILE in "${PLATFORM_FILES[@]}"
2338
do
2439
file="${FILE_PREFIX}${PLATFORM_FILE}"
2540
if [ ! -f "${file}" ]; then
26-
echo -e "${RED}!! ${PLATFORM_FILE}: The file was not created.${NO_COLOR}"
41+
echo -e "${RED}!! ${file}: The file was not created.${NO_COLOR}"
2742
exit 1
2843
else
29-
echo -e "- ${PLATFORM_FILE} ${GREEN}OK${NO_COLOR}"
44+
echo -e "- ${file} ${GREEN}OK${NO_COLOR}"
3045
fi
3146

3247
fileSha512="${file}.sha512"
3348
if [ ! -f "${fileSha512}" ]; then
3449
echo -e "${RED}!! ${fileSha512}: The file was not created.${NO_COLOR}"
3550
exit 1
3651
else
37-
echo -e "- ${PLATFORM_FILE}.sha512 ${GREEN}OK${NO_COLOR}"
52+
echo -e "- ${file}.sha512 ${GREEN}OK${NO_COLOR}"
3853
fi
3954
done

Makefile

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,6 @@ DEFAULT_VERSION=$(shell awk '/const DefaultVersion/{print $$NF}' version/version
1212
TARGET_ARCH_amd64=x86_64
1313
TARGET_ARCH_arm64=arm64
1414
PLATFORMS ?= darwin/amd64 darwin/arm64 linux/amd64 linux/arm64 windows/amd64
15-
BUILDMODE_linux_amd64=-buildmode=pie
16-
BUILDMODE_linux_arm64=-buildmode=pie
17-
BUILDMODE_windows_amd64=-buildmode=pie
18-
BUILDMODE_darwin_amd64=-buildmode=pie
19-
BUILDMODE_darwin_arm64=-buildmode=pie
2015

2116
CROSSBUILD_SUFFIX=main-debian11
2217
CROSSBUILD_ARM_SUFFIX=base-arm-debian9
@@ -65,6 +60,10 @@ ifeq "${FIPS}" "true"
6560
DOCKER_IMAGE_TAG:=${DOCKER_IMAGE_TAG}-fips
6661
endif
6762
endif
63+
CGO_ENABLED?=0
64+
ifeq "${FIPS}" "true"
65+
CGO_ENABLED=1
66+
endif
6867
DOCKER_IMAGE?=docker.elastic.co/fleet-server/fleet-server
6968

7069
PLATFORM_TARGETS=$(addprefix release-, $(PLATFORMS))
@@ -138,7 +137,7 @@ list-platforms: ## - Show the possible PLATFORMS
138137
.PHONY: local
139138
local: ## - Build local binary for local environment (bin/fleet-server)
140139
@printf "${CMD_COLOR_ON} Build binaries using local go installation\n${CMD_COLOR_OFF}"
141-
${GOFIPSEXPERIMENT} go build -tags=${GOBUILDTAGS} -gcflags="${GCFLAGS}" -ldflags="${LDFLAGS}" -o ./bin/fleet-server .
140+
CGO_ENABLED=${CGO_ENABLED} ${GOFIPSEXPERIMENT} go build -tags=${GOBUILDTAGS} -gcflags="${GCFLAGS}" -ldflags="${LDFLAGS}" -o ./bin/fleet-server .
142141
@printf "${CMD_COLOR_ON} Binaries in ./bin/\n${CMD_COLOR_OFF}"
143142

144143
.PHONY: $(COVER_TARGETS)
@@ -147,8 +146,7 @@ $(COVER_TARGETS): cover-%: ## - Build a binary with the -cover flag for integrat
147146
$(eval $@_OS := $(firstword $(subst /, ,$(lastword $(subst cover-, ,$@)))))
148147
$(eval $@_GO_ARCH := $(lastword $(subst /, ,$(lastword $(subst cover-, ,$@)))))
149148
$(eval $@_ARCH := $(TARGET_ARCH_$($@_GO_ARCH)))
150-
$(eval $@_BUILDMODE:= $(BUILDMODE_$($@_OS)_$($@_GO_ARCH)))
151-
GOOS=$($@_OS) GOARCH=$($@_GO_ARCH) ${GOFIPSEXPERIMENT} go build -tags=${GOBUILDTAGS} -cover -coverpkg=./... -gcflags="${GCFLAGS}" -ldflags="${LDFLAGS}" $($@_BUILDMODE) -o build/cover/fleet-server-$(VERSION)-$($@_OS)-$($@_ARCH)$(FIPSSUFFIX)/fleet-server$(if $(filter windows,$($@_OS)),.exe,) .
149+
CGO_ENABLED=${CGO_ENABLED} GOOS=$($@_OS) GOARCH=$($@_GO_ARCH) ${GOFIPSEXPERIMENT} go build -tags=${GOBUILDTAGS} -cover -coverpkg=./... -gcflags="${GCFLAGS}" -ldflags="${LDFLAGS}" -o build/cover/fleet-server-$(VERSION)-$($@_OS)-$($@_ARCH)$(FIPSSUFFIX)/fleet-server$(if $(filter windows,$($@_OS)),.exe,) .
152150

153151
.PHONY: clean
154152
clean: ## - Clean up build artifacts
@@ -223,11 +221,11 @@ test-release: ## - Check that all release binaries are created
223221

224222
.PHONY: test-unit
225223
test-unit: prepare-test-context ## - Run unit tests only
226-
set -o pipefail; go test ${GO_TEST_FLAG} -tags=$(GOBUILDTAGS) -v -race -coverprofile=build/coverage-${OS_NAME}.out ./... | tee build/test-unit-${OS_NAME}.out
224+
set -o pipefail; CGO_ENABLED=1 go test ${GO_TEST_FLAG} -tags=$(GOBUILDTAGS) -v -race -coverprofile=build/coverage-${OS_NAME}.out ./... | tee build/test-unit-${OS_NAME}.out
227225

228226
.PHONY: benchmark
229227
benchmark: prepare-test-context install-benchstat ## - Run benchmark tests only
230-
set -o pipefail; go test -bench=$(BENCHMARK_FILTER) -tags=$(GOBUILDTAGS) -run=$(BENCHMARK_FILTER) $(BENCHMARK_ARGS) $(BENCHMARK_PACKAGE) | tee "build/$(BENCH_BASE)"
228+
set -o pipefail; CGO_ENABLED=1 go test -bench=$(BENCHMARK_FILTER) -tags=$(GOBUILDTAGS) -run=$(BENCHMARK_FILTER) $(BENCHMARK_ARGS) $(BENCHMARK_PACKAGE) | tee "build/$(BENCH_BASE)"
231229

232230
.PHONY: install-benchstat
233231
install-benchstat: ## - Install the benchstat package
@@ -262,8 +260,7 @@ $(PLATFORM_TARGETS): release-%:
262260
$(eval $@_OS := $(firstword $(subst /, ,$(lastword $(subst release-, ,$@)))))
263261
$(eval $@_GO_ARCH := $(lastword $(subst /, ,$(lastword $(subst release-, ,$@)))))
264262
$(eval $@_ARCH := $(TARGET_ARCH_$($@_GO_ARCH)))
265-
$(eval $@_BUILDMODE:= $(BUILDMODE_$($@_OS)_$($@_GO_ARCH)))
266-
GOOS=$($@_OS) GOARCH=$($@_GO_ARCH) ${GOFIPSEXPERIMENT} go build -tags=${GOBUILDTAGS} -gcflags="${GCFLAGS}" -ldflags="${LDFLAGS}" $($@_BUILDMODE) -o build/binaries/fleet-server-$(VERSION)-$($@_OS)-$($@_ARCH)$(FIPSSUFFIX)/fleet-server .
263+
CGO_ENABLED=${CGO_ENABLED} GOOS=$($@_OS) GOARCH=$($@_GO_ARCH) ${GOFIPSEXPERIMENT} go build -tags=${GOBUILDTAGS} -gcflags="${GCFLAGS}" -ldflags="${LDFLAGS}" -o build/binaries/fleet-server-$(VERSION)-$($@_OS)-$($@_ARCH)$(FIPSSUFFIX)/fleet-server .
267264
@$(MAKE) OS=$($@_OS) ARCH=$($@_ARCH) package-target
268265

269266
.PHONY: build-docker
@@ -314,6 +311,8 @@ endif
314311
build-releaser: ## - Build a Docker image to run make package including all build tools
315312
ifeq ($(shell uname -p),arm)
316313
$(eval SUFFIX := ${CROSSBUILD_ARM_SUFFIX})
314+
else ifeq ($(shell uname -p),aarch64)
315+
$(eval SUFFIX := ${CROSSBUILD_ARM_SUFFIX})
317316
else
318317
$(eval SUFFIX := ${CROSSBUILD_SUFFIX})
319318
endif
@@ -325,16 +324,16 @@ endif
325324

326325
.PHONY: docker-release
327326
docker-release: build-releaser ## - Builds a release for all platforms in a dockerised environment
328-
docker run --rm -u $(shell id -u):$(shell id -g) --env=GOCACHE=/go/cache --volume $(PWD):/go/src/github.com/elastic/fleet-server $(BUILDER_IMAGE) release
327+
docker run --rm -u $(shell id -u):$(shell id -g) --env=GOCACHE=/go/cache --env='PLATFORMS=${PLATFORMS}' --volume $(PWD):/go/src/github.com/elastic/fleet-server $(BUILDER_IMAGE) release
329328

330329
.PHONY: docker-cover-e2e-binaries
331330
docker-cover-e2e-binaries: build-releaser
332331
ifeq "${FIPS}" "true"
333332
## non-linux is currently unsupported for FIPS
334-
docker run --rm -u $(shell id -u):$(shell id -g) --env=GOCACHE=/go/cache --volume $(PWD):/go/src/github.com/elastic/fleet-server -e SNAPSHOT=true -e DEV=$(DEV) -e FIPS=$(FIPS) $(BUILDER_IMAGE) cover-linux/$(shell go env GOARCH)
333+
docker run --rm -u $(shell id -u):$(shell id -g) --env=GOCACHE=/go/cache --env='PLATFORMS=${PLATFORMS}' --volume $(PWD):/go/src/github.com/elastic/fleet-server -e SNAPSHOT=true -e DEV=$(DEV) -e FIPS=$(FIPS) $(BUILDER_IMAGE) cover-linux/$(shell go env GOARCH)
335334
else
336335
## Build for local architecture and for linux/$ARCH for docker images.
337-
docker run --rm -u $(shell id -u):$(shell id -g) --env=GOCACHE=/go/cache --volume $(PWD):/go/src/github.com/elastic/fleet-server -e SNAPSHOT=true -e DEV=$(DEV) -e FIPS=$(FIPS) $(BUILDER_IMAGE) cover-linux/$(shell go env GOARCH) cover-$(shell go env GOOS)/$(shell go env GOARCH)
336+
docker run --rm -u $(shell id -u):$(shell id -g) --env=GOCACHE=/go/cache --env='PLATFORMS=${PLATFORMS}' --volume $(PWD):/go/src/github.com/elastic/fleet-server -e SNAPSHOT=true -e DEV=$(DEV) -e FIPS=$(FIPS) $(BUILDER_IMAGE) cover-linux/$(shell go env GOARCH) cover-$(shell go env GOOS)/$(shell go env GOARCH)
338337
endif
339338

340339
.PHONY: release
@@ -404,6 +403,7 @@ test-int-set: ## - Run integration tests without setup
404403
REMOTE_ELASTICSEARCH_SERVICE_TOKEN=$(shell ./dev-tools/integration/get-elasticsearch-servicetoken.sh https://${ELASTICSEARCH_USERNAME}:${ELASTICSEARCH_PASSWORD}@${TEST_REMOTE_ELASTICSEARCH_HOST} "fleet-server-remote") \
405404
REMOTE_ELASTICSEARCH_CA_CRT_BASE64="$(shell COMPOSE_PROJECT_NAME=integration docker compose -f ./dev-tools/e2e/docker-compose.yml --env-file ./dev-tools/integration/.env exec elasticsearch-remote /bin/bash -c "cat /usr/share/elasticsearch/config/certs/ca/ca.crt" | base64)" \
406405
ELASTICSEARCH_HOSTS=${TEST_ELASTICSEARCH_HOSTS} ELASTICSEARCH_USERNAME=${ELASTICSEARCH_USERNAME} ELASTICSEARCH_PASSWORD=${ELASTICSEARCH_PASSWORD} \
406+
CGO_ENABLED=1 \
407407
go test -v -tags=integration -count=1 -race -p 1 ./...
408408

409409
##################################################
@@ -465,4 +465,4 @@ test-cloude2e: prepare-test-context ## - Run cloude2e tests with full setup (sl
465465
test-cloude2e-set: ## Run cloude2e test
466466
$(eval FLEET_SERVER_URL := $(shell make --no-print-directory -C ${CLOUD_TESTING_BASE} cloud-get-fleet-url))
467467
make -C ${CLOUD_TESTING_BASE} cloud-get-fleet-url
468-
FLEET_SERVER_URL="${FLEET_SERVER_URL}" go test -v -tags=cloude2e -count=1 -race -p 1 ./testing/cloude2e
468+
FLEET_SERVER_URL="${FLEET_SERVER_URL}" CGO_ENABLED=1 go test -v -tags=cloude2e -count=1 -race -p 1 ./testing/cloude2e

0 commit comments

Comments
 (0)