-
Notifications
You must be signed in to change notification settings - Fork 421
/
pipeline.yml
96 lines (87 loc) · 3.14 KB
/
pipeline.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# yaml-language-server: $schema=https://github.com/raw/buildkite/pipeline-schema/main/schema.json
env:
SETUP_GVM_VERSION: "v0.5.2"
LINUX_AGENT_IMAGE: "golang:${GO_VERSION}"
DOCKER_COMPOSE_VERSION: "v2.24.1"
DOCKER_VERSION: "26.1.2"
KIND_VERSION: 'v0.20.0'
K8S_VERSION: 'v1.30.0'
YQ_VERSION: 'v4.35.2'
JQ_VERSION: '1.7'
GH_CLI_VERSION: "2.29.0"
IMAGE_UBUNTU_X86_64: "family/core-ubuntu-2204"
# Elastic package settings
# Manage docker output/logs
ELASTIC_PACKAGE_COMPOSE_DISABLE_VERBOSE_OUTPUT: "true"
# Default license to use by `elastic-package build`
ELASTIC_PACKAGE_REPOSITORY_LICENSE: "licenses/Elastic-2.0.txt"
# Link definitions path (full path to be set in the corresponding step)
ELASTIC_PACKAGE_LINKS_FILE_PATH: "links_table.yml"
# Disable comparison of results in pipeline tests to avoid errors related to GeoIP fields
ELASTIC_PACKAGE_SERVERLESS_PIPELINE_TEST_DISABLE_COMPARE_RESULTS: "true"
steps:
- label: "Get reference from target branch"
key: "reference-target-branch"
command: "echo 'Get reference from main'"
agents:
image: "${LINUX_AGENT_IMAGE}"
- label: ":white_check_mark: Check go sources"
key: "check"
command: ".buildkite/scripts/check_sources.sh"
agents:
image: "${LINUX_AGENT_IMAGE}"
cpu: "8"
memory: "4G"
depends_on:
- step: "reference-target-branch"
allow_failure: false
- label: "Trigger integrations"
key: "test-integrations"
command: ".buildkite/scripts/trigger_integrations_in_parallel.sh"
env:
UPLOAD_SAFE_LOGS: 1
depends_on:
- step: "check"
allow_failure: false
- wait: ~
continue_on_failure: true
- label: "Publish benchmarks"
key: publish-benchmarks
command: ".buildkite/scripts/process_benchmarks.sh"
env:
BENCHMARK_THRESHOLD: 15
agents:
image: "${LINUX_AGENT_IMAGE}"
cpu: "8"
memory: "4G"
- label: ":sonarqube: Continuous Code Inspection"
soft_fail: true # FIXME: Coverage is failing, remove this after solving the issue
timeout_in_minutes: 120
env:
VAULT_SONAR_TOKEN_PATH: "kv/ci-shared/platform-ingest/elastic/integrations/sonar-analyze-token"
agents:
image: "docker.elastic.co/cloud-ci/sonarqube/buildkite-scanner:latest"
cpu: "8"
memory: "4G"
command: ".buildkite/scripts/run_sonar_scanner.sh"
artifact_paths:
- build/test-coverage/coverage_merged.xml
- label: ":junit: Junit annotate"
plugins:
- junit-annotate#v2.4.1:
artifacts: "build/test-results/*.xml"
failed-download-exit-code: 0 # Not fail the build in case there are no XML files
agents:
provider: "gcp" # junit plugin requires docker
- label: ":github: Report failed tests"
key: report-failed-tests
command: ".buildkite/scripts/report_issues.sh"
agents:
image: "${LINUX_AGENT_IMAGE}"
cpu: "8"
memory: "4G"
# not fail build if this step fails
soft_fail: true
# run this step when if it is triggered by the daily job
if: >
build.source == "trigger_job" && build.env('BUILDKITE_TRIGGERED_FROM_BUILD_PIPELINE_SLUG') == "integrations-schedule-daily"