From e81141688e151376733b1ba29883c58676cf7ea5 Mon Sep 17 00:00:00 2001 From: Pavel Zorin Date: Wed, 5 Mar 2025 11:55:54 +0100 Subject: [PATCH 1/3] [CI] Fixed container images packaging (#6972) * [CI] Fixed container images packaging * Packaging Ubuntu matrix * Improve matrix representation * Removed matrix packaging if favour to unique step keys * Cleanup * Added binfmt * Pinned binfmt to v8.1.5 * Correct step names * Changed packaging ARM machine type * pinned qemu-v9.2.0-51 * Remove qemu * Removed deb and rpm integration packaging * Reordered packaging steps * [CI] Build FIPS ARM Linux on ARM machine. Added missing retries * Fixed FIPS * [CI] Corrected integration tests packaging dependencies * [CI] single buildkite download invocation * Added missing retries (cherry picked from commit 14943f0fc3ce16745b0871cf72725e85a74a563e) # Conflicts: # .buildkite/integration.pipeline.yml --- .buildkite/bk.integration.pipeline.yml | 28 +++++++- .buildkite/integration.pipeline.yml | 95 +++++++++++++++++++------- dev-tools/mage/crossbuild.go | 2 +- 3 files changed, 98 insertions(+), 27 deletions(-) diff --git a/.buildkite/bk.integration.pipeline.yml b/.buildkite/bk.integration.pipeline.yml index e1a990074e6..09897f1eb95 100644 --- a/.buildkite/bk.integration.pipeline.yml +++ b/.buildkite/bk.integration.pipeline.yml @@ -27,6 +27,8 @@ steps: - integration-ess steps: - label: "Win2022:sudo:{{matrix}}" + depends_on: + - packaging-windows command: | buildkite-agent artifact download build/distributions/** . --step 'packaging-windows' .buildkite/scripts/integration-tests.ps1 {{matrix}} true @@ -50,6 +52,8 @@ steps: - install-uninstall - label: "Win2022:non-sudo:{{matrix}}" + depends_on: + - packaging-windows command: | buildkite-agent artifact download build/distributions/** . --step 'packaging-windows' .buildkite/scripts/integration-tests.ps1 {{matrix}} false @@ -67,6 +71,8 @@ steps: - default - label: "Win2025:sudo:{{matrix}}" + depends_on: + - packaging-windows command: | buildkite-agent artifact download build/distributions/** . --step 'packaging-windows' .buildkite/scripts/integration-tests.ps1 {{matrix}} true @@ -77,6 +83,9 @@ steps: provider: "gcp" machineType: "n1-standard-8" image: "family/platform-ingest-elastic-agent-windows-2025" + retry: + automatic: + limit: 1 matrix: - default - fleet @@ -88,12 +97,17 @@ steps: - install-uninstall - label: "Win2025:non-sudo:{{matrix}}" + depends_on: + - packaging-windows command: | buildkite-agent artifact download build/distributions/** . --step 'packaging-windows' .buildkite/scripts/integration-tests.ps1 {{matrix}} false artifact_paths: - build/** - build/diagnostics/** + retry: + automatic: + limit: 1 agents: provider: "gcp" machineType: "n1-standard-8" @@ -107,7 +121,7 @@ steps: - integration-ess steps: - label: "x86_64:non-sudo: {{matrix}}" - # only packaging-ubuntu-x86-64 artifact dependency is required + depends_on: packaging-ubuntu-x86-64 command: | buildkite-agent artifact download build/distributions/** . --step 'packaging-ubuntu-x86-64' .buildkite/scripts/steps/integration_tests_tf.sh {{matrix}} false @@ -125,9 +139,11 @@ steps: - default - label: "x86_64:sudo: {{matrix}}" + depends_on: + - packaging-ubuntu-x86-64 # due to deb group present in matrix tar.gz and deb packages artifacts are required command: | - buildkite-agent artifact download build/distributions/** . + buildkite-agent artifact download build/distributions/** . --step packaging-ubuntu-x86-64 .buildkite/scripts/steps/integration_tests_tf.sh {{matrix}} true artifact_paths: - build/** @@ -155,6 +171,8 @@ steps: - container - label: "arm:sudo: {{matrix}}" + depends_on: + - packaging-ubuntu-arm64 command: | buildkite-agent artifact download build/distributions/** . --step 'packaging-ubuntu-arm64' .buildkite/scripts/steps/integration_tests_tf.sh {{matrix}} true @@ -186,6 +204,8 @@ steps: - label: "arm:non-sudo: {{matrix}}" skip: true + depends_on: + - packaging-ubuntu-arm64 command: | buildkite-agent artifact download build/distributions/** . --step 'packaging-ubuntu-arm64' .buildkite/scripts/steps/integration_tests_tf.sh {{matrix}} false @@ -208,8 +228,10 @@ steps: - integration-ess steps: - label: "x86_64:sudo:rpm" + depends_on: + - packaging-ubuntu-x86-64 command: | - buildkite-agent artifact download build/distributions/** . + buildkite-agent artifact download build/distributions/** . --step packaging-ubuntu-x86-64 .buildkite/scripts/steps/integration_tests_tf.sh rpm true artifact_paths: - build/** diff --git a/.buildkite/integration.pipeline.yml b/.buildkite/integration.pipeline.yml index d21b88970d9..22c497b6ea8 100644 --- a/.buildkite/integration.pipeline.yml +++ b/.buildkite/integration.pipeline.yml @@ -8,14 +8,16 @@ steps: - group: "Integration tests: packaging" key: "int-packaging" steps: - - label: "Packaging: Ubuntu x86_64" - key: "packaging-ubuntu-x86-64" + # Build matrix is not used for packaging in favor to unique step keys + # Packaging linux/amd64 + - label: "Packaging: linux/amd64 rpm" + key: packaging-ubuntu-x86-64 env: - PACKAGES: "tar.gz" PLATFORMS: "linux/amd64" + PACKAGES: "tar.gz,rpm,deb" command: ".buildkite/scripts/steps/integration-package.sh" artifact_paths: - - build/distributions/** + - build/distributions/** retry: automatic: limit: 1 @@ -23,11 +25,16 @@ steps: provider: "gcp" machineType: "n2-standard-8" +<<<<<<< HEAD - label: "Packaging: Ubuntu arm64" key: "packaging-ubuntu-arm64" +======= + - label: "Packaging: Ubuntu x86_64 FIPS" + key: "packaging-ubuntu-x86-64-fips" env: PACKAGES: "tar.gz" - PLATFORMS: "linux/arm64" + PLATFORMS: "linux/amd64" + FIPS: "true" command: ".buildkite/scripts/steps/integration-package.sh" artifact_paths: - build/distributions/** @@ -36,10 +43,50 @@ steps: limit: 1 agents: provider: "gcp" - machineType: "n2-standard-8" + machineType: "n2-standard-4" + # Packaging linux/arm64 + - label: "Packaging: linux/arm64 tar.gz" + key: packaging-ubuntu-arm64 +>>>>>>> 14943f0fc ([CI] Fixed container images packaging (#6972)) + env: + PLATFORMS: "linux/arm64" + PACKAGES: "tar.gz" + command: ".buildkite/scripts/steps/integration-package.sh" + artifact_paths: + - build/distributions/** + retry: + automatic: + limit: 1 + agents: + provider: "aws" + instanceType: "c6g.4xlarge" + imagePrefix: "core-ubuntu-2204-aarch64" + +<<<<<<< HEAD - label: "Packaging: Windows" key: "packaging-windows" +======= + - label: "Packaging: Ubuntu arm64 FIPS" + key: "packaging-ubuntu-arm64-fips" + env: + PACKAGES: "tar.gz" + PLATFORMS: "linux/arm64" + FIPS: "true" + command: ".buildkite/scripts/steps/integration-package.sh" + artifact_paths: + - build/distributions/** + retry: + automatic: + limit: 1 + agents: + provider: "aws" + instanceType: "c6g.4xlarge" + imagePrefix: "core-ubuntu-2204-aarch64" + + - label: "Packaging: windows/amd64 zip" + key: packaging-windows +>>>>>>> 14943f0fc ([CI] Fixed container images packaging (#6972)) env: PACKAGES: "zip" PLATFORMS: "windows/amd64" @@ -53,28 +100,31 @@ steps: provider: "gcp" machineType: "n2-standard-8" - - label: "Packaging: Containers {{matrix.ext}} {{matrix.arch}}" - key: "packaging-containers" + - label: "Packaging: Containers linux/amd64" + key: packaging-containers-x86-64 env: - PACKAGES: "{{matrix.ext}}" - PLATFORMS: "{{matrix.arch}}" + PACKAGES: "docker" + PLATFORMS: "linux/amd64" command: ".buildkite/scripts/steps/integration-package.sh" artifact_paths: - build/distributions/** - retry: - automatic: - limit: 1 agents: provider: "gcp" machineType: "n2-standard-8" - matrix: - setup: - arch: - - linux/amd64 - - linux/arm64 - ext: - - rpm - - deb + + - label: "Packaging: Containers linux/arm64" + key: packaging-containers-arm64 + env: + PACKAGES: "docker" + PLATFORMS: "linux/arm64" + command: | + .buildkite/scripts/steps/integration-package.sh + artifact_paths: + - build/distributions/** + agents: + provider: "aws" + instanceType: "c6g.4xlarge" + imagePrefix: "core-ubuntu-2204-aarch64" - label: "Serverless integration test" key: "serverless-integration-tests" @@ -131,9 +181,8 @@ steps: command: "buildkite-agent pipeline upload .buildkite/bk.integration.pipeline.yml" - label: "Serverless Beats Tests" - # To speedup the build process only packaging-ubuntu-x86-64 artifact dependency is required depends_on: - - packaging-ubuntu-x86-64 + - int-packaging key: "serverless-beats-integration-tests" concurrency_group: elastic-agent-extended-testing/beats-integration concurrency: 8 diff --git a/dev-tools/mage/crossbuild.go b/dev-tools/mage/crossbuild.go index 30750602118..5f70244dfa0 100644 --- a/dev-tools/mage/crossbuild.go +++ b/dev-tools/mage/crossbuild.go @@ -229,7 +229,7 @@ func CrossBuildImage(platform string) (string, error) { case platform == "darwin/arm64" || platform == "darwin/universal": tagSuffix = "darwin-arm64-debian11" case platform == "linux/arm64": - tagSuffix = "arm" + tagSuffix = "base-arm-debian9" case platform == "linux/armv5" || platform == "linux/armv6": tagSuffix = "armel" case platform == "linux/armv7": From 557f9e93f3dce735cae687800d0a4ca6c7e8747d Mon Sep 17 00:00:00 2001 From: Pavel Zorin Date: Fri, 7 Mar 2025 17:19:41 +0100 Subject: [PATCH 2/3] Resolved conflicts --- .buildkite/integration.pipeline.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.buildkite/integration.pipeline.yml b/.buildkite/integration.pipeline.yml index 22c497b6ea8..4882522f5b3 100644 --- a/.buildkite/integration.pipeline.yml +++ b/.buildkite/integration.pipeline.yml @@ -25,10 +25,6 @@ steps: provider: "gcp" machineType: "n2-standard-8" -<<<<<<< HEAD - - label: "Packaging: Ubuntu arm64" - key: "packaging-ubuntu-arm64" -======= - label: "Packaging: Ubuntu x86_64 FIPS" key: "packaging-ubuntu-x86-64-fips" env: @@ -48,7 +44,6 @@ steps: # Packaging linux/arm64 - label: "Packaging: linux/arm64 tar.gz" key: packaging-ubuntu-arm64 ->>>>>>> 14943f0fc ([CI] Fixed container images packaging (#6972)) env: PLATFORMS: "linux/arm64" PACKAGES: "tar.gz" @@ -63,10 +58,6 @@ steps: instanceType: "c6g.4xlarge" imagePrefix: "core-ubuntu-2204-aarch64" -<<<<<<< HEAD - - label: "Packaging: Windows" - key: "packaging-windows" -======= - label: "Packaging: Ubuntu arm64 FIPS" key: "packaging-ubuntu-arm64-fips" env: @@ -86,7 +77,6 @@ steps: - label: "Packaging: windows/amd64 zip" key: packaging-windows ->>>>>>> 14943f0fc ([CI] Fixed container images packaging (#6972)) env: PACKAGES: "zip" PLATFORMS: "windows/amd64" From 4894d4d57be0ba85394c98dd92c588d30aca150f Mon Sep 17 00:00:00 2001 From: Pavel Zorin Date: Fri, 7 Mar 2025 17:30:50 +0100 Subject: [PATCH 3/3] Removed FIPS packaging --- .buildkite/integration.pipeline.yml | 33 ----------------------------- 1 file changed, 33 deletions(-) diff --git a/.buildkite/integration.pipeline.yml b/.buildkite/integration.pipeline.yml index 4882522f5b3..78ea527accb 100644 --- a/.buildkite/integration.pipeline.yml +++ b/.buildkite/integration.pipeline.yml @@ -25,22 +25,6 @@ steps: provider: "gcp" machineType: "n2-standard-8" - - label: "Packaging: Ubuntu x86_64 FIPS" - key: "packaging-ubuntu-x86-64-fips" - env: - PACKAGES: "tar.gz" - PLATFORMS: "linux/amd64" - FIPS: "true" - command: ".buildkite/scripts/steps/integration-package.sh" - artifact_paths: - - build/distributions/** - retry: - automatic: - limit: 1 - agents: - provider: "gcp" - machineType: "n2-standard-4" - # Packaging linux/arm64 - label: "Packaging: linux/arm64 tar.gz" key: packaging-ubuntu-arm64 @@ -58,23 +42,6 @@ steps: instanceType: "c6g.4xlarge" imagePrefix: "core-ubuntu-2204-aarch64" - - label: "Packaging: Ubuntu arm64 FIPS" - key: "packaging-ubuntu-arm64-fips" - env: - PACKAGES: "tar.gz" - PLATFORMS: "linux/arm64" - FIPS: "true" - command: ".buildkite/scripts/steps/integration-package.sh" - artifact_paths: - - build/distributions/** - retry: - automatic: - limit: 1 - agents: - provider: "aws" - instanceType: "c6g.4xlarge" - imagePrefix: "core-ubuntu-2204-aarch64" - - label: "Packaging: windows/amd64 zip" key: packaging-windows env: