mirror of
https://github.com/elastic/logstash.git
synced 2025-04-23 22:27:21 -04:00
* tests: make integration split quantity configurable
Refactors shared splitter bash function to take a list of files on stdin
and split into a configurable number of partitions, emitting only those from
the currently-selected partition to stdout.
Also refactors the only caller in the integration_tests launcher script to
accept an optional partition_count parameter (defaulting to `2` for backward-
compatibility), to provide the list of specs to the function's stdin, and to
output relevant information about the quantity of partition splits and which
was selected.
* ci: run integration tests in 3 parts
(cherry picked from commit 3e0f488df2
)
Co-authored-by: Rye Biesemeyer <yaauie@users.noreply.github.com>
161 lines
4.5 KiB
YAML
161 lines
4.5 KiB
YAML
# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json
|
|
|
|
agents:
|
|
provider: aws
|
|
imagePrefix: platform-ingest-logstash-ubuntu-2204-aarch64
|
|
instanceType: "m6g.4xlarge"
|
|
diskSizeGb: 200
|
|
|
|
steps:
|
|
- group: "Testing Phase"
|
|
key: "testing-phase"
|
|
steps:
|
|
- label: ":rspec: Ruby unit tests"
|
|
key: "ruby-unit-tests"
|
|
command: |
|
|
set -euo pipefail
|
|
|
|
source .buildkite/scripts/common/vm-agent.sh
|
|
ci/unit_tests.sh ruby
|
|
retry:
|
|
automatic:
|
|
- limit: 3
|
|
|
|
- label: ":java: Java unit tests"
|
|
key: "java-unit-tests"
|
|
env:
|
|
# https://github.com/elastic/logstash/pull/15486 for background
|
|
ENABLE_SONARQUBE: "false"
|
|
command: |
|
|
set -euo pipefail
|
|
|
|
source .buildkite/scripts/common/vm-agent.sh
|
|
ci/unit_tests.sh java
|
|
retry:
|
|
automatic:
|
|
- limit: 3
|
|
|
|
- label: ":lab_coat: Integration Tests / part 1-of-3"
|
|
key: "integration-tests-part-1-of-3"
|
|
command: |
|
|
set -euo pipefail
|
|
|
|
source .buildkite/scripts/common/vm-agent.sh
|
|
ci/integration_tests.sh split 0 3
|
|
retry:
|
|
automatic:
|
|
- limit: 3
|
|
|
|
- label: ":lab_coat: Integration Tests / part 2-of-3"
|
|
key: "integration-tests-part-2-of-3"
|
|
command: |
|
|
set -euo pipefail
|
|
|
|
source .buildkite/scripts/common/vm-agent.sh
|
|
ci/integration_tests.sh split 1 3
|
|
retry:
|
|
automatic:
|
|
- limit: 3
|
|
|
|
- label: ":lab_coat: Integration Tests / part 3-of-3"
|
|
key: "integration-tests-part-3-of-3"
|
|
command: |
|
|
set -euo pipefail
|
|
|
|
source .buildkite/scripts/common/vm-agent.sh
|
|
ci/integration_tests.sh split 2 3
|
|
retry:
|
|
automatic:
|
|
- limit: 3
|
|
|
|
- label: ":lab_coat: IT Persistent Queues / part 1-of-3"
|
|
key: "integration-tests-qa-part-1-of-3"
|
|
command: |
|
|
set -euo pipefail
|
|
|
|
source .buildkite/scripts/common/vm-agent.sh
|
|
export FEATURE_FLAG=persistent_queues
|
|
ci/integration_tests.sh split 0 3
|
|
retry:
|
|
automatic:
|
|
- limit: 3
|
|
|
|
- label: ":lab_coat: IT Persistent Queues / part 2-of-3"
|
|
key: "integration-tests-qa-part-2-of-3"
|
|
command: |
|
|
set -euo pipefail
|
|
|
|
source .buildkite/scripts/common/vm-agent.sh
|
|
export FEATURE_FLAG=persistent_queues
|
|
ci/integration_tests.sh split 1 3
|
|
retry:
|
|
automatic:
|
|
- limit: 3
|
|
|
|
- label: ":lab_coat: IT Persistent Queues / part 3-of-3"
|
|
key: "integration-tests-qa-part-3-of-3"
|
|
command: |
|
|
set -euo pipefail
|
|
|
|
source .buildkite/scripts/common/vm-agent.sh
|
|
export FEATURE_FLAG=persistent_queues
|
|
ci/integration_tests.sh split 2 3
|
|
retry:
|
|
automatic:
|
|
- limit: 3
|
|
|
|
- label: ":lab_coat: x-pack unit tests"
|
|
key: "x-pack-unit-tests"
|
|
command: |
|
|
set -euo pipefail
|
|
|
|
source .buildkite/scripts/common/vm-agent.sh
|
|
x-pack/ci/unit_tests.sh
|
|
retry:
|
|
automatic:
|
|
- limit: 3
|
|
|
|
- label: ":lab_coat: x-pack integration"
|
|
key: "integration-tests-x-pack"
|
|
command: |
|
|
set -euo pipefail
|
|
|
|
source .buildkite/scripts/common/vm-agent.sh
|
|
x-pack/ci/integration_tests.sh
|
|
retry:
|
|
automatic:
|
|
- limit: 3
|
|
|
|
- group: "Acceptance Phase"
|
|
depends_on: "testing-phase"
|
|
key: "acceptance-phase"
|
|
steps:
|
|
- label: "Docker [{{matrix}}] flavor acceptance"
|
|
command:
|
|
set -euo pipefail
|
|
|
|
source .buildkite/scripts/common/vm-agent.sh && ci/docker_acceptance_tests.sh {{matrix}}
|
|
retry:
|
|
automatic:
|
|
- limit: 3
|
|
matrix:
|
|
- "full"
|
|
- "oss"
|
|
|
|
# *** TODO: enable after clarifying if acceptance tests really need vagrant on aarch64
|
|
# - label: "Acceptance tests on {{matrix.distribution}}"
|
|
# agents:
|
|
# provider: aws
|
|
# imagePrefix: platform-ingest-logstash-{{matrix.distribution}}-aarch64
|
|
# instanceType: "m6g.4xlarge"
|
|
# diskSizeGb: 200
|
|
# command:
|
|
# set -euo pipefail
|
|
|
|
# source .buildkite/scripts/common/vm-agent.sh && ci/acceptance_tests.sh {{matrix.suite}}
|
|
# matrix:
|
|
# setup:
|
|
# suite:
|
|
# - "debian"
|
|
# distribution:
|
|
# - "ubuntu-2204"
|