ARROW-17872: [C++][CI] Reduce macOS CI dependencies - #14310

Merged
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps
Oct 8, 2022
Merged

ARROW-17872: [C++][CI] Reduce macOS CI dependencies#14310
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps

Conversation

@js8544

@js8544js8544 commented Oct 4, 2022

Copy link
Copy Markdown
Contributor

Pin LLVM and Clang-format version to 14 because it's pre-installed on the runner image.

@github-actions

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

⚠️ Ticket has not been started in JIRA, please click 'Start Progress'.

@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

Comment threadcpp/Brewfile Outdated
Comment thread.github/workflows/cpp.yml Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove this with the following patch?

diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 01d461d14a..5116c8a232 100644
--- a/cpp/CMakeLists.txt+++ b/cpp/CMakeLists.txt@@ -138,9 +138,6 @@ set(ARROW_LLVM_VERSIONS
"9"
"8"
"7")
-list(GET ARROW_LLVM_VERSIONS 0 ARROW_LLVM_VERSION_PRIMARY)-string(REGEX REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_LLVM_VERSION_PRIMARY_MAJOR- "${ARROW_LLVM_VERSION_PRIMARY}")
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../.env ARROW_ENV)
string(REGEX MATCH "CLANG_TOOLS=[^\n]+" ARROW_ENV_CLANG_TOOLS_VERSION "${ARROW_ENV}")
diff --git a/cpp/cmake_modules/FindLLVMAlt.cmake b/cpp/cmake_modules/FindLLVMAlt.cmake
index 56ceead941..d371c8d3cc 100644
--- a/cpp/cmake_modules/FindLLVMAlt.cmake+++ b/cpp/cmake_modules/FindLLVMAlt.cmake@@ -40,26 +40,8 @@ if(DEFINED LLVM_ROOT)
endif()
if(NOT LLVM_FOUND)
- set(LLVM_HINTS ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)- if(APPLE)- find_program(BREW brew)- if(BREW)- execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION_PRIMARY_MAJOR}"- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- if(NOT LLVM_BREW_PREFIX)- execute_process(COMMAND ${BREW} --prefix llvm- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- endif()- if(LLVM_BREW_PREFIX)- list(APPEND LLVM_HINTS ${LLVM_BREW_PREFIX})- endif()- endif()- endif()-- foreach(HINT ${LLVM_HINTS})- foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(HINT ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)
find_package(LLVM
${ARROW_LLVM_VERSION}
CONFIG
@@ -69,6 +51,29 @@ if(NOT LLVM_FOUND)
break()
endif()
endforeach()
+ if(APPLE)+ find_program(BREW brew)+ if(BREW)+ execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION}"+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ if(NOT LLVM_BREW_PREFIX)+ execute_process(COMMAND ${BREW} --prefix llvm+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ endif()+ if(LLVM_BREW_PREFIX)+ find_package(LLVM+ ${ARROW_LLVM_VERSION}+ CONFIG+ HINTS+ ${LLVM_BREW_PREFIX})+ if(LLVM_FOUND)+ break()+ endif()+ endif()+ endif()+ endif()
endforeach()
endif()
diff --git a/cpp/src/gandiva/GandivaConfig.cmake.in b/cpp/src/gandiva/GandivaConfig.cmake.in
index 20cdc75acb..18d194f1e4 100644
--- a/cpp/src/gandiva/GandivaConfig.cmake.in+++ b/cpp/src/gandiva/GandivaConfig.cmake.in@@ -27,7 +27,6 @@
@PACKAGE_INIT@
set(ARROW_LLVM_VERSIONS "@ARROW_LLVM_VERSIONS@")
-set(ARROW_LLVM_VERSION_PRIMARY_MAJOR "@ARROW_LLVM_VERSION_PRIMARY_MAJOR@")
include(CMakeFindDependencyMacro)
find_dependency(Arrow)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current logic is to check brew paths if the default ones fail. I think a simpler approach is to append brew paths to LLVM_HINTS. Could you have a look at the latest changes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

It won't be necessary because llvm@15 is an alias for llvm (https://formulae.brew.sh/formula/llvm) . For example on my machine brew --prefix llvm@15 gives /usr/local/opt/llvm.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow! I didn't know the Homebrew feature!

@koukou changed the title ARROW-17872: [C++][CI] Reduce MacOS CI DependenciesARROW-17872: [C++][CI] Reduce macOS CI dependenciesOct 5, 2022
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 082fe8f to d7a3c35CompareOctober 7, 2022 10:48
@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from d7a3c35 to 7b3e768CompareOctober 7, 2022 11:47
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 7b3e768 to 167f165CompareOctober 7, 2022 13:40
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: 167f165b50903d06bfc1098d31a00577bcc97e00

Submitted crossbow builds: ursacomputing/crossbow @ actions-e7309d9ae6

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

@kou

kou commented Oct 7, 2022

Copy link
Copy Markdown
Member

Could you rebase on master for the verify-rc-source-python-linux-ubuntu-18.04-amd64 failure?

https://github.com/ursacomputing/crossbow/actions/runs/3205223717/jobs/5237466278#step:5:10529

/tmp/arrow-HEAD.YJvN3/install/include/arrow/util/string_builder.h:49:10: error: ambiguous overload for ‘operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}’ and ‘std::nullptr_t’)
stream << head;
~~~~~~~^~~~~~~

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 167f165 to feec756CompareOctober 7, 2022 22:31
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

1 similar comment
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: feec756

Submitted crossbow builds: ursacomputing/crossbow @ actions-2b41928aa0

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

kou
kou approved these changes Oct 8, 2022

@koukou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Thanks!

@kou
kou merged commit 48c6738 into apache:masterOct 8, 2022
@ursabot

Copy link
Copy Markdown

Benchmark runs are scheduled for baseline = 12667cd and contender = 48c6738. 48c6738 is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Finished ⬇️0.0% ⬆️0.0%] ec2-t3-xlarge-us-east-2
[Failed ⬇️0.0% ⬆️0.0%] test-mac-arm
[Failed ⬇️0.82% ⬆️0.0%] ursa-i9-9960x
[Finished ⬇️0.11% ⬆️0.0%] ursa-thinkcentre-m75q
Buildkite builds:
[Finished] 48c6738e ec2-t3-xlarge-us-east-2
[Failed] 48c6738e test-mac-arm
[Failed] 48c6738e ursa-i9-9960x
[Finished] 48c6738e ursa-thinkcentre-m75q
[Finished] 12667cd0 ec2-t3-xlarge-us-east-2
[Failed] 12667cd0 test-mac-arm
[Failed] 12667cd0 ursa-i9-9960x
[Finished] 12667cd0 ursa-thinkcentre-m75q
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@js8544@kou@ursabot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

ARROW-17872: [C++][CI] Reduce macOS CI dependencies - #14310

Merged
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps
Oct 8, 2022
Merged

ARROW-17872: [C++][CI] Reduce macOS CI dependencies#14310
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps

Conversation

@js8544

