-
Notifications
You must be signed in to change notification settings - Fork 15.2k
[CI] Only run normal check targets if requested #168412
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CI] Only run normal check targets if requested #168412
Conversation
When building just the runtimes (eg a patch only touches compiler-rt), we do not actually run any normal check targets. This ends up causing an empty ninja invocation, which builds more targets than necessary. Gate the ninja build for normal check-* targets under an if statement to fix this.
|
@llvm/pr-subscribers-infrastructure Author: Aiden Grossman (boomanaiden154) ChangesWhen building just the runtimes (eg a patch only touches compiler-rt), we do not actually run any normal check targets. This ends up causing an empty ninja invocation, which builds more targets than necessary. Gate the ninja build for normal check-* targets under an if statement to fix this. Full diff: https://github.com/llvm/llvm-project/pull/168412.diff 2 Files Affected:
diff --git a/.ci/monolithic-linux.sh b/.ci/monolithic-linux.sh
index 4a8418d7baa8c..ca619aa7e98a1 100755
--- a/.ci/monolithic-linux.sh
+++ b/.ci/monolithic-linux.sh
@@ -64,9 +64,11 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
start-group "ninja"
-# Targets are not escaped as they are passed as separate arguments.
-ninja -C "${BUILD_DIR}" -k 0 ${targets} |& tee ninja.log
-cp ${BUILD_DIR}/.ninja_log ninja.ninja_log
+if [[ "${targets}" != "" ]]; then
+ # Targets are not escaped as they are passed as separate arguments.
+ ninja -C "${BUILD_DIR}" -k 0 ${targets} |& tee ninja.log
+ cp ${BUILD_DIR}/.ninja_log ninja.ninja_log
+fi
if [[ "${runtime_targets}" != "" ]]; then
start-group "ninja Runtimes"
diff --git a/.ci/monolithic-windows.sh b/.ci/monolithic-windows.sh
index 7b926b87f3623..99e7758ce8d79 100755
--- a/.ci/monolithic-windows.sh
+++ b/.ci/monolithic-windows.sh
@@ -51,9 +51,11 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
start-group "ninja"
-# Targets are not escaped as they are passed as separate arguments.
-ninja -C "${BUILD_DIR}" -k 0 ${targets} |& tee ninja.log
-cp ${BUILD_DIR}/.ninja_log ninja.ninja_log
+if [[ "${targets}" != "" ]]; then
+ # Targets are not escaped as they are passed as separate arguments.
+ ninja -C "${BUILD_DIR}" -k 0 ${targets} |& tee ninja.log
+ cp ${BUILD_DIR}/.ninja_log ninja.ninja_log
+fi
if [[ "${runtimes_targets}" != "" ]]; then
start-group "ninja runtimes"
|
🐧 Linux x64 Test Results
|
| # Targets are not escaped as they are passed as separate arguments. | ||
| ninja -C "${BUILD_DIR}" -k 0 ${targets} |& tee ninja.log | ||
| cp ${BUILD_DIR}/.ninja_log ninja.ninja_log | ||
| if [[ "${targets}" != "" ]]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: use "-z" instead, i.e.
if [[ -z "${targets} ]] ; then
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is stylistically consistent with the rest of the premerge bash scripts. If we prefer -z, we should probably switch over all at once in a follow up/base patch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok. I think we should switch to '-z' everywhere, but I'm ok with doing that in another PR.
| # Targets are not escaped as they are passed as separate arguments. | ||
| ninja -C "${BUILD_DIR}" -k 0 ${targets} |& tee ninja.log | ||
| cp ${BUILD_DIR}/.ninja_log ninja.ninja_log | ||
| if [[ "${targets}" != "" ]]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same suggestion here.
When building just the runtimes (eg a patch only touches compiler-rt), we do not actually run any normal check targets. This ends up causing an empty ninja invocation, which builds more targets than necessary. Gate the ninja build for normal check-* targets under an if statement to fix this.