Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/actions/install-deps/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,20 @@ runs:
remove-codeql: "true"

# https://github.com/open-telemetry/opentelemetry-cpp/issues/2998
# Skip on arm64 Linux - use system cmake instead
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v2
if: ${{ !(inputs.arch == 'aarch64' && runner.os == 'Linux') }}
with:
cmake-version: "3.29.6"

# Use system cmake on arm64 Linux (the setup-cmake action doesn't support arm64 Linux)
- name: Install cmake (arm64 Linux)
if: ${{ inputs.arch == 'aarch64' && runner.os == 'Linux' }}
shell: bash
run: |
dnf install -y cmake

- name: Install pnpm
uses: pnpm/action-setup@v3
with:
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ jobs:
matrix:
os:
- ubuntu-22.04
- ubuntu-22.04-arm
- macos-14
- windows-2022
arch:
Expand All @@ -201,13 +202,19 @@ jobs:
arch: x86_64
python-version: 3.9
container: pagmo2/manylinux228_x86_64_with_deps
- os: ubuntu-22.04-arm
arch: aarch64
python-version: 3.9
container: pagmo2/manylinux228_aarch64_with_deps
is-release:
- ${{ startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master' }}
exclude:
- os: windows-2022
arch: aarch64
- os: ubuntu-22.04
arch: aarch64
- os: ubuntu-22.04-arm
arch: x86_64
- os: macos-14
is-release: false
- os: macos-14
Expand Down
2 changes: 1 addition & 1 deletion rust/perspective-server/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ fn cmake_build() -> Result<Option<PathBuf>, std::io::Error> {
dst.define("ARROW_BUILD_EXAMPLES", "OFF");
dst.define("RAPIDJSON_BUILD_EXAMPLES", "OFF");
dst.define("ARROW_CXX_FLAGS_DEBUG", "-Wno-error");
dst.define("PSP_PROTOC_PATH", protoc());
dst.define("PSP_PROTOC_PATH", protoc().parent());
dst.define("CMAKE_COLOR_DIAGNOSTICS", "ON");
dst.define(
"PSP_PROTO_PATH",
Expand Down
11 changes: 7 additions & 4 deletions rust/perspective-server/cmake/modules/FindProtoc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ function(download_protoc VERSION DESTINATION)
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
set(PROTOC_ZIP "protoc-${VERSION}-osx-x86_64.zip")
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
set(PROTOC_ZIP "protoc-${VERSION}-linux-x86_64.zip")
if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "aarch64")
set(PROTOC_ZIP "protoc-${VERSION}-linux-aarch_64.zip")
else()
set(PROTOC_ZIP "protoc-${VERSION}-linux-x86_64.zip")
endif()
else()
message(FATAL_ERROR "Unsupported host system: ${CMAKE_HOST_SYSTEM_NAME}")
endif()
Expand Down Expand Up @@ -56,7 +60,7 @@ else()
OUTPUT_VARIABLE PROTOC_VERSION_OUTPUT
OUTPUT_STRIP_TRAILING_WHITESPACE
)

if(NOT PROTOC_VERSION_OUTPUT MATCHES "^libprotoc ([0-9]+)\\.([0-9]+)(:?\\.([0-9]+))?")
message(WARNING "Unable to determine protoc version")
return()
Expand All @@ -71,7 +75,7 @@ else()
else()
set(FOUND_VERSION "${PROTOC_VERSION_MAJOR}.${PROTOC_VERSION_MINOR}.${PROTOC_VERSION_PATCH}")
endif()

# Force the external project to use the same version as our installed protoc CLI
set(LIBPROTOBUF_VERSION "v${FOUND_VERSION}" PARENT_SCOPE)

Expand Down Expand Up @@ -120,4 +124,3 @@ function(protobuf_generate_cpp SRCS HDRS)
set(${SRCS} ${_PROTOBUF_GENERATE_CPP_SRCS} PARENT_SCOPE)
set(${HDRS} ${_PROTOBUF_GENERATE_CPP_HDRS} PARENT_SCOPE)
endfunction()