@js8544js8544 commented Oct 4, 2022

Copy link
Copy Markdown
Contributor

Pin LLVM and Clang-format version to 14 because it's pre-installed on the runner image.

@github-actions

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

⚠️ Ticket has not been started in JIRA, please click 'Start Progress'.

@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

Comment threadcpp/Brewfile Outdated
Comment thread.github/workflows/cpp.yml Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove this with the following patch?

diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 01d461d14a..5116c8a232 100644
--- a/cpp/CMakeLists.txt+++ b/cpp/CMakeLists.txt@@ -138,9 +138,6 @@ set(ARROW_LLVM_VERSIONS
"9"
"8"
"7")
-list(GET ARROW_LLVM_VERSIONS 0 ARROW_LLVM_VERSION_PRIMARY)-string(REGEX REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_LLVM_VERSION_PRIMARY_MAJOR- "${ARROW_LLVM_VERSION_PRIMARY}")
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../.env ARROW_ENV)
string(REGEX MATCH "CLANG_TOOLS=[^\n]+" ARROW_ENV_CLANG_TOOLS_VERSION "${ARROW_ENV}")
diff --git a/cpp/cmake_modules/FindLLVMAlt.cmake b/cpp/cmake_modules/FindLLVMAlt.cmake
index 56ceead941..d371c8d3cc 100644
--- a/cpp/cmake_modules/FindLLVMAlt.cmake+++ b/cpp/cmake_modules/FindLLVMAlt.cmake@@ -40,26 +40,8 @@ if(DEFINED LLVM_ROOT)
endif()
if(NOT LLVM_FOUND)
- set(LLVM_HINTS ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)- if(APPLE)- find_program(BREW brew)- if(BREW)- execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION_PRIMARY_MAJOR}"- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- if(NOT LLVM_BREW_PREFIX)- execute_process(COMMAND ${BREW} --prefix llvm- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- endif()- if(LLVM_BREW_PREFIX)- list(APPEND LLVM_HINTS ${LLVM_BREW_PREFIX})- endif()- endif()- endif()-- foreach(HINT ${LLVM_HINTS})- foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(HINT ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)
find_package(LLVM
${ARROW_LLVM_VERSION}
CONFIG
@@ -69,6 +51,29 @@ if(NOT LLVM_FOUND)
break()
endif()
endforeach()
+ if(APPLE)+ find_program(BREW brew)+ if(BREW)+ execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION}"+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ if(NOT LLVM_BREW_PREFIX)+ execute_process(COMMAND ${BREW} --prefix llvm+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ endif()+ if(LLVM_BREW_PREFIX)+ find_package(LLVM+ ${ARROW_LLVM_VERSION}+ CONFIG+ HINTS+ ${LLVM_BREW_PREFIX})+ if(LLVM_FOUND)+ break()+ endif()+ endif()+ endif()+ endif()
endforeach()
endif()
diff --git a/cpp/src/gandiva/GandivaConfig.cmake.in b/cpp/src/gandiva/GandivaConfig.cmake.in
index 20cdc75acb..18d194f1e4 100644
--- a/cpp/src/gandiva/GandivaConfig.cmake.in+++ b/cpp/src/gandiva/GandivaConfig.cmake.in@@ -27,7 +27,6 @@
@PACKAGE_INIT@
set(ARROW_LLVM_VERSIONS "@ARROW_LLVM_VERSIONS@")
-set(ARROW_LLVM_VERSION_PRIMARY_MAJOR "@ARROW_LLVM_VERSION_PRIMARY_MAJOR@")
include(CMakeFindDependencyMacro)
find_dependency(Arrow)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current logic is to check brew paths if the default ones fail. I think a simpler approach is to append brew paths to LLVM_HINTS. Could you have a look at the latest changes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

It won't be necessary because llvm@15 is an alias for llvm (https://formulae.brew.sh/formula/llvm) . For example on my machine brew --prefix llvm@15 gives /usr/local/opt/llvm.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow! I didn't know the Homebrew feature!

@koukou changed the title ARROW-17872: [C++][CI] Reduce MacOS CI DependenciesARROW-17872: [C++][CI] Reduce macOS CI dependenciesOct 5, 2022
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 082fe8f to d7a3c35CompareOctober 7, 2022 10:48
@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from d7a3c35 to 7b3e768CompareOctober 7, 2022 11:47
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 7b3e768 to 167f165CompareOctober 7, 2022 13:40
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: 167f165b50903d06bfc1098d31a00577bcc97e00

Submitted crossbow builds: ursacomputing/crossbow @ actions-e7309d9ae6

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

@kou

kou commented Oct 7, 2022

Copy link
Copy Markdown
Member

Could you rebase on master for the verify-rc-source-python-linux-ubuntu-18.04-amd64 failure?

https://github.com/ursacomputing/crossbow/actions/runs/3205223717/jobs/5237466278#step:5:10529

/tmp/arrow-HEAD.YJvN3/install/include/arrow/util/string_builder.h:49:10: error: ambiguous overload for ‘operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}’ and ‘std::nullptr_t’)
stream << head;
~~~~~~~^~~~~~~

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 167f165 to feec756CompareOctober 7, 2022 22:31
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

1 similar comment
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: feec756

Submitted crossbow builds: ursacomputing/crossbow @ actions-2b41928aa0

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

kou
kou approved these changes Oct 8, 2022

@koukou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Thanks!

@kou
kou merged commit 48c6738 into apache:masterOct 8, 2022
@ursabot

Copy link
Copy Markdown

Benchmark runs are scheduled for baseline = 12667cd and contender = 48c6738. 48c6738 is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Finished ⬇️0.0% ⬆️0.0%] ec2-t3-xlarge-us-east-2
[Failed ⬇️0.0% ⬆️0.0%] test-mac-arm
[Failed ⬇️0.82% ⬆️0.0%] ursa-i9-9960x
[Finished ⬇️0.11% ⬆️0.0%] ursa-thinkcentre-m75q
Buildkite builds:
[Finished] 48c6738e ec2-t3-xlarge-us-east-2
[Failed] 48c6738e test-mac-arm
[Failed] 48c6738e ursa-i9-9960x
[Finished] 48c6738e ursa-thinkcentre-m75q
[Finished] 12667cd0 ec2-t3-xlarge-us-east-2
[Failed] 12667cd0 test-mac-arm
[Failed] 12667cd0 ursa-i9-9960x
[Finished] 12667cd0 ursa-thinkcentre-m75q
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@js8544@kou@ursabot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

ARROW-17872: [C++][CI] Reduce macOS CI dependencies - #14310

Merged
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps
Oct 8, 2022
Merged

ARROW-17872: [C++][CI] Reduce macOS CI dependencies#14310
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps

Conversation

@js8544

@js8544js8544 commented Oct 4, 2022

Copy link
Copy Markdown
Contributor

Pin LLVM and Clang-format version to 14 because it's pre-installed on the runner image.

@github-actions

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

⚠️ Ticket has not been started in JIRA, please click 'Start Progress'.

@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

