-
-
Notifications
You must be signed in to change notification settings - Fork 157
Upgrade df version #1454
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
parmesant
wants to merge
19
commits into
parseablehq:main
Choose a base branch
from
parmesant:upgrade-datafusion
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+1,211
−594
Open
Upgrade df version #1454
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
f1892ff
Upgrade df version
parmesant 05c6fea
update datafusion version in cargo toml
nikhilsinhaparseable 5d691d6
step to install gcc11
nikhilsinhaparseable a0c4d4b
fix indentation
nikhilsinhaparseable b30a3ad
fix indentation
nikhilsinhaparseable 450e6a9
fix build actions:
nikhilsinhaparseable 9c05c9c
fix for aarch64 kafka build
nikhilsinhaparseable b0ecba0
update for kafka aarch64
nikhilsinhaparseable 6444514
update Cargo.toml, remove creating cargo.toml in build
nikhilsinhaparseable ffdf597
update arrow version
nikhilsinhaparseable 8442969
Fix aarch64 Linux Kafka build with QEMU and nightly Rust
nikhilsinhaparseable e043b19
Fix aarch64 Linux builds with QEMU, nightly Rust, and cross configura…
nikhilsinhaparseable ca644c2
fix zlib
nikhilsinhaparseable b732a7b
explicitly pass Zlib locations into the aarch64 cross build
nikhilsinhaparseable 2bb0676
fix cross toml
nikhilsinhaparseable e17ceac
update Cross.toml and debug in build.yaml
nikhilsinhaparseable c03d398
fix cross toml
nikhilsinhaparseable 000f510
fix file
nikhilsinhaparseable 59b7cb4
fix cross toml
nikhilsinhaparseable File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,13 @@ | ||
| name: Ensure parseable builds on all release targets | ||
|
|
||
| on: | ||
| pull_request: | ||
| paths-ignore: | ||
| - docs/** | ||
| - helm/** | ||
| - assets/** | ||
| - "**.md" | ||
|
|
||
| jobs: | ||
| # Default build without Kafka | ||
| build-default: | ||
|
|
@@ -15,25 +17,45 @@ jobs: | |
| fail-fast: false | ||
| matrix: | ||
| include: | ||
| # Linux builds | ||
| # Linux builds - x86_64 native, aarch64 cross-compile | ||
| - os: ubuntu-latest | ||
| target: x86_64-unknown-linux-gnu | ||
| use_cross: false | ||
| - os: ubuntu-latest | ||
| target: aarch64-unknown-linux-gnu | ||
| # macOS builds | ||
| use_cross: true | ||
|
|
||
| # macOS builds - both native on macos-latest (M1) | ||
| - os: macos-latest | ||
| target: x86_64-apple-darwin | ||
| use_cross: false | ||
| - os: macos-latest | ||
| target: aarch64-apple-darwin | ||
| use_cross: false | ||
|
|
||
| # Windows build | ||
| - os: windows-latest | ||
| target: x86_64-pc-windows-msvc | ||
| use_cross: false | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Setup Rust toolchain | ||
| uses: dtolnay/rust-toolchain@stable | ||
| uses: dtolnay/rust-toolchain@nightly | ||
| with: | ||
| targets: ${{ matrix.target }} | ||
|
|
||
| - name: Install GCC 11 on Linux | ||
| if: runner.os == 'Linux' | ||
| run: | | ||
| sudo apt-get update | ||
| sudo apt-get install -y gcc-11 g++-11 | ||
|
|
||
| - name: Install cross | ||
| if: matrix.use_cross | ||
| run: cargo install cross --git https://github.com/cross-rs/cross | ||
|
|
||
| - name: Cache dependencies | ||
| uses: actions/cache@v4 | ||
| with: | ||
|
|
@@ -42,12 +64,20 @@ jobs: | |
| ~/.cargo/git | ||
| target | ||
| key: ${{ runner.os }}-cargo-${{ matrix.target }}-default-${{ hashFiles('**/Cargo.lock') }} | ||
| - name: Build | ||
| uses: actions-rs/cargo@v1 | ||
| with: | ||
| use-cross: ${{ runner.os == 'Linux' }} | ||
| command: build | ||
| args: --target ${{ matrix.target }} --release | ||
|
|
||
| - name: Build with cross | ||
| if: matrix.use_cross | ||
| env: | ||
| CROSS_NO_WARNINGS: "0" | ||
| run: cross build --target ${{ matrix.target }} --release | ||
|
|
||
| - name: Build native | ||
| if: ${{ !matrix.use_cross }} | ||
| env: | ||
| CC: ${{ runner.os == 'Linux' && 'gcc-11' || '' }} | ||
| CXX: ${{ runner.os == 'Linux' && 'g++-11' || '' }} | ||
| run: cargo build --target ${{ matrix.target }} --release | ||
|
|
||
| # Kafka build for supported platforms | ||
| build-kafka: | ||
| name: Build Kafka ${{matrix.target}} | ||
|
|
@@ -56,19 +86,40 @@ jobs: | |
| fail-fast: false | ||
| matrix: | ||
| include: | ||
| # Linux builds | ||
| # Linux x86_64 - native build | ||
| - os: ubuntu-latest | ||
| target: x86_64-unknown-linux-gnu | ||
| use_cross: false | ||
|
|
||
| # Linux aarch64 - cross-compile | ||
| - os: ubuntu-latest | ||
| target: aarch64-unknown-linux-gnu | ||
| use_cross: true | ||
|
|
||
| # macOS aarch64 - native on M1 | ||
| - os: macos-latest | ||
| target: aarch64-apple-darwin | ||
| use_cross: false | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| # Linux-specific dependencies | ||
| - name: Install Linux dependencies | ||
| if: runner.os == 'Linux' | ||
|
|
||
| - name: Set up Docker Buildx | ||
| if: matrix.use_cross | ||
| uses: docker/setup-buildx-action@v3 | ||
|
|
||
| - name: Set up QEMU for cross-arch builds | ||
| if: matrix.use_cross | ||
| uses: docker/setup-qemu-action@v3 | ||
|
|
||
| # Linux-specific dependencies for native x86_64 build | ||
| - name: Install Linux dependencies (x86_64) | ||
| if: runner.os == 'Linux' && matrix.target == 'x86_64-unknown-linux-gnu' | ||
| run: | | ||
| sudo apt-get update | ||
| sudo apt-get install -y \ | ||
| gcc-11 \ | ||
| g++-11 \ | ||
| build-essential \ | ||
| pkg-config \ | ||
| cmake \ | ||
|
|
@@ -78,19 +129,8 @@ jobs: | |
| liblz4-dev \ | ||
| libssl-dev \ | ||
| libsasl2-dev \ | ||
| python3 \ | ||
| gcc-aarch64-linux-gnu \ | ||
| g++-aarch64-linux-gnu | ||
| # Install cross-compilation specific packages | ||
| if [ "${{ matrix.target }}" = "aarch64-unknown-linux-gnu" ]; then | ||
| sudo apt-get install -y \ | ||
| gcc-aarch64-linux-gnu \ | ||
| g++-aarch64-linux-gnu \ | ||
| libc6-dev-arm64-cross \ | ||
| libsasl2-dev:arm64 \ | ||
| libssl-dev:arm64 \ | ||
| pkg-config-aarch64-linux-gnu | ||
| fi | ||
| python3 | ||
|
|
||
| # macOS-specific dependencies | ||
| - name: Install macOS dependencies | ||
| if: runner.os == 'macOS' | ||
|
|
@@ -103,10 +143,16 @@ jobs: | |
| [email protected] \ | ||
| cyrus-sasl \ | ||
| python3 | ||
|
|
||
| - name: Setup Rust toolchain | ||
| uses: dtolnay/rust-toolchain@stable | ||
| uses: dtolnay/rust-toolchain@nightly | ||
| with: | ||
| targets: ${{ matrix.target }} | ||
|
|
||
| - name: Install cross for aarch64 | ||
| if: matrix.use_cross | ||
| run: cargo install cross --git https://github.com/cross-rs/cross | ||
|
|
||
| - name: Cache dependencies | ||
| uses: actions/cache@v4 | ||
| with: | ||
|
|
@@ -115,8 +161,9 @@ jobs: | |
| ~/.cargo/git | ||
| target | ||
| key: ${{ runner.os }}-cargo-${{ matrix.target }}-kafka-${{ hashFiles('**/Cargo.lock') }} | ||
|
|
||
| - name: Find and fix librdkafka CMakeLists.txt for Linux | ||
| if: runner.os == 'Linux' | ||
| if: runner.os == 'Linux' && !matrix.use_cross | ||
| run: | | ||
| cargo fetch | ||
| # Find the rdkafka-sys package directory | ||
|
|
@@ -136,6 +183,7 @@ jobs: | |
| echo "Could not find librdkafka CMakeLists.txt file!" | ||
| exit 1 | ||
| fi | ||
|
|
||
| - name: Find and fix librdkafka CMakeLists.txt for macOS | ||
| if: runner.os == 'macOS' | ||
| run: | | ||
|
|
@@ -157,18 +205,35 @@ jobs: | |
| echo "Could not find librdkafka CMakeLists.txt file!" | ||
| exit 1 | ||
| fi | ||
| - name: Build with Kafka | ||
| uses: actions-rs/cargo@v1 | ||
| with: | ||
| use-cross: ${{ runner.os == 'Linux' }} | ||
| command: build | ||
| args: --target ${{ matrix.target }} --features kafka --release | ||
|
|
||
| - name: Build with Kafka (cross) - FIXED | ||
| if: matrix.use_cross | ||
| env: | ||
| LIBRDKAFKA_SSL_VENDORED: 1 | ||
| LIBRDKAFKA_SSL_VENDORED: "1" | ||
| PKG_CONFIG_ALLOW_CROSS: "1" | ||
| PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig | ||
| SASL2_DIR: /usr/lib/aarch64-linux-gnu | ||
| OPENSSL_DIR: /usr/lib/aarch64-linux-gnu | ||
| OPENSSL_ROOT_DIR: /usr/lib/aarch64-linux-gnu | ||
| OPENSSL_STATIC: "1" | ||
| SASL2_STATIC: "0" | ||
| CROSS_NO_WARNINGS: "0" | ||
| RUST_BACKTRACE: "1" | ||
|
|
||
| # Standard Debian multiarch paths for aarch64 | ||
| ZLIB_INCLUDE_DIR: "/usr/include" | ||
| ZLIB_LIBRARY: "/usr/lib/aarch64-linux-gnu/libz.so" | ||
|
|
||
| OPENSSL_ROOT_DIR: "/usr" | ||
| OPENSSL_INCLUDE_DIR: "/usr/include" | ||
| OPENSSL_CRYPTO_LIBRARY: "/usr/lib/aarch64-linux-gnu/libcrypto.so" | ||
| OPENSSL_SSL_LIBRARY: "/usr/lib/aarch64-linux-gnu/libssl.so" | ||
|
|
||
| PKG_CONFIG_PATH: "/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig" | ||
| run: | | ||
| echo "=== HOST ENV DEBUG ===" | ||
| env | grep -E 'ZLIB_|OPENSSL_|PKG_CONFIG|LIBRDKAFKA' | ||
| echo "=== NOW RUNNING CROSS BUILD (pre-build will show zlib paths) ===" | ||
| cross build --target ${{ matrix.target }} --features kafka --release --verbose | ||
|
|
||
| - name: Build with Kafka (native) | ||
| if: ${{ !matrix.use_cross }} | ||
| env: | ||
| CC: ${{ runner.os == 'Linux' && 'gcc-11' || '' }} | ||
| CXX: ${{ runner.os == 'Linux' && 'g++-11' || '' }} | ||
| LIBRDKAFKA_SSL_VENDORED: "1" | ||
| run: cargo build --target ${{ matrix.target }} --features kafka --release | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.