Skip to content

Conversation

@mergify
Copy link
Contributor

@mergify mergify bot commented Oct 7, 2025

What does this PR do?

The goal of this PR is to get Elastic Agent building and packaging a Windows ARM artifact.

Both Beats and Endpoint are currently producing Windows/arm64 artifacts that can be packaged.

This is producing a valid Elastic Agent build that has Agentbeat, OsQuerybeat, and Endpoint components packaged with it: https://buildkite.com/elastic/elastic-agent/builds/27828#01999b48-3d7d-424d-b2b1-aa1c97d29b09

NOTE: There is currently no CI support for Windows/arm64, so testing in CI has not been added. Also, this support for Windows/arm64 is not fully supported for customer use, so there will be no changelog added since it won't be published on the download pages until it's fully vetted/tested/etc.

This PR does the following:

  • Updates packaging step names in .buildkite/bk.integration.pipeline.yml to reflect windows architecture
  • Adding a packaging-windows-arm64 step to .buildkite/integration.pipeline.yml
  • Added windows/arm64 as a PLATFORMS list item for build-dra-snapshot-arm step in .buildkite/pipeline.elastic-agent-binary-dra.yml
  • Added windows/arm64 as a PLATFORMS list item to package-elastic-agent-arm step in .buildkite/pipeline.elastic-agent-package.yml
  • Added windows/arm64 case for crossbuilding in dev-tool/mage/crossbuild.go
  • Added windows/arm64 entries to various structs in dev-tools/mage and dev-tools/packaging
  • Added windows-arm64 as valid platforms item in dev-tools/packaging/packages.yml
  • Updated fleet-server to support all the valid platforms, except the new windows/arm64 one
  • Updated files in pkg/ to support windows/arm64 and not error out when encountering it
  • Updated specs/endpoint-security.spec.yml to not error out if windows/arm64 is the OS/arch
  • Updated magefile.go to support windows/arm64 in building and packaging logic

Why is it important?

Getting lots of demand for the ability to run on Windows OS w/ arm64 architecture.

Checklist

  • I have read and understood the pull request guidelines of this project.
  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • I have added an entry in ./changelog/fragments using the changelog tool
  • I have added an integration test or an E2E test

Disruptive User Impact

How to test this PR locally

Related issues

Questions to ask yourself

  • How are we going to support this in production?
  • How are we going to measure its adoption?
  • How are we going to debug this?
  • What are the metrics I should take care of?
  • ...

This is an automatic backport of pull request #9751 done by [Mergify](https://mergify.com).

* Save current work

* add a platformpackage for windows/arm64

* Trying new image in observability-ci namespace

* Updating packages spec

* Package windows/arm64

* Update windows step keys

* Change host image for windows/arm64 packaging

* Update test and switch image settings for windows/arm

* machineType -> instanceType

* trigger a new build after container update

* trigger a new build after container update

* add go build -x

* trigger a new build after container update

* Bump version of winperfcounters to support arm

* less noise please

* set cgo_enabled for windows

* trigger a new build after container update

* trigger a new build after container update

* trigger a new build after container update

* trigger a new build after container update

* Add arm64 to allowed archs for Zip

* go mod tidy

* Build elastic-agent-archive-root for windows/arm64

* Cleaning up comments and debug logs

* Cleaning up

* Cleaning up and setting agentbeat to all platforms

* Agentbeat not yet in DRA for windows/arm64

* Beats DRA now published, so try agentbeat w/ all platforms

* Cleaning up and linting

* Temp trying new .package-version w/ windows/arm beats

* Cleaning up code

* Cleaning up log messages

* Restoring previous comment

* Adding in support for windows/arm in spec file for Endpoint

* fixing spacing

(cherry picked from commit 53d140d)
@mergify mergify bot added the backport label Oct 7, 2025
@mergify mergify bot requested review from a team as code owners October 7, 2025 17:29
@mergify mergify bot requested review from blakerouse and kaanyalti and removed request for a team October 7, 2025 17:29
@github-actions github-actions bot added Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team skip-changelog labels Oct 7, 2025
@elasticmachine
Copy link
Contributor

Pinging @elastic/elastic-agent-control-plane (Team:Elastic-Agent-Control-Plane)

@dwhyrock dwhyrock enabled auto-merge (squash) October 7, 2025 17:48
@elasticmachine
Copy link
Contributor

💚 Build Succeeded

cc @dwhyrock

@dwhyrock dwhyrock requested a review from cmacknz October 7, 2025 19:31
@dwhyrock dwhyrock merged commit 0446dad into 9.2 Oct 9, 2025
23 checks passed
@dwhyrock dwhyrock deleted the mergify/bp/9.2/pr-9751 branch October 9, 2025 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants