Skip to content
This repository has been archived by the owner on Sep 17, 2024. It is now read-only.

[7.x](backport #707) feat: add support for running the tests in ARM #1223

Merged
merged 2 commits into from
Jun 1, 2021

Conversation

mdelapenya
Copy link
Contributor

What does this PR do?

Backports #707 to 7.x, resolving conflicts

Checklist

  • 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 run the Unit tests (make unit-test), and they are passing locally
  • I have run the End-2-End tests for the suite I'm working on, and they are passing locally
  • I have noticed new Go dependencies (run make notice in the proper directory)

Related issues

* 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>
@mdelapenya mdelapenya self-assigned this Jun 1, 2021
@mdelapenya mdelapenya requested a review from a team June 1, 2021 16:02
@elasticmachine
Copy link
Contributor

elasticmachine commented Jun 1, 2021

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview

Expand to view the summary

Build stats

  • Build Cause: Pull request #1223 updated

  • Start Time: 2021-06-01T16:06:50.371+0000

  • Duration: 22 min 15 sec

  • Commit: 6f6386b

Test stats 🧪

Test Results
Failed 0
Passed 202
Skipped 0
Total 202

Trends 🧪

Image of Build Times

Image of Tests

💚 Flaky test report

Tests succeeded.

Expand to view the summary

Test stats 🧪

Test Results
Failed 0
Passed 202
Skipped 0
Total 202

@mdelapenya mdelapenya marked this pull request as ready for review June 1, 2021 16:19
@mdelapenya mdelapenya merged commit a2df4c2 into elastic:7.x Jun 1, 2021
@mdelapenya mdelapenya deleted the 7.x-arm branch June 2, 2021 05:32
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants