Skip to content

Add exhaustive tests for linux (deb) aarch64 artifacts#18741

Closed
donoghuc wants to merge 2 commits intoelastic:mainfrom
donoghuc:arm-based-exhaustive-tests
Closed

Add exhaustive tests for linux (deb) aarch64 artifacts#18741
donoghuc wants to merge 2 commits intoelastic:mainfrom
donoghuc:arm-based-exhaustive-tests

Conversation

@donoghuc
Copy link
Member

@donoghuc donoghuc commented Feb 5, 2026

Release notes

[rn:skip]

What does this PR do?

This commit extends the aarch64 pipeline to build a .deb for aarch64 on an x86 VM then run the exhaustive tests on aarch64 VM with the .deb. This replicates how artifacts are prepared in DRA on x86. This is net new in that it adds exhaustive tests for an aarch platform. This would have caught a recent packaging bug. More thourough tests will be added in the future, this is just a first step to get toward that goal.

Related Issues

Closes #18745

This commit extends the aarch64 pipeline to build a `.deb` for `aarch64` on an
x86 VM then run the exhaustive tests on `aarch64` VM with the `.deb`. This
replicates how artifacts are prepared in DRA on x86. This is net new in that it
adds exhaustive tests for an `aarch` platform. This would have caught a recent
packaging bug. More thourough tests will be added in the future, this is just a
first step to get toward that goal.
@github-actions
Copy link
Contributor

github-actions bot commented Feb 5, 2026

🤖 GitHub comments

Just comment with:

  • run docs-build : Re-trigger the docs validation. (use unformatted text in the comment!)
  • /run exhaustive tests : Run the exhaustive tests Buildkite pipeline.

@mergify
Copy link
Contributor

mergify bot commented Feb 5, 2026

This pull request does not have a backport label. Could you fix it @donoghuc? 🙏
To fixup this pull request, you need to add the backport labels for the needed
branches, such as:

  • backport-8./d is the label to automatically backport to the 8./d branch. /d is the digit.
  • If no backport is necessary, please add the backport-skip label

@donoghuc donoghuc added the backport-active-all Automated backport with mergify to all the active branches label Feb 5, 2026
@donoghuc
Copy link
Member Author

donoghuc commented Feb 5, 2026

This example CI run shows this approach working https://buildkite.com/elastic/logstash-aarch64-pipeline/builds/623

You can see in the build step the wrong JDK is downloaded (it matches the x86 HOST rather than the ARCH env var:

2026-02-05 12:50:46 PST | > Task :downloadJdk
-- | --
2026-02-05 12:50:46 PST | Downloaded to /opt/buildkite-agent/builds/bk-agent-prod-gcp-1770324452919324750/elastic/logstash-aarch64-pipeline/build/jdk-21.0.9-linux-x64.tar.gz

The resulting .deb built for aarch86 (containing the JDK for x86) is downloaded by the next step

and fails with the expected pattern:

2026-02-05 13:05:28 PST | +Using bundled JDK: /usr/share/logstash/jdk
-- | --
2026-02-05 13:05:28 PST | +/usr/share/logstash/bin/logstash-plugin: 1: exec: /usr/share/logstash/jdk/bin/java: Exec format error

As proved in #18740 the exhaustive tests will pass when they have the right JDK. Once #18733 is merged this pipeline will start to pass.

@elasticmachine
Copy link

💚 Build Succeeded

@donoghuc
Copy link
Member Author

donoghuc commented Feb 5, 2026

Folding this in to #18733 as it is helpul for validating build changes and for backports.

@donoghuc donoghuc closed this Feb 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-active-all Automated backport with mergify to all the active branches

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add minimal set of test coverage for artifacts prepared on x86 consumed on aarch64

2 participants