Skip to content

Add bitSplit codec for splitting numeric values by bit ranges #1170

Add bitSplit codec for splitting numeric values by bit ranges

Add bitSplit codec for splitting numeric values by bit ranges #1170

Workflow file for this run

# Copyright (c) Meta Platforms, Inc. and affiliates.
name: cmake-ci
on:
push:
branches: [dev]
pull_request:
branches: [dev, master, actionsTest]
workflow_dispatch: {}
env:
# Common environment variables
MAKEFLAGS: "V=1"
jobs:
# =============================================================================
# CMAKE BUILDS
# =============================================================================
cmake-builds:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- name: "CMake Linux"
os: ubuntu-latest
build_mode: dev
extra_flags: "-Werror"
- name: "CMake macOS"
os: macos-latest
build_mode: dev
extra_flags: "-Werror"
- name: "CMake Shared Libraries"
os: ubuntu-latest
build_mode: ""
extra_flags: "-Werror"
shared_libs: true
- name: "CMake Parquet Tools"
os: ubuntu-latest
build_mode: dev
extra_flags: "-Werror"
parquet_tools: true
- name: "CMake Linux (No Introspection)"
os: ubuntu-latest
build_mode: dev
extra_flags: "-Werror"
no_introspection: true
steps:
- uses: actions/checkout@v4
- name: Configure CMake
run: |
cmake -E make_directory ${{github.workspace}}/build
cd ${{github.workspace}}/build
CMAKE_ARGS="-DCMAKE_INSTALL_PREFIX=./install"
if [ "${{ matrix.build_mode }}" != "" ]; then
CMAKE_ARGS="$CMAKE_ARGS -DOPENZL_BUILD_MODE=${{ matrix.build_mode }}"
fi
if [ "${{ matrix.extra_flags }}" != "" ]; then
CMAKE_ARGS="$CMAKE_ARGS -DZSTRONG_COMMON_FLAGS=\"${{ matrix.extra_flags }}\""
fi
CMAKE_ARGS="$CMAKE_ARGS -DOPENZL_BUILD_TESTS=ON"
if [ "${{ matrix.shared_libs }}" = "true" ]; then
CMAKE_ARGS="$CMAKE_ARGS -DOPENZL_BUILD_SHARED_LIBS=ON"
fi
if [ "${{ matrix.parquet_tools }}" = "true" ]; then
CMAKE_ARGS="$CMAKE_ARGS -DOPENZL_BUILD_PARQUET_TOOLS=ON"
fi
if [ "${{ matrix.no_introspection }}" = "true" ]; then
CMAKE_ARGS="$CMAKE_ARGS -DOPENZL_ALLOW_INTROSPECTION=OFF"
fi
if [ "${{ matrix.name }}" = "CMake Linux" ]; then
CMAKE_ARGS="$CMAKE_ARGS -DOPENZL_BUILD_BENCHMARKS=ON"
fi
echo "Running: cmake $CMAKE_ARGS .."
cmake $CMAKE_ARGS ..
- name: Build
working-directory: ${{github.workspace}}/build
run: make
- name: Build unitBench
if: ${{ matrix.name == 'CMake Linux' }}
working-directory: ${{github.workspace}}/build
run: cmake --build . --target unitBench
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest --output-on-failure
- name: Install
working-directory: ${{github.workspace}}/build
run: make install
# CMake installation test
cmake-install-test:
name: CMake Install Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Test CMake installation
run: ./build-scripts/cmake/tests/test-install.py
# Tarball build test (no git repository)
cmake-tarball-test:
name: CMake Tarball Build Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Test tarball build scenario
run: |
# Simulate tarball environment by removing git repo and deps
rm -rf .git deps/zstd
# Configure and build -- should download deps
cmake -B cmakebuild -DOPENZL_BUILD_TESTS=ON -DOPENZL_ALLOW_INTROSPECTION=OFF
cmake --build cmakebuild
# quick runtime check, to verify it works
cmakebuild/cli/zli --version