From 2f3f6a96513a6b74ed04d3fa6b01584762a0035f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 07:30:51 -0700 Subject: [PATCH] Logstash Health Report Tests Buildkite pipeline setup. (#16416) (#16511) (cherry picked from commit 5195332bc6a758198cae70fea7d88dfddf0fa15a) Co-authored-by: Mashhur <99575341+mashhurs@users.noreply.github.com> --- .buildkite/health_report_tests_pipeline.yml | 17 ++++++ .../scripts/health-report-tests/main.sh | 9 ++++ catalog-info.yaml | 54 +++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 .buildkite/health_report_tests_pipeline.yml create mode 100644 .buildkite/scripts/health-report-tests/main.sh diff --git a/.buildkite/health_report_tests_pipeline.yml b/.buildkite/health_report_tests_pipeline.yml new file mode 100644 index 00000000000..84d9bf9d4b1 --- /dev/null +++ b/.buildkite/health_report_tests_pipeline.yml @@ -0,0 +1,17 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json + +agents: + image: "docker.elastic.co/ci-agent-images/platform-ingest/buildkite-agent-logstash-ci" + cpu: "2" + memory: "4Gi" + ephemeralStorage: "64Gi" + +steps: + # todo: add a step for 8.latest when Health Report MVP is landed + - label: ":logstash: Health Report Integration tests on main branch." + command: | + source .buildkite/scripts/common/vm-agent.sh + ./.buildkite/scripts/health-report-tests/main.sh + retry: + automatic: + - limit: 3 diff --git a/.buildkite/scripts/health-report-tests/main.sh b/.buildkite/scripts/health-report-tests/main.sh new file mode 100644 index 00000000000..c31a4b120e3 --- /dev/null +++ b/.buildkite/scripts/health-report-tests/main.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -eo pipefail + +# TODO: +# if branch is specified with X.Y, pull branches from ACTIVE_BRANCHES_URL="https://raw.githubusercontent.com/elastic/logstash/main/ci/branches.json", parse and use +# build Logstash from specificed (ex: 8.x -> translates to 8.latest, 8.16) branch, defaults to main +# install requirements of the python package and run main.py + + diff --git a/catalog-info.yaml b/catalog-info.yaml index 54a397fd90b..b5330636ab1 100644 --- a/catalog-info.yaml +++ b/catalog-info.yaml @@ -32,6 +32,7 @@ spec: - resource:logstash-linux-jdk-matrix-pipeline - resource:logstash-windows-jdk-matrix-pipeline - resource:logstash-benchmark-pipeline + - resource:logstash-health-report-tests-pipeline # *********************************** # Declare serverless IT pipeline @@ -642,4 +643,57 @@ spec: # ******************************* # SECTION END: Benchmark pipeline +# ******************************* + +# *********************************** +# Declare Health Report Tests pipeline +# *********************************** +--- +# yaml-language-server: $schema=https://gist.githubusercontent.com/elasticmachine/988b80dae436cafea07d9a4a460a011d/raw/rre.schema.json +apiVersion: backstage.io/v1alpha1 +kind: Resource +metadata: + name: logstash-health-report-tests-pipeline + description: Buildkite pipeline for the Logstash Health Report Tests + links: + - title: ':logstash Logstash Health Report Tests (Daily, Auto) pipeline' + url: https://buildkite.com/elastic/logstash-health-report-tests-pipeline +spec: + type: buildkite-pipeline + owner: group:logstash + system: platform-ingest + implementation: + apiVersion: buildkite.elastic.dev/v1 + kind: Pipeline + metadata: + name: logstash-health-report-tests-pipeline + description: ':logstash: Logstash Health Report tests :pipeline:' + spec: + repository: elastic/logstash + pipeline_file: ".buildkite/health_report_tests_pipeline.yml" + maximum_timeout_in_minutes: 60 + provider_settings: + trigger_mode: none # don't trigger jobs from github activity + env: + ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true' + SLACK_NOTIFICATIONS_CHANNEL: '#logstash-build' + SLACK_NOTIFICATIONS_ON_SUCCESS: 'false' + SLACK_NOTIFICATIONS_SKIP_FOR_RETRIES: 'true' + teams: + ingest-fp: + access_level: MANAGE_BUILD_AND_READ + logstash: + access_level: MANAGE_BUILD_AND_READ + ingest-eng-prod: + access_level: MANAGE_BUILD_AND_READ + everyone: + access_level: READ_ONLY + schedules: + Daily Health Report tests on main branch: + branch: main + cronline: 30 20 * * * + message: Daily trigger of Health Report Tests Pipeline + +# ******************************* +# SECTION END: Health Report Tests pipeline # ******************************* \ No newline at end of file