Skip to content

Commit 0ac2526

Browse files
authored
bk: use monorepo-diff (#612)
1 parent 31bce69 commit 0ac2526

File tree

13 files changed

+94
-62
lines changed

13 files changed

+94
-62
lines changed

.buildkite/fpm-pipeline.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,14 @@ env:
66
DOCKER_REGISTRY: "docker.elastic.co"
77
STAGING_IMAGE: "${DOCKER_REGISTRY}/observability-ci"
88
MAKEFILE: "fpm"
9-
CHANGESET_FILE: ".buildkite/scripts/changeset/fpm"
10-
DOCKER_FILTER_REF: "docker.elastic.co/beats-dev"
119
BUILDX: "0"
1210

1311
steps:
1412
- label: ":linux: multiarch Linux x86_64/arm64 FPM docker image"
15-
key: "build-and-publish-ubuntu-x86"
13+
key: "build-and-publish-ubuntu-x86-fpm"
1614
if: build.env("BUILDKITE_PULL_REQUEST") != "false" || build.source == "ui" || build.branch == "main" || build.branch =~ /^[0-9]+\.[0-9]+$$/
1715
command:
18-
- ".buildkite/scripts/llvm-fpm/build_and_publish.sh ${MAKEFILE} ${CHANGESET_FILE} ${DOCKER_FILTER_REF}"
16+
- ".buildkite/scripts/llvm-fpm/build_and_publish.sh ${MAKEFILE}"
1917
notify:
2018
- github_commit_status:
2119
context: "Build FPM / Ubuntu X86_64"

.buildkite/hooks/pre-command

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ PRIVATE_CI_GCS_CREDENTIALS_PATH="kv/ci-shared/observability-ingest/cloud/gcp"
1010
# Secrets must be redacted
1111
# https://buildkite.com/docs/pipelines/managing-log-output#redacted-environment-variables
1212

13-
if [[ "$BUILDKITE_PIPELINE_SLUG" == "golang-crossbuild" && ( "$BUILDKITE_STEP_KEY" == build* || "$BUILDKITE_STEP_KEY" == release* ) ]]; then
13+
if [[ ("$BUILDKITE_PIPELINE_SLUG" == "golang-crossbuild" || "$BUILDKITE_PIPELINE_SLUG" == "llvm-apple") && ( "$BUILDKITE_STEP_KEY" == build* || "$BUILDKITE_STEP_KEY" == release* ) ]]; then
1414
export PRIVATE_CI_GCS_CREDENTIALS_SECRET=$(retry 5 vault kv get -field=data -format=json ${PRIVATE_CI_GCS_CREDENTIALS_PATH})
1515
fi
1616

@@ -21,8 +21,7 @@ if [[ ("$BUILDKITE_PIPELINE_SLUG" == "golang-crossbuild" || "$BUILDKITE_PIPELINE
2121
fi
2222

2323
if [[ "$BUILDKITE_PIPELINE_SLUG" == "golang-crossbuild" && "$BUILDKITE_STEP_KEY" == "release-post" ]]; then
24-
GITHUB_USERNAME_SECRET="elasticmachine"
25-
export GITHUB_USERNAME_SECRET=$GITHUB_USERNAME_SECRET
26-
export GITHUB_EMAIL_SECRET="[email protected]"
24+
export GITHUB_USERNAME="elasticmachine"
25+
export GITHUB_EMAIL="[email protected]"
2726
export GITHUB_TOKEN_SECRET=$VAULT_GITHUB_TOKEN
2827
fi

.buildkite/llvm-apple-pipeline.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,14 @@ env:
77
DOCKER_REGISTRY: "docker.elastic.co"
88
STAGING_IMAGE: "${DOCKER_REGISTRY}/observability-ci"
99
MAKEFILE: "go/llvm-apple"
10-
CHANGESET_FILE: ".buildkite/scripts/changeset/llvm-apple"
11-
DOCKER_FILTER_REF: "*/*/golang-crossbuild:llvm-apple*"
1210
BUILDX: "0"
1311
steps:
1412
- label: ":linux: Build LLVM Apple / Ubuntu X86_64 - {{matrix.debianVersion}}"
15-
key: "build-ubuntu-x86"
13+
key: "build-ubuntu-x86-llvm-apple"
1614
if: build.env("BUILDKITE_PULL_REQUEST") != "false" || build.source == "ui" || build.branch == "main" || build.branch =~ /^[0-9]+\.[0-9]+$$/
1715
command:
18-
- ".buildkite/scripts/llvm-apple/build.sh ${MAKEFILE} ${CHANGESET_FILE} ${DOCKER_FILTER_REF}"
19-
- ".buildkite/scripts/llvm-apple/publish.sh ${MAKEFILE} ${CHANGESET_FILE}"
16+
- ".buildkite/scripts/llvm-apple/build.sh ${MAKEFILE}"
17+
- ".buildkite/scripts/llvm-apple/publish.sh ${MAKEFILE}"
2018
notify:
2119
- github_commit_status:
2220
context: "Build LLVM Apple / Ubuntu X86_64"
@@ -35,11 +33,11 @@ steps:
3533
- "12"
3634

3735
- label: ":linux: Build LLVM Apple / Ubuntu ARM - {{matrix.debianVersion}}"
38-
key: "build-ubuntu-arm"
36+
key: "build-ubuntu-arm-llvm-apple"
3937
if: build.env("BUILDKITE_PULL_REQUEST") != "false" || build.source == "ui" || build.branch == "main" || build.branch =~ /^[0-9]+\.[0-9]+$$/
4038
command:
41-
- ".buildkite/scripts/llvm-apple/build.sh ${MAKEFILE} ${CHANGESET_FILE} ${DOCKER_FILTER_REF}"
42-
- ".buildkite/scripts/llvm-apple/publish.sh ${MAKEFILE} ${CHANGESET_FILE}"
39+
- ".buildkite/scripts/llvm-apple/build.sh ${MAKEFILE}"
40+
- ".buildkite/scripts/llvm-apple/publish.sh ${MAKEFILE}"
4341
notify:
4442
- github_commit_status:
4543
context: "Build LLVM Apple / Ubuntu ARM"

.buildkite/pipeline.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,73 @@ env:
1010
BUILDX: 1
1111

1212
steps:
13+
14+
- group: "FPM"
15+
key: "fpm"
16+
17+
steps:
18+
- label: "Trigger fpm-pipeline"
19+
if: build.pull_request.id != null
20+
plugins:
21+
- monorepo-diff#v1.0.1:
22+
diff: "git diff --name-only origin/${GITHUB_PR_TARGET_BRANCH}...HEAD"
23+
interpolation: false
24+
watch:
25+
- path:
26+
- .buildkite/pipeline.yml
27+
- .buildkite/fpm-pipeline.yml
28+
- .buildkite/scripts/llvm-fpm
29+
- fpm/**
30+
config:
31+
label: ":pipeline: Upload FPM Pipeline"
32+
command: "buildkite-agent pipeline upload .buildkite/fpm-pipeline.yml"
33+
env:
34+
- BUILDKITE_PULL_REQUEST=${BUILDKITE_PULL_REQUEST}
35+
- BUILDKITE_PULL_REQUEST_BASE_BRANCH=${BUILDKITE_PULL_REQUEST_BASE_BRANCH}
36+
- GITHUB_PR_LABELS=${GITHUB_PR_LABELS}
37+
38+
# Trigger for the main branch only
39+
- label: ":pipeline: Upload FPM Pipeline"
40+
if: build.branch == 'main'
41+
command: "buildkite-agent pipeline upload .buildkite/fpm-pipeline.yml"
42+
env:
43+
- BUILDKITE_PULL_REQUEST=${BUILDKITE_PULL_REQUEST}
44+
- BUILDKITE_PULL_REQUEST_BASE_BRANCH=${BUILDKITE_PULL_REQUEST_BASE_BRANCH}
45+
- GITHUB_PR_LABELS=${GITHUB_PR_LABELS}
46+
47+
- group: "llvm-apple"
48+
key: "llvm-apple"
49+
50+
steps:
51+
- label: "Trigger llvm-apple-pipeline"
52+
if: build.pull_request.id != null
53+
plugins:
54+
- monorepo-diff#v1.0.1:
55+
diff: "git diff --name-only origin/${GITHUB_PR_TARGET_BRANCH}...HEAD"
56+
interpolation: false
57+
watch:
58+
- path:
59+
- .buildkite/pipeline.yml
60+
- .buildkite/llvm-apple-pipeline.yml
61+
- .buildkite/scripts/llvm-apple
62+
- go/llvm-apple/**
63+
config:
64+
label: ":pipeline: Upload FPM Pipeline"
65+
command: "buildkite-agent pipeline upload .buildkite/llvm-apple-pipeline.yml"
66+
env:
67+
- BUILDKITE_PULL_REQUEST=${BUILDKITE_PULL_REQUEST}
68+
- BUILDKITE_PULL_REQUEST_BASE_BRANCH=${BUILDKITE_PULL_REQUEST_BASE_BRANCH}
69+
- GITHUB_PR_LABELS=${GITHUB_PR_LABELS}
70+
71+
# Trigger for the main branch only
72+
- label: ":pipeline: Upload llvm-apple Pipeline"
73+
if: build.branch == 'main'
74+
command: "buildkite-agent pipeline upload .buildkite/llvm-apple-pipeline.yml"
75+
env:
76+
- BUILDKITE_PULL_REQUEST=${BUILDKITE_PULL_REQUEST}
77+
- BUILDKITE_PULL_REQUEST_BASE_BRANCH=${BUILDKITE_PULL_REQUEST_BASE_BRANCH}
78+
- GITHUB_PR_LABELS=${GITHUB_PR_LABELS}
79+
1380
- group: "Staging"
1481
key: "staging"
1582

.buildkite/scripts/build.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ with_mage
1414
google_cloud_auth
1515

1616
make -C go -f "${MAKEFILE}" build"${is_arm}" GS_BUCKET_PATH=ingest-buildkite-ci
17-
echo ":: List Docker images staging ::"
17+
18+
echo "--- List Docker images staging"
1819
docker images --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}" --filter=reference="${STAGING_IMAGE}/golang-crossbuild"
1920

20-
echo ":: List Docker images production ::"
21+
echo "--- List Docker images production"
2122
docker images --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}" --filter=reference="${DOCKER_REGISTRY}/beats-dev/golang-crossbuild"
2223

2324

.buildkite/scripts/changeset/fpm

Lines changed: 0 additions & 4 deletions
This file was deleted.

.buildkite/scripts/changeset/llvm-apple

Lines changed: 0 additions & 4 deletions
This file was deleted.

.buildkite/scripts/common.sh

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ BIN="${WORKSPACE}/bin"
88
HW_TYPE="$(uname -m)"
99
PLATFORM_TYPE="$(uname)"
1010
TMP_FOLDER="tmp.${REPO}"
11-
GOOGLE_CREDENTIALS_FILENAME="google-cloud-credentials.json"
1211

1312
if [[ -z "${GOLANG_VERSION-""}" ]]; then
1413
export GOLANG_VERSION=$(cat "${WORKSPACE}/.go-version")
@@ -92,7 +91,9 @@ retry() {
9291
}
9392

9493
google_cloud_auth() {
94+
echo "running google_cloud_auth"
9595
local gsUtilLocation=$(mktemp -d -p ${BIN} -t "${TMP_FOLDER}.XXXXXXXXX")
96+
GOOGLE_CREDENTIALS_FILENAME="google-cloud-credentials.json"
9697
local secretFileLocation=${gsUtilLocation}/${GOOGLE_CREDENTIALS_FILENAME}
9798
echo "${PRIVATE_CI_GCS_CREDENTIALS_SECRET}" > ${secretFileLocation}
9899
gcloud auth activate-service-account --key-file ${secretFileLocation} 2> /dev/null
@@ -146,15 +147,3 @@ check_is_arm() {
146147
is_arm=""
147148
fi
148149
}
149-
150-
are_files_changed() {
151-
changeset=$1
152-
153-
if git diff --name-only HEAD@{1} HEAD | grep -qE "$changeset"; then
154-
return 0;
155-
else
156-
echo "WARN! No files changed in $changeset"
157-
return 1;
158-
fi
159-
}
160-

.buildkite/scripts/llvm-apple/build.sh

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,13 @@ set -euo pipefail
55
source .buildkite/scripts/common.sh
66

77
makefile=${1}
8-
patterns=${2}
9-
docker_filter_ref=${3}
10-
11-
if ! are_files_changed "$patterns" ; then
12-
exit 0
13-
fi
148

159
add_bin_path
1610
with_go "${GOLANG_VERSION}"
1711
with_mage
12+
google_cloud_auth
1813

1914
retry 3 make -C "${makefile}" build GS_BUCKET_PATH=ingest-buildkite-ci
20-
docker images --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}" --filter=reference="${docker_filter_ref}"
15+
16+
echo "--- List Docker images"
17+
docker images --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}"

.buildkite/scripts/llvm-apple/publish.sh

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,6 @@ set -euo pipefail
55
source .buildkite/scripts/common.sh
66

77
makefile=${1}
8-
patterns=${2}
9-
10-
if ! are_files_changed "$patterns" ; then
11-
exit 0
12-
fi
138

149
add_bin_path
1510
retry 3 make -C ${makefile} push

0 commit comments

Comments
 (0)