Comment threadcpp/Brewfile Outdated
Comment thread.github/workflows/cpp.yml Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove this with the following patch?

diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 01d461d14a..5116c8a232 100644
--- a/cpp/CMakeLists.txt+++ b/cpp/CMakeLists.txt@@ -138,9 +138,6 @@ set(ARROW_LLVM_VERSIONS
"9"
"8"
"7")
-list(GET ARROW_LLVM_VERSIONS 0 ARROW_LLVM_VERSION_PRIMARY)-string(REGEX REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_LLVM_VERSION_PRIMARY_MAJOR- "${ARROW_LLVM_VERSION_PRIMARY}")
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../.env ARROW_ENV)
string(REGEX MATCH "CLANG_TOOLS=[^\n]+" ARROW_ENV_CLANG_TOOLS_VERSION "${ARROW_ENV}")
diff --git a/cpp/cmake_modules/FindLLVMAlt.cmake b/cpp/cmake_modules/FindLLVMAlt.cmake
index 56ceead941..d371c8d3cc 100644
--- a/cpp/cmake_modules/FindLLVMAlt.cmake+++ b/cpp/cmake_modules/FindLLVMAlt.cmake@@ -40,26 +40,8 @@ if(DEFINED LLVM_ROOT)
endif()
if(NOT LLVM_FOUND)
- set(LLVM_HINTS ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)- if(APPLE)- find_program(BREW brew)- if(BREW)- execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION_PRIMARY_MAJOR}"- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- if(NOT LLVM_BREW_PREFIX)- execute_process(COMMAND ${BREW} --prefix llvm- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- endif()- if(LLVM_BREW_PREFIX)- list(APPEND LLVM_HINTS ${LLVM_BREW_PREFIX})- endif()- endif()- endif()-- foreach(HINT ${LLVM_HINTS})- foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(HINT ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)
find_package(LLVM
${ARROW_LLVM_VERSION}
CONFIG
@@ -69,6 +51,29 @@ if(NOT LLVM_FOUND)
break()
endif()
endforeach()
+ if(APPLE)+ find_program(BREW brew)+ if(BREW)+ execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION}"+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ if(NOT LLVM_BREW_PREFIX)+ execute_process(COMMAND ${BREW} --prefix llvm+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ endif()+ if(LLVM_BREW_PREFIX)+ find_package(LLVM+ ${ARROW_LLVM_VERSION}+ CONFIG+ HINTS+ ${LLVM_BREW_PREFIX})+ if(LLVM_FOUND)+ break()+ endif()+ endif()+ endif()+ endif()
endforeach()
endif()
diff --git a/cpp/src/gandiva/GandivaConfig.cmake.in b/cpp/src/gandiva/GandivaConfig.cmake.in
index 20cdc75acb..18d194f1e4 100644
--- a/cpp/src/gandiva/GandivaConfig.cmake.in+++ b/cpp/src/gandiva/GandivaConfig.cmake.in@@ -27,7 +27,6 @@
@PACKAGE_INIT@
set(ARROW_LLVM_VERSIONS "@ARROW_LLVM_VERSIONS@")
-set(ARROW_LLVM_VERSION_PRIMARY_MAJOR "@ARROW_LLVM_VERSION_PRIMARY_MAJOR@")
include(CMakeFindDependencyMacro)
find_dependency(Arrow)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current logic is to check brew paths if the default ones fail. I think a simpler approach is to append brew paths to LLVM_HINTS. Could you have a look at the latest changes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

It won't be necessary because llvm@15 is an alias for llvm (https://formulae.brew.sh/formula/llvm) . For example on my machine brew --prefix llvm@15 gives /usr/local/opt/llvm.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow! I didn't know the Homebrew feature!

@koukou changed the title ARROW-17872: [C++][CI] Reduce MacOS CI DependenciesARROW-17872: [C++][CI] Reduce macOS CI dependenciesOct 5, 2022
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 082fe8f to d7a3c35CompareOctober 7, 2022 10:48
@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from d7a3c35 to 7b3e768CompareOctober 7, 2022 11:47
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 7b3e768 to 167f165CompareOctober 7, 2022 13:40
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: 167f165b50903d06bfc1098d31a00577bcc97e00

Submitted crossbow builds: ursacomputing/crossbow @ actions-e7309d9ae6

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

@kou

kou commented Oct 7, 2022

Copy link
Copy Markdown
Member

Could you rebase on master for the verify-rc-source-python-linux-ubuntu-18.04-amd64 failure?

https://github.com/ursacomputing/crossbow/actions/runs/3205223717/jobs/5237466278#step:5:10529

/tmp/arrow-HEAD.YJvN3/install/include/arrow/util/string_builder.h:49:10: error: ambiguous overload for ‘operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}’ and ‘std::nullptr_t’)
stream << head;
~~~~~~~^~~~~~~

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 167f165 to feec756CompareOctober 7, 2022 22:31
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

1 similar comment
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: feec756

Submitted crossbow builds: ursacomputing/crossbow @ actions-2b41928aa0

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

kou
kou approved these changes Oct 8, 2022

@koukou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Thanks!

@kou
kou merged commit 48c6738 into apache:masterOct 8, 2022
@ursabot

Copy link
Copy Markdown

Benchmark runs are scheduled for baseline = 12667cd and contender = 48c6738. 48c6738 is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Finished ⬇️0.0% ⬆️0.0%] ec2-t3-xlarge-us-east-2
[Failed ⬇️0.0% ⬆️0.0%] test-mac-arm
[Failed ⬇️0.82% ⬆️0.0%] ursa-i9-9960x
[Finished ⬇️0.11% ⬆️0.0%] ursa-thinkcentre-m75q
Buildkite builds:
[Finished] 48c6738e ec2-t3-xlarge-us-east-2
[Failed] 48c6738e test-mac-arm
[Failed] 48c6738e ursa-i9-9960x
[Finished] 48c6738e ursa-thinkcentre-m75q
[Finished] 12667cd0 ec2-t3-xlarge-us-east-2
[Failed] 12667cd0 test-mac-arm
[Failed] 12667cd0 ursa-i9-9960x
[Finished] 12667cd0 ursa-thinkcentre-m75q
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@js8544@kou@ursabot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

ARROW-17872: [C++][CI] Reduce macOS CI dependencies - #14310

Merged
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps
Oct 8, 2022
Merged

ARROW-17872: [C++][CI] Reduce macOS CI dependencies#14310
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps

Conversation

@js8544

@js8544js8544 commented Oct 4, 2022

Copy link
Copy Markdown
Contributor

Pin LLVM and Clang-format version to 14 because it's pre-installed on the runner image.

@github-actions

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

⚠️ Ticket has not been started in JIRA, please click 'Start Progress'.

@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

Comment threadcpp/Brewfile Outdated
Comment thread.github/workflows/cpp.yml Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove this with the following patch?

diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 01d461d14a..5116c8a232 100644
--- a/cpp/CMakeLists.txt+++ b/cpp/CMakeLists.txt@@ -138,9 +138,6 @@ set(ARROW_LLVM_VERSIONS
"9"
"8"
"7")
-list(GET ARROW_LLVM_VERSIONS 0 ARROW_LLVM_VERSION_PRIMARY)-string(REGEX REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_LLVM_VERSION_PRIMARY_MAJOR- "${ARROW_LLVM_VERSION_PRIMARY}")
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../.env ARROW_ENV)
string(REGEX MATCH "CLANG_TOOLS=[^\n]+" ARROW_ENV_CLANG_TOOLS_VERSION "${ARROW_ENV}")
diff --git a/cpp/cmake_modules/FindLLVMAlt.cmake b/cpp/cmake_modules/FindLLVMAlt.cmake
index 56ceead941..d371c8d3cc 100644
--- a/cpp/cmake_modules/FindLLVMAlt.cmake+++ b/cpp/cmake_modules/FindLLVMAlt.cmake@@ -40,26 +40,8 @@ if(DEFINED LLVM_ROOT)
endif()
if(NOT LLVM_FOUND)
- set(LLVM_HINTS ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)- if(APPLE)- find_program(BREW brew)- if(BREW)- execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION_PRIMARY_MAJOR}"- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- if(NOT LLVM_BREW_PREFIX)- execute_process(COMMAND ${BREW} --prefix llvm- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- endif()- if(LLVM_BREW_PREFIX)- list(APPEND LLVM_HINTS ${LLVM_BREW_PREFIX})- endif()- endif()- endif()-- foreach(HINT ${LLVM_HINTS})- foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(HINT ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)
find_package(LLVM
${ARROW_LLVM_VERSION}
CONFIG
@@ -69,6 +51,29 @@ if(NOT LLVM_FOUND)
break()
endif()
endforeach()
+ if(APPLE)+ find_program(BREW brew)+ if(BREW)+ execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION}"+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ if(NOT LLVM_BREW_PREFIX)+ execute_process(COMMAND ${BREW} --prefix llvm+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ endif()+ if(LLVM_BREW_PREFIX)+ find_package(LLVM+ ${ARROW_LLVM_VERSION}+ CONFIG+ HINTS+ ${LLVM_BREW_PREFIX})+ if(LLVM_FOUND)+ break()+ endif()+ endif()+ endif()+ endif()
endforeach()
endif()
diff --git a/cpp/src/gandiva/GandivaConfig.cmake.in b/cpp/src/gandiva/GandivaConfig.cmake.in
index 20cdc75acb..18d194f1e4 100644
--- a/cpp/src/gandiva/GandivaConfig.cmake.in+++ b/cpp/src/gandiva/GandivaConfig.cmake.in@@ -27,7 +27,6 @@
@PACKAGE_INIT@
set(ARROW_LLVM_VERSIONS "@ARROW_LLVM_VERSIONS@")
-set(ARROW_LLVM_VERSION_PRIMARY_MAJOR "@ARROW_LLVM_VERSION_PRIMARY_MAJOR@")
include(CMakeFindDependencyMacro)
find_dependency(Arrow)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current logic is to check brew paths if the default ones fail. I think a simpler approach is to append brew paths to LLVM_HINTS. Could you have a look at the latest changes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

It won't be necessary because llvm@15 is an alias for llvm (https://formulae.brew.sh/formula/llvm) . For example on my machine brew --prefix llvm@15 gives /usr/local/opt/llvm.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow! I didn't know the Homebrew feature!

@koukou changed the title ARROW-17872: [C++][CI] Reduce MacOS CI DependenciesARROW-17872: [C++][CI] Reduce macOS CI dependenciesOct 5, 2022
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 082fe8f to d7a3c35CompareOctober 7, 2022 10:48
@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from d7a3c35 to 7b3e768CompareOctober 7, 2022 11:47
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 7b3e768 to 167f165CompareOctober 7, 2022 13:40
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: 167f165b50903d06bfc1098d31a00577bcc97e00

Submitted crossbow builds: ursacomputing/crossbow @ actions-e7309d9ae6

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

@kou

kou commented Oct 7, 2022

Copy link
Copy Markdown
Member

Could you rebase on master for the verify-rc-source-python-linux-ubuntu-18.04-amd64 failure?

https://github.com/ursacomputing/crossbow/actions/runs/3205223717/jobs/5237466278#step:5:10529

/tmp/arrow-HEAD.YJvN3/install/include/arrow/util/string_builder.h:49:10: error: ambiguous overload for ‘operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}’ and ‘std::nullptr_t’)
stream << head;
~~~~~~~^~~~~~~

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 167f165 to feec756CompareOctober 7, 2022 22:31
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

1 similar comment
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: feec756

Submitted crossbow builds: ursacomputing/crossbow @ actions-2b41928aa0

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

kou
kou approved these changes Oct 8, 2022

@koukou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Thanks!

@kou
kou merged commit 48c6738 into apache:masterOct 8, 2022
@ursabot

Copy link
Copy Markdown

Benchmark runs are scheduled for baseline = 12667cd and contender = 48c6738. 48c6738 is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Finished ⬇️0.0% ⬆️0.0%] ec2-t3-xlarge-us-east-2
[Failed ⬇️0.0% ⬆️0.0%] test-mac-arm
[Failed ⬇️0.82% ⬆️0.0%] ursa-i9-9960x
[Finished ⬇️0.11% ⬆️0.0%] ursa-thinkcentre-m75q
Buildkite builds:
[Finished] 48c6738e ec2-t3-xlarge-us-east-2
[Failed] 48c6738e test-mac-arm
[Failed] 48c6738e ursa-i9-9960x
[Finished] 48c6738e ursa-thinkcentre-m75q
[Finished] 12667cd0 ec2-t3-xlarge-us-east-2
[Failed] 12667cd0 test-mac-arm
[Failed] 12667cd0 ursa-i9-9960x
[Finished] 12667cd0 ursa-thinkcentre-m75q
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@js8544@kou@ursabot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

ARROW-17872: [C++][CI] Reduce macOS CI dependencies - #14310

Merged
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps
Oct 8, 2022
Merged

ARROW-17872: [C++][CI] Reduce macOS CI dependencies#14310
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps

Conversation

@js8544

@js8544js8544 commented Oct 4, 2022

Copy link
Copy Markdown
Contributor

Pin LLVM and Clang-format version to 14 because it's pre-installed on the runner image.

@github-actions

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

⚠️ Ticket has not been started in JIRA, please click 'Start Progress'.

@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

Comment threadcpp/Brewfile Outdated
Comment thread.github/workflows/cpp.yml Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove this with the following patch?

diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 01d461d14a..5116c8a232 100644
--- a/cpp/CMakeLists.txt+++ b/cpp/CMakeLists.txt@@ -138,9 +138,6 @@ set(ARROW_LLVM_VERSIONS
"9"
"8"
"7")
-list(GET ARROW_LLVM_VERSIONS 0 ARROW_LLVM_VERSION_PRIMARY)-string(REGEX REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_LLVM_VERSION_PRIMARY_MAJOR- "${ARROW_LLVM_VERSION_PRIMARY}")
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../.env ARROW_ENV)
string(REGEX MATCH "CLANG_TOOLS=[^\n]+" ARROW_ENV_CLANG_TOOLS_VERSION "${ARROW_ENV}")
diff --git a/cpp/cmake_modules/FindLLVMAlt.cmake b/cpp/cmake_modules/FindLLVMAlt.cmake
index 56ceead941..d371c8d3cc 100644
--- a/cpp/cmake_modules/FindLLVMAlt.cmake+++ b/cpp/cmake_modules/FindLLVMAlt.cmake@@ -40,26 +40,8 @@ if(DEFINED LLVM_ROOT)
endif()
if(NOT LLVM_FOUND)
- set(LLVM_HINTS ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)- if(APPLE)- find_program(BREW brew)- if(BREW)- execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION_PRIMARY_MAJOR}"- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- if(NOT LLVM_BREW_PREFIX)- execute_process(COMMAND ${BREW} --prefix llvm- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- endif()- if(LLVM_BREW_PREFIX)- list(APPEND LLVM_HINTS ${LLVM_BREW_PREFIX})- endif()- endif()- endif()-- foreach(HINT ${LLVM_HINTS})- foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(HINT ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)
find_package(LLVM
${ARROW_LLVM_VERSION}
CONFIG
@@ -69,6 +51,29 @@ if(NOT LLVM_FOUND)
break()
endif()
endforeach()
+ if(APPLE)+ find_program(BREW brew)+ if(BREW)+ execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION}"+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ if(NOT LLVM_BREW_PREFIX)+ execute_process(COMMAND ${BREW} --prefix llvm+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ endif()+ if(LLVM_BREW_PREFIX)+ find_package(LLVM+ ${ARROW_LLVM_VERSION}+ CONFIG+ HINTS+ ${LLVM_BREW_PREFIX})+ if(LLVM_FOUND)+ break()+ endif()+ endif()+ endif()+ endif()
endforeach()
endif()
diff --git a/cpp/src/gandiva/GandivaConfig.cmake.in b/cpp/src/gandiva/GandivaConfig.cmake.in
index 20cdc75acb..18d194f1e4 100644
--- a/cpp/src/gandiva/GandivaConfig.cmake.in+++ b/cpp/src/gandiva/GandivaConfig.cmake.in@@ -27,7 +27,6 @@
@PACKAGE_INIT@
set(ARROW_LLVM_VERSIONS "@ARROW_LLVM_VERSIONS@")
-set(ARROW_LLVM_VERSION_PRIMARY_MAJOR "@ARROW_LLVM_VERSION_PRIMARY_MAJOR@")
include(CMakeFindDependencyMacro)
find_dependency(Arrow)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current logic is to check brew paths if the default ones fail. I think a simpler approach is to append brew paths to LLVM_HINTS. Could you have a look at the latest changes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

It won't be necessary because llvm@15 is an alias for llvm (https://formulae.brew.sh/formula/llvm) . For example on my machine brew --prefix llvm@15 gives /usr/local/opt/llvm.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow! I didn't know the Homebrew feature!

@koukou changed the title ARROW-17872: [C++][CI] Reduce MacOS CI DependenciesARROW-17872: [C++][CI] Reduce macOS CI dependenciesOct 5, 2022
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 082fe8f to d7a3c35CompareOctober 7, 2022 10:48
@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from d7a3c35 to 7b3e768CompareOctober 7, 2022 11:47
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 7b3e768 to 167f165CompareOctober 7, 2022 13:40
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: 167f165b50903d06bfc1098d31a00577bcc97e00

Submitted crossbow builds: ursacomputing/crossbow @ actions-e7309d9ae6

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

@kou

kou commented Oct 7, 2022

Copy link
Copy Markdown
Member

Could you rebase on master for the verify-rc-source-python-linux-ubuntu-18.04-amd64 failure?

https://github.com/ursacomputing/crossbow/actions/runs/3205223717/jobs/5237466278#step:5:10529

/tmp/arrow-HEAD.YJvN3/install/include/arrow/util/string_builder.h:49:10: error: ambiguous overload for ‘operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}’ and ‘std::nullptr_t’)
stream << head;
~~~~~~~^~~~~~~

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 167f165 to feec756CompareOctober 7, 2022 22:31
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

1 similar comment
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: feec756

Submitted crossbow builds: ursacomputing/crossbow @ actions-2b41928aa0

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

kou
kou approved these changes Oct 8, 2022

@koukou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Thanks!

@kou
kou merged commit 48c6738 into apache:masterOct 8, 2022
@ursabot

Copy link
Copy Markdown

Benchmark runs are scheduled for baseline = 12667cd and contender = 48c6738. 48c6738 is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Finished ⬇️0.0% ⬆️0.0%] ec2-t3-xlarge-us-east-2
[Failed ⬇️0.0% ⬆️0.0%] test-mac-arm
[Failed ⬇️0.82% ⬆️0.0%] ursa-i9-9960x
[Finished ⬇️0.11% ⬆️0.0%] ursa-thinkcentre-m75q
Buildkite builds:
[Finished] 48c6738e ec2-t3-xlarge-us-east-2
[Failed] 48c6738e test-mac-arm
[Failed] 48c6738e ursa-i9-9960x
[Finished] 48c6738e ursa-thinkcentre-m75q
[Finished] 12667cd0 ec2-t3-xlarge-us-east-2
[Failed] 12667cd0 test-mac-arm
[Failed] 12667cd0 ursa-i9-9960x
[Finished] 12667cd0 ursa-thinkcentre-m75q
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@js8544@kou@ursabot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

ARROW-17872: [C++][CI] Reduce macOS CI dependencies - #14310

Merged
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps
Oct 8, 2022
Merged

ARROW-17872: [C++][CI] Reduce macOS CI dependencies#14310
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps

Conversation

@js8544

@js8544js8544 commented Oct 4, 2022

Copy link
Copy Markdown
Contributor

Pin LLVM and Clang-format version to 14 because it's pre-installed on the runner image.

@github-actions

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

⚠️ Ticket has not been started in JIRA, please click 'Start Progress'.

@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

Comment threadcpp/Brewfile Outdated
Comment thread.github/workflows/cpp.yml Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove this with the following patch?

diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 01d461d14a..5116c8a232 100644
--- a/cpp/CMakeLists.txt+++ b/cpp/CMakeLists.txt@@ -138,9 +138,6 @@ set(ARROW_LLVM_VERSIONS
"9"
"8"
"7")
-list(GET ARROW_LLVM_VERSIONS 0 ARROW_LLVM_VERSION_PRIMARY)-string(REGEX REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_LLVM_VERSION_PRIMARY_MAJOR- "${ARROW_LLVM_VERSION_PRIMARY}")
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../.env ARROW_ENV)
string(REGEX MATCH "CLANG_TOOLS=[^\n]+" ARROW_ENV_CLANG_TOOLS_VERSION "${ARROW_ENV}")
diff --git a/cpp/cmake_modules/FindLLVMAlt.cmake b/cpp/cmake_modules/FindLLVMAlt.cmake
index 56ceead941..d371c8d3cc 100644
--- a/cpp/cmake_modules/FindLLVMAlt.cmake+++ b/cpp/cmake_modules/FindLLVMAlt.cmake@@ -40,26 +40,8 @@ if(DEFINED LLVM_ROOT)
endif()
if(NOT LLVM_FOUND)
- set(LLVM_HINTS ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)- if(APPLE)- find_program(BREW brew)- if(BREW)- execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION_PRIMARY_MAJOR}"- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- if(NOT LLVM_BREW_PREFIX)- execute_process(COMMAND ${BREW} --prefix llvm- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- endif()- if(LLVM_BREW_PREFIX)- list(APPEND LLVM_HINTS ${LLVM_BREW_PREFIX})- endif()- endif()- endif()-- foreach(HINT ${LLVM_HINTS})- foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(HINT ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)
find_package(LLVM
${ARROW_LLVM_VERSION}
CONFIG
@@ -69,6 +51,29 @@ if(NOT LLVM_FOUND)
break()
endif()
endforeach()
+ if(APPLE)+ find_program(BREW brew)+ if(BREW)+ execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION}"+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ if(NOT LLVM_BREW_PREFIX)+ execute_process(COMMAND ${BREW} --prefix llvm+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ endif()+ if(LLVM_BREW_PREFIX)+ find_package(LLVM+ ${ARROW_LLVM_VERSION}+ CONFIG+ HINTS+ ${LLVM_BREW_PREFIX})+ if(LLVM_FOUND)+ break()+ endif()+ endif()+ endif()+ endif()
endforeach()
endif()
diff --git a/cpp/src/gandiva/GandivaConfig.cmake.in b/cpp/src/gandiva/GandivaConfig.cmake.in
index 20cdc75acb..18d194f1e4 100644
--- a/cpp/src/gandiva/GandivaConfig.cmake.in+++ b/cpp/src/gandiva/GandivaConfig.cmake.in@@ -27,7 +27,6 @@
@PACKAGE_INIT@
set(ARROW_LLVM_VERSIONS "@ARROW_LLVM_VERSIONS@")
-set(ARROW_LLVM_VERSION_PRIMARY_MAJOR "@ARROW_LLVM_VERSION_PRIMARY_MAJOR@")
include(CMakeFindDependencyMacro)
find_dependency(Arrow)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current logic is to check brew paths if the default ones fail. I think a simpler approach is to append brew paths to LLVM_HINTS. Could you have a look at the latest changes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

It won't be necessary because llvm@15 is an alias for llvm (https://formulae.brew.sh/formula/llvm) . For example on my machine brew --prefix llvm@15 gives /usr/local/opt/llvm.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow! I didn't know the Homebrew feature!

@koukou changed the title ARROW-17872: [C++][CI] Reduce MacOS CI DependenciesARROW-17872: [C++][CI] Reduce macOS CI dependenciesOct 5, 2022
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 082fe8f to d7a3c35CompareOctober 7, 2022 10:48
@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from d7a3c35 to 7b3e768CompareOctober 7, 2022 11:47
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 7b3e768 to 167f165CompareOctober 7, 2022 13:40
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: 167f165b50903d06bfc1098d31a00577bcc97e00

Submitted crossbow builds: ursacomputing/crossbow @ actions-e7309d9ae6

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

@kou

kou commented Oct 7, 2022

Copy link
Copy Markdown
Member

Could you rebase on master for the verify-rc-source-python-linux-ubuntu-18.04-amd64 failure?

https://github.com/ursacomputing/crossbow/actions/runs/3205223717/jobs/5237466278#step:5:10529

/tmp/arrow-HEAD.YJvN3/install/include/arrow/util/string_builder.h:49:10: error: ambiguous overload for ‘operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}’ and ‘std::nullptr_t’)
stream << head;
~~~~~~~^~~~~~~

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 167f165 to feec756CompareOctober 7, 2022 22:31
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

1 similar comment
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: feec756

Submitted crossbow builds: ursacomputing/crossbow @ actions-2b41928aa0

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

kou
kou approved these changes Oct 8, 2022

@koukou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Thanks!

@kou
kou merged commit 48c6738 into apache:masterOct 8, 2022
@ursabot

Copy link
Copy Markdown

Benchmark runs are scheduled for baseline = 12667cd and contender = 48c6738. 48c6738 is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Finished ⬇️0.0% ⬆️0.0%] ec2-t3-xlarge-us-east-2
[Failed ⬇️0.0% ⬆️0.0%] test-mac-arm
[Failed ⬇️0.82% ⬆️0.0%] ursa-i9-9960x
[Finished ⬇️0.11% ⬆️0.0%] ursa-thinkcentre-m75q
Buildkite builds:
[Finished] 48c6738e ec2-t3-xlarge-us-east-2
[Failed] 48c6738e test-mac-arm
[Failed] 48c6738e ursa-i9-9960x
[Finished] 48c6738e ursa-thinkcentre-m75q
[Finished] 12667cd0 ec2-t3-xlarge-us-east-2
[Failed] 12667cd0 test-mac-arm
[Failed] 12667cd0 ursa-i9-9960x
[Finished] 12667cd0 ursa-thinkcentre-m75q
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@js8544@kou@ursabot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

ARROW-17872: [C++][CI] Reduce macOS CI dependencies - #14310

Merged
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps
Oct 8, 2022
Merged

ARROW-17872: [C++][CI] Reduce macOS CI dependencies#14310
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps

Conversation

@js8544

@js8544js8544 commented Oct 4, 2022

Copy link
Copy Markdown
Contributor

Pin LLVM and Clang-format version to 14 because it's pre-installed on the runner image.

@github-actions

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

⚠️ Ticket has not been started in JIRA, please click 'Start Progress'.

@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

Comment threadcpp/Brewfile Outdated
Comment thread.github/workflows/cpp.yml Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove this with the following patch?

diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 01d461d14a..5116c8a232 100644
--- a/cpp/CMakeLists.txt+++ b/cpp/CMakeLists.txt@@ -138,9 +138,6 @@ set(ARROW_LLVM_VERSIONS
"9"
"8"
"7")
-list(GET ARROW_LLVM_VERSIONS 0 ARROW_LLVM_VERSION_PRIMARY)-string(REGEX REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_LLVM_VERSION_PRIMARY_MAJOR- "${ARROW_LLVM_VERSION_PRIMARY}")
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../.env ARROW_ENV)
string(REGEX MATCH "CLANG_TOOLS=[^\n]+" ARROW_ENV_CLANG_TOOLS_VERSION "${ARROW_ENV}")
diff --git a/cpp/cmake_modules/FindLLVMAlt.cmake b/cpp/cmake_modules/FindLLVMAlt.cmake
index 56ceead941..d371c8d3cc 100644
--- a/cpp/cmake_modules/FindLLVMAlt.cmake+++ b/cpp/cmake_modules/FindLLVMAlt.cmake@@ -40,26 +40,8 @@ if(DEFINED LLVM_ROOT)
endif()
if(NOT LLVM_FOUND)
- set(LLVM_HINTS ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)- if(APPLE)- find_program(BREW brew)- if(BREW)- execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION_PRIMARY_MAJOR}"- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- if(NOT LLVM_BREW_PREFIX)- execute_process(COMMAND ${BREW} --prefix llvm- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- endif()- if(LLVM_BREW_PREFIX)- list(APPEND LLVM_HINTS ${LLVM_BREW_PREFIX})- endif()- endif()- endif()-- foreach(HINT ${LLVM_HINTS})- foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(HINT ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)
find_package(LLVM
${ARROW_LLVM_VERSION}
CONFIG
@@ -69,6 +51,29 @@ if(NOT LLVM_FOUND)
break()
endif()
endforeach()
+ if(APPLE)+ find_program(BREW brew)+ if(BREW)+ execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION}"+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ if(NOT LLVM_BREW_PREFIX)+ execute_process(COMMAND ${BREW} --prefix llvm+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ endif()+ if(LLVM_BREW_PREFIX)+ find_package(LLVM+ ${ARROW_LLVM_VERSION}+ CONFIG+ HINTS+ ${LLVM_BREW_PREFIX})+ if(LLVM_FOUND)+ break()+ endif()+ endif()+ endif()+ endif()
endforeach()
endif()
diff --git a/cpp/src/gandiva/GandivaConfig.cmake.in b/cpp/src/gandiva/GandivaConfig.cmake.in
index 20cdc75acb..18d194f1e4 100644
--- a/cpp/src/gandiva/GandivaConfig.cmake.in+++ b/cpp/src/gandiva/GandivaConfig.cmake.in@@ -27,7 +27,6 @@
@PACKAGE_INIT@
set(ARROW_LLVM_VERSIONS "@ARROW_LLVM_VERSIONS@")
-set(ARROW_LLVM_VERSION_PRIMARY_MAJOR "@ARROW_LLVM_VERSION_PRIMARY_MAJOR@")
include(CMakeFindDependencyMacro)
find_dependency(Arrow)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current logic is to check brew paths if the default ones fail. I think a simpler approach is to append brew paths to LLVM_HINTS. Could you have a look at the latest changes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

It won't be necessary because llvm@15 is an alias for llvm (https://formulae.brew.sh/formula/llvm) . For example on my machine brew --prefix llvm@15 gives /usr/local/opt/llvm.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow! I didn't know the Homebrew feature!

@koukou changed the title ARROW-17872: [C++][CI] Reduce MacOS CI DependenciesARROW-17872: [C++][CI] Reduce macOS CI dependenciesOct 5, 2022
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 082fe8f to d7a3c35CompareOctober 7, 2022 10:48
@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from d7a3c35 to 7b3e768CompareOctober 7, 2022 11:47
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 7b3e768 to 167f165CompareOctober 7, 2022 13:40
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: 167f165b50903d06bfc1098d31a00577bcc97e00

Submitted crossbow builds: ursacomputing/crossbow @ actions-e7309d9ae6

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

@kou

kou commented Oct 7, 2022

Copy link
Copy Markdown
Member

Could you rebase on master for the verify-rc-source-python-linux-ubuntu-18.04-amd64 failure?

https://github.com/ursacomputing/crossbow/actions/runs/3205223717/jobs/5237466278#step:5:10529

/tmp/arrow-HEAD.YJvN3/install/include/arrow/util/string_builder.h:49:10: error: ambiguous overload for ‘operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}’ and ‘std::nullptr_t’)
stream << head;
~~~~~~~^~~~~~~

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 167f165 to feec756CompareOctober 7, 2022 22:31
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

1 similar comment
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: feec756

Submitted crossbow builds: ursacomputing/crossbow @ actions-2b41928aa0

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

kou
kou approved these changes Oct 8, 2022

@koukou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Thanks!

@kou
kou merged commit 48c6738 into apache:masterOct 8, 2022
@ursabot

Copy link
Copy Markdown

Benchmark runs are scheduled for baseline = 12667cd and contender = 48c6738. 48c6738 is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Finished ⬇️0.0% ⬆️0.0%] ec2-t3-xlarge-us-east-2
[Failed ⬇️0.0% ⬆️0.0%] test-mac-arm
[Failed ⬇️0.82% ⬆️0.0%] ursa-i9-9960x
[Finished ⬇️0.11% ⬆️0.0%] ursa-thinkcentre-m75q
Buildkite builds:
[Finished] 48c6738e ec2-t3-xlarge-us-east-2
[Failed] 48c6738e test-mac-arm
[Failed] 48c6738e ursa-i9-9960x
[Finished] 48c6738e ursa-thinkcentre-m75q
[Finished] 12667cd0 ec2-t3-xlarge-us-east-2
[Failed] 12667cd0 test-mac-arm
[Failed] 12667cd0 ursa-i9-9960x
[Finished] 12667cd0 ursa-thinkcentre-m75q
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@js8544@kou@ursabot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

ARROW-17872: [C++][CI] Reduce macOS CI dependencies - #14310

Merged
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps
Oct 8, 2022
Merged

ARROW-17872: [C++][CI] Reduce macOS CI dependencies#14310
kou merged 10 commits into
apache:masterfrom
js8544:jinshang/reduce_macos_deps

Conversation

@js8544

@js8544js8544 commented Oct 4, 2022

Copy link
Copy Markdown
Contributor

Pin LLVM and Clang-format version to 14 because it's pre-installed on the runner image.

@github-actions

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

⚠️ Ticket has not been started in JIRA, please click 'Start Progress'.

@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

Comment threadcpp/Brewfile Outdated
Comment thread.github/workflows/cpp.yml Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove this with the following patch?

diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 01d461d14a..5116c8a232 100644
--- a/cpp/CMakeLists.txt+++ b/cpp/CMakeLists.txt@@ -138,9 +138,6 @@ set(ARROW_LLVM_VERSIONS
"9"
"8"
"7")
-list(GET ARROW_LLVM_VERSIONS 0 ARROW_LLVM_VERSION_PRIMARY)-string(REGEX REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_LLVM_VERSION_PRIMARY_MAJOR- "${ARROW_LLVM_VERSION_PRIMARY}")
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../.env ARROW_ENV)
string(REGEX MATCH "CLANG_TOOLS=[^\n]+" ARROW_ENV_CLANG_TOOLS_VERSION "${ARROW_ENV}")
diff --git a/cpp/cmake_modules/FindLLVMAlt.cmake b/cpp/cmake_modules/FindLLVMAlt.cmake
index 56ceead941..d371c8d3cc 100644
--- a/cpp/cmake_modules/FindLLVMAlt.cmake+++ b/cpp/cmake_modules/FindLLVMAlt.cmake@@ -40,26 +40,8 @@ if(DEFINED LLVM_ROOT)
endif()
if(NOT LLVM_FOUND)
- set(LLVM_HINTS ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)- if(APPLE)- find_program(BREW brew)- if(BREW)- execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION_PRIMARY_MAJOR}"- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- if(NOT LLVM_BREW_PREFIX)- execute_process(COMMAND ${BREW} --prefix llvm- OUTPUT_VARIABLE LLVM_BREW_PREFIX- OUTPUT_STRIP_TRAILING_WHITESPACE)- endif()- if(LLVM_BREW_PREFIX)- list(APPEND LLVM_HINTS ${LLVM_BREW_PREFIX})- endif()- endif()- endif()-- foreach(HINT ${LLVM_HINTS})- foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS})+ foreach(HINT ${LLVM_ROOT} ${LLVM_DIR} /usr/lib /usr/share)
find_package(LLVM
${ARROW_LLVM_VERSION}
CONFIG
@@ -69,6 +51,29 @@ if(NOT LLVM_FOUND)
break()
endif()
endforeach()
+ if(APPLE)+ find_program(BREW brew)+ if(BREW)+ execute_process(COMMAND ${BREW} --prefix "llvm@${ARROW_LLVM_VERSION}"+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ if(NOT LLVM_BREW_PREFIX)+ execute_process(COMMAND ${BREW} --prefix llvm+ OUTPUT_VARIABLE LLVM_BREW_PREFIX+ OUTPUT_STRIP_TRAILING_WHITESPACE)+ endif()+ if(LLVM_BREW_PREFIX)+ find_package(LLVM+ ${ARROW_LLVM_VERSION}+ CONFIG+ HINTS+ ${LLVM_BREW_PREFIX})+ if(LLVM_FOUND)+ break()+ endif()+ endif()+ endif()+ endif()
endforeach()
endif()
diff --git a/cpp/src/gandiva/GandivaConfig.cmake.in b/cpp/src/gandiva/GandivaConfig.cmake.in
index 20cdc75acb..18d194f1e4 100644
--- a/cpp/src/gandiva/GandivaConfig.cmake.in+++ b/cpp/src/gandiva/GandivaConfig.cmake.in@@ -27,7 +27,6 @@
@PACKAGE_INIT@
set(ARROW_LLVM_VERSIONS "@ARROW_LLVM_VERSIONS@")
-set(ARROW_LLVM_VERSION_PRIMARY_MAJOR "@ARROW_LLVM_VERSION_PRIMARY_MAJOR@")
include(CMakeFindDependencyMacro)
find_dependency(Arrow)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current logic is to check brew paths if the default ones fail. I think a simpler approach is to append brew paths to LLVM_HINTS. Could you have a look at the latest changes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep the "brew --prefix llvm is used when brew --prefix llvm@${LLVM_VERSION} is failed" logic to support the llvm formula (that is for the latest LLVM) in Homebrew?

It won't be necessary because llvm@15 is an alias for llvm (https://formulae.brew.sh/formula/llvm) . For example on my machine brew --prefix llvm@15 gives /usr/local/opt/llvm.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow! I didn't know the Homebrew feature!

@koukou changed the title ARROW-17872: [C++][CI] Reduce MacOS CI DependenciesARROW-17872: [C++][CI] Reduce macOS CI dependenciesOct 5, 2022
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 082fe8f to d7a3c35CompareOctober 7, 2022 10:48
@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from d7a3c35 to 7b3e768CompareOctober 7, 2022 11:47
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

This comment was marked as outdated.

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 7b3e768 to 167f165CompareOctober 7, 2022 13:40
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: 167f165b50903d06bfc1098d31a00577bcc97e00

Submitted crossbow builds: ursacomputing/crossbow @ actions-e7309d9ae6

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

@kou

kou commented Oct 7, 2022

Copy link
Copy Markdown
Member

Could you rebase on master for the verify-rc-source-python-linux-ubuntu-18.04-amd64 failure?

https://github.com/ursacomputing/crossbow/actions/runs/3205223717/jobs/5237466278#step:5:10529

/tmp/arrow-HEAD.YJvN3/install/include/arrow/util/string_builder.h:49:10: error: ambiguous overload for ‘operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}’ and ‘std::nullptr_t’)
stream << head;
~~~~~~~^~~~~~~

@js8544
js8544force-pushed the jinshang/reduce_macos_deps branch from 167f165 to feec756CompareOctober 7, 2022 22:31
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

1 similar comment
@js8544

Copy link
Copy Markdown
ContributorAuthor

@github-actions crossbow submit -g nightly-release

@github-actions

Copy link
Copy Markdown

Revision: feec756

Submitted crossbow builds: ursacomputing/crossbow @ actions-2b41928aa0

TaskStatus
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-conda-latest-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-cpp-macos-amd64Github Actions
verify-rc-source-cpp-macos-arm64Github Actions
verify-rc-source-cpp-macos-conda-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-conda-latest-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-csharp-macos-amd64Github Actions
verify-rc-source-csharp-macos-arm64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-conda-latest-amd64Github Actions
verify-rc-source-go-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-go-macos-amd64Github Actions
verify-rc-source-go-macos-arm64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-conda-latest-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-integration-macos-amd64Github Actions
verify-rc-source-integration-macos-arm64Github Actions
verify-rc-source-integration-macos-conda-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-conda-latest-amd64Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-java-macos-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-conda-latest-amd64Github Actions
verify-rc-source-js-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-js-macos-amd64Github Actions
verify-rc-source-js-macos-arm64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-conda-latest-amd64Github Actions
verify-rc-source-python-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-python-macos-amd64Github Actions
verify-rc-source-python-macos-arm64Github Actions
verify-rc-source-python-macos-conda-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-conda-latest-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-18.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64Github Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64Github Actions
verify-rc-source-ruby-macos-amd64Github Actions
verify-rc-source-ruby-macos-arm64Github Actions
verify-rc-source-windowsGithub Actions

kou
kou approved these changes Oct 8, 2022

@koukou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Thanks!

@kou
kou merged commit 48c6738 into apache:masterOct 8, 2022
@ursabot

Copy link
Copy Markdown

Benchmark runs are scheduled for baseline = 12667cd and contender = 48c6738. 48c6738 is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Finished ⬇️0.0% ⬆️0.0%] ec2-t3-xlarge-us-east-2
[Failed ⬇️0.0% ⬆️0.0%] test-mac-arm
[Failed ⬇️0.82% ⬆️0.0%] ursa-i9-9960x
[Finished ⬇️0.11% ⬆️0.0%] ursa-thinkcentre-m75q
Buildkite builds:
[Finished] 48c6738e ec2-t3-xlarge-us-east-2
[Failed] 48c6738e test-mac-arm
[Failed] 48c6738e ursa-i9-9960x
[Finished] 48c6738e ursa-thinkcentre-m75q
[Finished] 12667cd0 ec2-t3-xlarge-us-east-2
[Failed] 12667cd0 test-mac-arm
[Failed] 12667cd0 ursa-i9-9960x
[Finished] 12667cd0 ursa-thinkcentre-m75q
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@js8544@kou@ursabot