Skip to content

Commit

Permalink
feat: skip build for APM Server if there are no code changes (#3051)
Browse files Browse the repository at this point in the history
* feat: skip build for APM Server if there are no code changes

docs/build-pr is the slowest job in apm-server CI pipeline and it is
impacting significantly developer velocity when merging PRs.
Update the buildkite pipeline to exit early if there are no
docs changes.
APM Server docs is actually in a separate repository (observability-docs)
and the few remaining files are barely touched (except for the changelog)

* fix: diff with merge-base of target branch instead of tip
  • Loading branch information
kruskall authored Sep 11, 2024
1 parent a6e7362 commit 2fc87e4
Showing 1 changed file with 17 additions and 2 deletions.
19 changes: 17 additions & 2 deletions .buildkite/scripts/build_pr.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,23 @@ if [[ "${GITHUB_PR_BASE_REPO}" != 'docs' ]]; then

cd ./product-repo &&
git fetch origin pull/$GITHUB_PR_NUMBER/head:pr_$GITHUB_PR_NUMBER &&
git switch pr_$GITHUB_PR_NUMBER &&
cd ..
git switch pr_$GITHUB_PR_NUMBER

if [[ "${GITHUB_PR_BASE_REPO}" == 'apm-server' ]]; then
docs_diff=$(git diff --stat "$GITHUB_PR_TARGET_BRANCH"...HEAD -- ./docs ./changelogs CHANGELOG.asciidoc)
else
docs_diff=$(git diff --stat "$GITHUB_PR_TARGET_BRANCH"...HEAD)
fi

if [[ -z $docs_diff ]]; then
echo "${GITHUB_PR_TARGET_BRANCH} in ${GITHUB_PR_BASE_REPO} has no docs changes"
exit 0
fi

echo "diff:"
echo "$docs_diff"

cd ..
# For product repos - context in https://github.com/elastic/docs/commit/5b06c2dc1f50208fcf6025eaed6d5c4e81200330
build_args+=" --keep_hash"
build_args+=" --sub_dir $GITHUB_PR_BASE_REPO:$GITHUB_PR_TARGET_BRANCH:./product-repo"
Expand Down

0 comments on commit 2fc87e4

Please sign in to comment.