feat: support building integrations in arm#25195
feat: support building integrations in arm#25195mdelapenya wants to merge 8 commits intoelastic:mainfrom
Conversation
💚 Build Succeeded
Expand to view the summary
Build stats
Test stats 🧪
💚 Flaky test reportTests succeeded. 🤖 GitHub commentsTo re-run your PR in the CI, just comment with:
|
This index will be used by the manifest-tool to generate the proper tag
This target is intended to be run on the CI, only
| parallelTasks["arm_metricbeat"] = generateBuildStep(platform: "arm", beatPath: 'metricbeat') | ||
| parallelTasks["ubuntu_20_metricbeat"] = generateBuildStep(platform: "ubuntu-20", beatPath: 'metricbeat') |
There was a problem hiding this comment.
Are arm and ubuntu-20 jenkins labels? It looks weird to me to see an OS and an architecture used for the same platform parameter.
There was a problem hiding this comment.
Yes, they are Jenkins labels
| case moduleUppercase + "_CODENAME": | ||
| case moduleUppercase + "_VARIANT": | ||
| codename = v | ||
| case moduleUppercase + "_INDEX": |
There was a problem hiding this comment.
This is a significative change, not sure if we want to do it this way.
So far, for good or bad, the variables set in each variant don't have any special meaning, they are just applied when running docker-compose subcommands. Currently we know that when we want to do something with all the variants, we have to call docker-compose once for each variant, passing the variables defined there.
With this change we are forcing a convention that may affect what images are used and which ones are cached. For example we have images with index different to 1 (postgresql, nats, prometheus...). Should we also define a _INDEX variable apart of defining it in the docker-compose.yml file? This can be error-prone.
If this is done to cover the ceph images, I would prefer to rethink how ceph is tested, or even reduce its coverage, before introducing this logic here.
In see though that this system complicates the obtention of the tags. Maybe another approach for that is to parse the docker-compose.yml files to get the image fields for each service, and replace the variables there for each one of the variants. Imitating this logic of docker-compose can be a bit hacky, but it is a well known format, so it can be still clean. And this way we could continue having any variable in these files without expecting any special meaning.
* feat: add support for running the tests in ARM * fix: arm workers are not immutable yet * chore: calculate artifact from the GOARCH variable At this moment we support amd64 and arm64 * chore: run elasticsearch in the right platform * chore: add log for architecture * chore: print env variable for GOARCH * chore: set GOARCH based in the worker * fix: wrong copy&paste * chore: install k8s dependencies on ARM * chore: install godog using GOARCH * fix: proper values for GO env in Makefile * chore: add log when requesting a node * fix: define Groovy variable * chore: use proper platform for kibana * chore: simplify platforms selection logic * fix: use proper CI label for node selector * chore: remove running containers in clean-docker script * chore: clean up docker state on mutable workers * chore: use parallel branch name for filebeat logs * fix: add forgotten double quotes * chore: print Docker compose version On ARM * chore: use aarch64 architecture for RPM packages * chore: support ARM in tar installer * fix: proper arch for TAR installer * chore: log when the artifact is found * chore: be defensive about no running containers * chore: add tests for RPM artifact name * chore: add tests for x86_64 TAR artifact * chore: remove docker label from CI workers * chore: separate ARM tests in a second parallel stage This pretends to avoid using too many workers, adding a second layer for ARM. * chore: update stage name * fix: update arm target platform * chore: use GOARCH in the junit file * chore: use GOARCH in filebeat logs * chore: run all stages in parallel * chore: add platform to log when skipping tests * fix: use a filebeat version that supports multiplatform * chore: do not run integrations on ARM See elastic/beats#25195 * chore: move test resources for ARM * chore: use staging environment for package-registry See https://github.com/elastic/package-storage * fix: remove clean because arm workers are now immutable * chore: use new multiplatform images * chore: use new multiplatform base images for fleet-server * chore: add platform to elastic-agent cloud flavour * fix: use proper variable for platform * chore: do not clean up installer's workspace Because we are using ephemeral workers, we do not want to remove previous files * Revert "chore: do not clean up installer's workspace" This reverts commit 9104501. * chore(ci): skip pull of images from code * Revert "chore(ci): skip pull of images from code" This reverts commit 01cc441. * chore: set platform when pulling images * chore: update packer cache with our systemd images * fix: request proper platform image for the agent * feat: exclude scenarios per platform * chore: remove tags for endpoint, as they are not used at all They are also blocking the addition of a parent tag at the feature level, as maximun number of tags is 3 * fix: skip endpoint integration on ARM64 * feat: provide supported platforms at the scenario level on CI The scenario will be able to override its parent suite's platforms, making possible to select different platforms at the scenario level. * fix: use proper length method for groovy arrays * fix: groovy arrays use size * fix: override suite platforms per scenario * chore: update Jenkins label for arm workers Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com> * chore: simplify platforms, reusing stack * chore: explicitly pass GOARCH to CI script * Revert "chore: update Jenkins label for arm workers" This reverts commit 9ef81ca. Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com>
* feat: add support for running the tests in ARM * fix: arm workers are not immutable yet * chore: calculate artifact from the GOARCH variable At this moment we support amd64 and arm64 * chore: run elasticsearch in the right platform * chore: add log for architecture * chore: print env variable for GOARCH * chore: set GOARCH based in the worker * fix: wrong copy&paste * chore: install k8s dependencies on ARM * chore: install godog using GOARCH * fix: proper values for GO env in Makefile * chore: add log when requesting a node * fix: define Groovy variable * chore: use proper platform for kibana * chore: simplify platforms selection logic * fix: use proper CI label for node selector * chore: remove running containers in clean-docker script * chore: clean up docker state on mutable workers * chore: use parallel branch name for filebeat logs * fix: add forgotten double quotes * chore: print Docker compose version On ARM * chore: use aarch64 architecture for RPM packages * chore: support ARM in tar installer * fix: proper arch for TAR installer * chore: log when the artifact is found * chore: be defensive about no running containers * chore: add tests for RPM artifact name * chore: add tests for x86_64 TAR artifact * chore: remove docker label from CI workers * chore: separate ARM tests in a second parallel stage This pretends to avoid using too many workers, adding a second layer for ARM. * chore: update stage name * fix: update arm target platform * chore: use GOARCH in the junit file * chore: use GOARCH in filebeat logs * chore: run all stages in parallel * chore: add platform to log when skipping tests * fix: use a filebeat version that supports multiplatform * chore: do not run integrations on ARM See elastic/beats#25195 * chore: move test resources for ARM * chore: use staging environment for package-registry See https://github.com/elastic/package-storage * fix: remove clean because arm workers are now immutable * chore: use new multiplatform images * chore: use new multiplatform base images for fleet-server * chore: add platform to elastic-agent cloud flavour * fix: use proper variable for platform * chore: do not clean up installer's workspace Because we are using ephemeral workers, we do not want to remove previous files * Revert "chore: do not clean up installer's workspace" This reverts commit 9104501. * chore(ci): skip pull of images from code * Revert "chore(ci): skip pull of images from code" This reverts commit 01cc441. * chore: set platform when pulling images * chore: update packer cache with our systemd images * fix: request proper platform image for the agent * feat: exclude scenarios per platform * chore: remove tags for endpoint, as they are not used at all They are also blocking the addition of a parent tag at the feature level, as maximun number of tags is 3 * fix: skip endpoint integration on ARM64 * feat: provide supported platforms at the scenario level on CI The scenario will be able to override its parent suite's platforms, making possible to select different platforms at the scenario level. * fix: use proper length method for groovy arrays * fix: groovy arrays use size * fix: override suite platforms per scenario * chore: update Jenkins label for arm workers Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com> * chore: simplify platforms, reusing stack * chore: explicitly pass GOARCH to CI script * Revert "chore: update Jenkins label for arm workers" This reverts commit 9ef81ca. Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com> (cherry picked from commit e1a97f3) # Conflicts: # .ci/packer_cache.sh # cli/config/compose/profiles/fleet/docker-compose.yml # cli/config/compose/profiles/metricbeat/docker-compose.yml # e2e/_suites/fleet/stand-alone.go # internal/deploy/docker_client.go # internal/installer/elasticagent_deb.go # internal/installer/elasticagent_docker.go # internal/installer/elasticagent_rpm.go # internal/installer/elasticagent_tar.go # internal/utils/utils_test.go
* feat: add support for running the tests in ARM * fix: arm workers are not immutable yet * chore: calculate artifact from the GOARCH variable At this moment we support amd64 and arm64 * chore: run elasticsearch in the right platform * chore: add log for architecture * chore: print env variable for GOARCH * chore: set GOARCH based in the worker * fix: wrong copy&paste * chore: install k8s dependencies on ARM * chore: install godog using GOARCH * fix: proper values for GO env in Makefile * chore: add log when requesting a node * fix: define Groovy variable * chore: use proper platform for kibana * chore: simplify platforms selection logic * fix: use proper CI label for node selector * chore: remove running containers in clean-docker script * chore: clean up docker state on mutable workers * chore: use parallel branch name for filebeat logs * fix: add forgotten double quotes * chore: print Docker compose version On ARM * chore: use aarch64 architecture for RPM packages * chore: support ARM in tar installer * fix: proper arch for TAR installer * chore: log when the artifact is found * chore: be defensive about no running containers * chore: add tests for RPM artifact name * chore: add tests for x86_64 TAR artifact * chore: remove docker label from CI workers * chore: separate ARM tests in a second parallel stage This pretends to avoid using too many workers, adding a second layer for ARM. * chore: update stage name * fix: update arm target platform * chore: use GOARCH in the junit file * chore: use GOARCH in filebeat logs * chore: run all stages in parallel * chore: add platform to log when skipping tests * fix: use a filebeat version that supports multiplatform * chore: do not run integrations on ARM See elastic/beats#25195 * chore: move test resources for ARM * chore: use staging environment for package-registry See https://github.com/elastic/package-storage * fix: remove clean because arm workers are now immutable * chore: use new multiplatform images * chore: use new multiplatform base images for fleet-server * chore: add platform to elastic-agent cloud flavour * fix: use proper variable for platform * chore: do not clean up installer's workspace Because we are using ephemeral workers, we do not want to remove previous files * Revert "chore: do not clean up installer's workspace" This reverts commit 9104501. * chore(ci): skip pull of images from code * Revert "chore(ci): skip pull of images from code" This reverts commit 01cc441. * chore: set platform when pulling images * chore: update packer cache with our systemd images * fix: request proper platform image for the agent * feat: exclude scenarios per platform * chore: remove tags for endpoint, as they are not used at all They are also blocking the addition of a parent tag at the feature level, as maximun number of tags is 3 * fix: skip endpoint integration on ARM64 * feat: provide supported platforms at the scenario level on CI The scenario will be able to override its parent suite's platforms, making possible to select different platforms at the scenario level. * fix: use proper length method for groovy arrays * fix: groovy arrays use size * fix: override suite platforms per scenario * chore: update Jenkins label for arm workers Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com> * chore: simplify platforms, reusing stack * chore: explicitly pass GOARCH to CI script * Revert "chore: update Jenkins label for arm workers" This reverts commit 9ef81ca. Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com> (cherry picked from commit e1a97f3) # Conflicts: # cli/config/compose/profiles/fleet/docker-compose.yml # cli/config/compose/profiles/metricbeat/docker-compose.yml # e2e/_suites/fleet/stand-alone.go # internal/installer/elasticagent_deb.go # internal/installer/elasticagent_docker.go # internal/installer/elasticagent_rpm.go # internal/installer/elasticagent_tar.go # internal/utils/utils_test.go
* feat: add support for running the tests in ARM * fix: arm workers are not immutable yet * chore: calculate artifact from the GOARCH variable At this moment we support amd64 and arm64 * chore: run elasticsearch in the right platform * chore: add log for architecture * chore: print env variable for GOARCH * chore: set GOARCH based in the worker * fix: wrong copy&paste * chore: install k8s dependencies on ARM * chore: install godog using GOARCH * fix: proper values for GO env in Makefile * chore: add log when requesting a node * fix: define Groovy variable * chore: use proper platform for kibana * chore: simplify platforms selection logic * fix: use proper CI label for node selector * chore: remove running containers in clean-docker script * chore: clean up docker state on mutable workers * chore: use parallel branch name for filebeat logs * fix: add forgotten double quotes * chore: print Docker compose version On ARM * chore: use aarch64 architecture for RPM packages * chore: support ARM in tar installer * fix: proper arch for TAR installer * chore: log when the artifact is found * chore: be defensive about no running containers * chore: add tests for RPM artifact name * chore: add tests for x86_64 TAR artifact * chore: remove docker label from CI workers * chore: separate ARM tests in a second parallel stage This pretends to avoid using too many workers, adding a second layer for ARM. * chore: update stage name * fix: update arm target platform * chore: use GOARCH in the junit file * chore: use GOARCH in filebeat logs * chore: run all stages in parallel * chore: add platform to log when skipping tests * fix: use a filebeat version that supports multiplatform * chore: do not run integrations on ARM See elastic/beats#25195 * chore: move test resources for ARM * chore: use staging environment for package-registry See https://github.com/elastic/package-storage * fix: remove clean because arm workers are now immutable * chore: use new multiplatform images * chore: use new multiplatform base images for fleet-server * chore: add platform to elastic-agent cloud flavour * fix: use proper variable for platform * chore: do not clean up installer's workspace Because we are using ephemeral workers, we do not want to remove previous files * Revert "chore: do not clean up installer's workspace" This reverts commit 9104501. * chore(ci): skip pull of images from code * Revert "chore(ci): skip pull of images from code" This reverts commit 01cc441. * chore: set platform when pulling images * chore: update packer cache with our systemd images * fix: request proper platform image for the agent * feat: exclude scenarios per platform * chore: remove tags for endpoint, as they are not used at all They are also blocking the addition of a parent tag at the feature level, as maximun number of tags is 3 * fix: skip endpoint integration on ARM64 * feat: provide supported platforms at the scenario level on CI The scenario will be able to override its parent suite's platforms, making possible to select different platforms at the scenario level. * fix: use proper length method for groovy arrays * fix: groovy arrays use size * fix: override suite platforms per scenario * chore: update Jenkins label for arm workers Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com> * chore: simplify platforms, reusing stack * chore: explicitly pass GOARCH to CI script * Revert "chore: update Jenkins label for arm workers" This reverts commit 9ef81ca. Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com>
* feat: add support for running the tests in ARM * fix: arm workers are not immutable yet * chore: calculate artifact from the GOARCH variable At this moment we support amd64 and arm64 * chore: run elasticsearch in the right platform * chore: add log for architecture * chore: print env variable for GOARCH * chore: set GOARCH based in the worker * fix: wrong copy&paste * chore: install k8s dependencies on ARM * chore: install godog using GOARCH * fix: proper values for GO env in Makefile * chore: add log when requesting a node * fix: define Groovy variable * chore: use proper platform for kibana * chore: simplify platforms selection logic * fix: use proper CI label for node selector * chore: remove running containers in clean-docker script * chore: clean up docker state on mutable workers * chore: use parallel branch name for filebeat logs * fix: add forgotten double quotes * chore: print Docker compose version On ARM * chore: use aarch64 architecture for RPM packages * chore: support ARM in tar installer * fix: proper arch for TAR installer * chore: log when the artifact is found * chore: be defensive about no running containers * chore: add tests for RPM artifact name * chore: add tests for x86_64 TAR artifact * chore: remove docker label from CI workers * chore: separate ARM tests in a second parallel stage This pretends to avoid using too many workers, adding a second layer for ARM. * chore: update stage name * fix: update arm target platform * chore: use GOARCH in the junit file * chore: use GOARCH in filebeat logs * chore: run all stages in parallel * chore: add platform to log when skipping tests * fix: use a filebeat version that supports multiplatform * chore: do not run integrations on ARM See elastic/beats#25195 * chore: move test resources for ARM * chore: use staging environment for package-registry See https://github.com/elastic/package-storage * fix: remove clean because arm workers are now immutable * chore: use new multiplatform images * chore: use new multiplatform base images for fleet-server * chore: add platform to elastic-agent cloud flavour * fix: use proper variable for platform * chore: do not clean up installer's workspace Because we are using ephemeral workers, we do not want to remove previous files * Revert "chore: do not clean up installer's workspace" This reverts commit 9104501. * chore(ci): skip pull of images from code * Revert "chore(ci): skip pull of images from code" This reverts commit 01cc441. * chore: set platform when pulling images * chore: update packer cache with our systemd images * fix: request proper platform image for the agent * feat: exclude scenarios per platform * chore: remove tags for endpoint, as they are not used at all They are also blocking the addition of a parent tag at the feature level, as maximun number of tags is 3 * fix: skip endpoint integration on ARM64 * feat: provide supported platforms at the scenario level on CI The scenario will be able to override its parent suite's platforms, making possible to select different platforms at the scenario level. * fix: use proper length method for groovy arrays * fix: groovy arrays use size * fix: override suite platforms per scenario * chore: update Jenkins label for arm workers Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com> * chore: simplify platforms, reusing stack * chore: explicitly pass GOARCH to CI script * Revert "chore: update Jenkins label for arm workers" This reverts commit 9ef81ca. Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com>
…1223) * feat: add support for running the tests in ARM (#707) * feat: add support for running the tests in ARM * fix: arm workers are not immutable yet * chore: calculate artifact from the GOARCH variable At this moment we support amd64 and arm64 * chore: run elasticsearch in the right platform * chore: add log for architecture * chore: print env variable for GOARCH * chore: set GOARCH based in the worker * fix: wrong copy&paste * chore: install k8s dependencies on ARM * chore: install godog using GOARCH * fix: proper values for GO env in Makefile * chore: add log when requesting a node * fix: define Groovy variable * chore: use proper platform for kibana * chore: simplify platforms selection logic * fix: use proper CI label for node selector * chore: remove running containers in clean-docker script * chore: clean up docker state on mutable workers * chore: use parallel branch name for filebeat logs * fix: add forgotten double quotes * chore: print Docker compose version On ARM * chore: use aarch64 architecture for RPM packages * chore: support ARM in tar installer * fix: proper arch for TAR installer * chore: log when the artifact is found * chore: be defensive about no running containers * chore: add tests for RPM artifact name * chore: add tests for x86_64 TAR artifact * chore: remove docker label from CI workers * chore: separate ARM tests in a second parallel stage This pretends to avoid using too many workers, adding a second layer for ARM. * chore: update stage name * fix: update arm target platform * chore: use GOARCH in the junit file * chore: use GOARCH in filebeat logs * chore: run all stages in parallel * chore: add platform to log when skipping tests * fix: use a filebeat version that supports multiplatform * chore: do not run integrations on ARM See elastic/beats#25195 * chore: move test resources for ARM * chore: use staging environment for package-registry See https://github.com/elastic/package-storage * fix: remove clean because arm workers are now immutable * chore: use new multiplatform images * chore: use new multiplatform base images for fleet-server * chore: add platform to elastic-agent cloud flavour * fix: use proper variable for platform * chore: do not clean up installer's workspace Because we are using ephemeral workers, we do not want to remove previous files * Revert "chore: do not clean up installer's workspace" This reverts commit 9104501. * chore(ci): skip pull of images from code * Revert "chore(ci): skip pull of images from code" This reverts commit 01cc441. * chore: set platform when pulling images * chore: update packer cache with our systemd images * fix: request proper platform image for the agent * feat: exclude scenarios per platform * chore: remove tags for endpoint, as they are not used at all They are also blocking the addition of a parent tag at the feature level, as maximun number of tags is 3 * fix: skip endpoint integration on ARM64 * feat: provide supported platforms at the scenario level on CI The scenario will be able to override its parent suite's platforms, making possible to select different platforms at the scenario level. * fix: use proper length method for groovy arrays * fix: groovy arrays use size * fix: override suite platforms per scenario * chore: update Jenkins label for arm workers Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com> * chore: simplify platforms, reusing stack * chore: explicitly pass GOARCH to CI script * Revert "chore: update Jenkins label for arm workers" This reverts commit 9ef81ca. Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com> * fix: remove packer_cache from maintenance branches Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com>
#1224) * feat: add support for running the tests in ARM (#707) * feat: add support for running the tests in ARM * fix: arm workers are not immutable yet * chore: calculate artifact from the GOARCH variable At this moment we support amd64 and arm64 * chore: run elasticsearch in the right platform * chore: add log for architecture * chore: print env variable for GOARCH * chore: set GOARCH based in the worker * fix: wrong copy&paste * chore: install k8s dependencies on ARM * chore: install godog using GOARCH * fix: proper values for GO env in Makefile * chore: add log when requesting a node * fix: define Groovy variable * chore: use proper platform for kibana * chore: simplify platforms selection logic * fix: use proper CI label for node selector * chore: remove running containers in clean-docker script * chore: clean up docker state on mutable workers * chore: use parallel branch name for filebeat logs * fix: add forgotten double quotes * chore: print Docker compose version On ARM * chore: use aarch64 architecture for RPM packages * chore: support ARM in tar installer * fix: proper arch for TAR installer * chore: log when the artifact is found * chore: be defensive about no running containers * chore: add tests for RPM artifact name * chore: add tests for x86_64 TAR artifact * chore: remove docker label from CI workers * chore: separate ARM tests in a second parallel stage This pretends to avoid using too many workers, adding a second layer for ARM. * chore: update stage name * fix: update arm target platform * chore: use GOARCH in the junit file * chore: use GOARCH in filebeat logs * chore: run all stages in parallel * chore: add platform to log when skipping tests * fix: use a filebeat version that supports multiplatform * chore: do not run integrations on ARM See elastic/beats#25195 * chore: move test resources for ARM * chore: use staging environment for package-registry See https://github.com/elastic/package-storage * fix: remove clean because arm workers are now immutable * chore: use new multiplatform images * chore: use new multiplatform base images for fleet-server * chore: add platform to elastic-agent cloud flavour * fix: use proper variable for platform * chore: do not clean up installer's workspace Because we are using ephemeral workers, we do not want to remove previous files * Revert "chore: do not clean up installer's workspace" This reverts commit 9104501. * chore(ci): skip pull of images from code * Revert "chore(ci): skip pull of images from code" This reverts commit 01cc441. * chore: set platform when pulling images * chore: update packer cache with our systemd images * fix: request proper platform image for the agent * feat: exclude scenarios per platform * chore: remove tags for endpoint, as they are not used at all They are also blocking the addition of a parent tag at the feature level, as maximun number of tags is 3 * fix: skip endpoint integration on ARM64 * feat: provide supported platforms at the scenario level on CI The scenario will be able to override its parent suite's platforms, making possible to select different platforms at the scenario level. * fix: use proper length method for groovy arrays * fix: groovy arrays use size * fix: override suite platforms per scenario * chore: update Jenkins label for arm workers Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com> * chore: simplify platforms, reusing stack * chore: explicitly pass GOARCH to CI script * Revert "chore: update Jenkins label for arm workers" This reverts commit 9ef81ca. Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com> * chore: remove packer_cache from maintenance branch Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com>
|
This pull request does not have a backport label. Could you fix it @mdelapenya? 🙏
NOTE: |
|
This pull request is now in conflicts. Could you fix it? 🙏 |
|
With the move to integration packages, I'd say this PR is not needed anymore, so we can close it |
What does this PR do?
It extracts the logic to build&push integrations' docker images using mage to a method in the pipeline, that will be used to be run in parallel: one branch for amd and one for arm. The result is having the integrations built in ARM format.
Besides that, we are adding a new mage command
manifesttool:pushSupportedVersionsfor pushing the integration images with multi-platform support. We are using a tool provided by Infra to perform that task, which we wrapped into the new mage command. This mage command:compose:buildSupportedVersionsreading the values from thesupported-versions.ymlfile for each integration module. It will add logic to build the proper tag based in the${MODULE}_VARIANTand${MODULE}_VERSION, and for the specific use case ofcephwe are adding an${MODULE}_INDEXto control the custom image number we use internally for tracking changes.Why is it important?
The integrations are built for AMD only, and the e2e testing framework needs to consume them in ARM to provide a full experience testing in ARM.
Checklist
CHANGELOG.next.asciidocorCHANGELOG-developer.next.asciidoc.Author's Checklist
Related issues
Other considerations
Maybe this approach could be discarded if we realise that maintaining ARM/AMD images for the integrations is overkill. It could be the case where we have to build and maintain the binaries for each integration in both platforms, very likely because there is no ARM flavour of the image. Because the existence of ARM images for the integrations is blocking elastic/e2e-testing#707, maybe we can get to the point of not running e2e tests for the integrations.