mirror of
https://github.com/elastic/logstash.git
synced 2025-06-28 09:46:03 -04:00
Run BK exhaustive pipeline when code is pushed (#15738)
This commit enables running the exhaustive tests Buildkite pipeline (i.e. the equivalent to the `main` Jenkins tests) ; the trigger is code events, i.e. direct pushes, merge commits and creation of new branches. CI is skipped if changes are only related to files under `docs/`.
This commit is contained in:
parent
a21ced0946
commit
c8726b79f3
3 changed files with 45 additions and 5 deletions
|
@ -2,9 +2,19 @@ steps:
|
||||||
- label: "Exhaustive tests pipeline"
|
- label: "Exhaustive tests pipeline"
|
||||||
command: |
|
command: |
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
echo "--- Check for docs changes"
|
||||||
|
set +e
|
||||||
|
.buildkite/scripts/common/check-files-changed.sh '^docs/.*'
|
||||||
|
if [[ $$? -eq 0 ]]; then
|
||||||
|
echo "^^^ +++"
|
||||||
|
echo "Skipping running pipeline as all changes are related to docs."
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "Changes are not exclusively related to docs, continuing."
|
||||||
|
fi
|
||||||
|
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
source .buildkite/scripts/common/container-agent.sh
|
|
||||||
echo "--- Downloading prerequisites"
|
echo "--- Downloading prerequisites"
|
||||||
python3 -m pip install ruamel.yaml
|
python3 -m pip install ruamel.yaml
|
||||||
curl -fsSL --retry-max-time 60 --retry 3 --retry-delay 5 -o /usr/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64
|
curl -fsSL --retry-max-time 60 --retry 3 --retry-delay 5 -o /usr/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64
|
||||||
|
|
26
.buildkite/scripts/common/check-files-changed.sh
Executable file
26
.buildkite/scripts/common/check-files-changed.sh
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# **********************************************************
|
||||||
|
# Returns true if current checkout compared to parent commit
|
||||||
|
# has changes ONLY matching the argument regexp
|
||||||
|
#
|
||||||
|
# Used primarily to skip running the exhaustive pipeline
|
||||||
|
# when only docs changes have happened.
|
||||||
|
# ********************************************************
|
||||||
|
|
||||||
|
if [[ -z "$1" ]]; then
|
||||||
|
echo "Usage: $0 <regexp>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
previous_commit=$(git rev-parse HEAD^)
|
||||||
|
changed_files=$(git diff --name-only $previous_commit)
|
||||||
|
|
||||||
|
if [[ -n "$changed_files" ]] && [[ -z "$(echo "$changed_files" | grep -vE "$1")" ]]; then
|
||||||
|
echo "All files compared to the previous commit [$previous_commit] match the specified regex: [$1]"
|
||||||
|
echo "Files changed:"
|
||||||
|
git diff --name-only HEAD^
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
exit 1
|
||||||
|
fi
|
|
@ -436,11 +436,15 @@ spec:
|
||||||
repository: elastic/logstash
|
repository: elastic/logstash
|
||||||
pipeline_file: ".buildkite/exhaustive_tests_pipeline.yml"
|
pipeline_file: ".buildkite/exhaustive_tests_pipeline.yml"
|
||||||
provider_settings:
|
provider_settings:
|
||||||
trigger_mode: none
|
build_branches: true
|
||||||
cancel_intermediate_builds: true
|
build_pull_request_forks: false
|
||||||
skip_intermediate_builds: true
|
build_pull_requests: false
|
||||||
|
build_tags: false
|
||||||
|
trigger_mode: code
|
||||||
|
cancel_intermediate_builds: false
|
||||||
|
skip_intermediate_builds: false
|
||||||
env:
|
env:
|
||||||
ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'false' # disable during development
|
ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true'
|
||||||
SLACK_NOTIFICATIONS_CHANNEL: '#logstash-build'
|
SLACK_NOTIFICATIONS_CHANNEL: '#logstash-build'
|
||||||
SLACK_NOTIFICATIONS_ON_SUCCESS: 'false'
|
SLACK_NOTIFICATIONS_ON_SUCCESS: 'false'
|
||||||
teams:
|
teams:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue