Skip to content
Merged
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
147 changes: 147 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
# Generated from CLion Inspection settings
---
Checks: '-*,
bugprone-argument-comment,
bugprone-assert-side-effect,
bugprone-bad-signal-to-kill-thread,
bugprone-branch-clone,
bugprone-copy-constructor-init,
bugprone-dangling-handle,
bugprone-dynamic-static-initializers,
bugprone-fold-init-type,
bugprone-forward-declaration-namespace,
bugprone-forwarding-reference-overload,
bugprone-inaccurate-erase,
bugprone-incorrect-roundings,
bugprone-integer-division,
bugprone-lambda-function-name,
bugprone-macro-parentheses,
bugprone-macro-repeated-side-effects,
bugprone-misplaced-operator-in-strlen-in-alloc,
bugprone-misplaced-pointer-arithmetic-in-alloc,
bugprone-misplaced-widening-cast,
bugprone-move-forwarding-reference,
bugprone-multiple-statement-macro,
bugprone-no-escape,
bugprone-parent-virtual-call,
bugprone-posix-return,
bugprone-reserved-identifier,
bugprone-sizeof-container,
bugprone-sizeof-expression,
bugprone-spuriously-wake-up-functions,
bugprone-string-constructor,
bugprone-string-integer-assignment,
bugprone-string-literal-with-embedded-nul,
bugprone-suspicious-enum-usage,
bugprone-suspicious-include,
bugprone-suspicious-memset-usage,
bugprone-suspicious-missing-comma,
bugprone-suspicious-semicolon,
bugprone-suspicious-string-compare,
bugprone-suspicious-memory-comparison,
bugprone-suspicious-realloc-usage,
bugprone-swapped-arguments,
bugprone-terminating-continue,
bugprone-throw-keyword-missing,
bugprone-too-small-loop-variable,
bugprone-undefined-memory-manipulation,
bugprone-undelegated-constructor,
bugprone-unhandled-self-assignment,
bugprone-unused-raii,
bugprone-unused-return-value,
bugprone-use-after-move,
bugprone-virtual-near-miss,
cert-dcl21-cpp,
cert-dcl58-cpp,
cert-err34-c,
cert-err52-cpp,
cert-err60-cpp,
cert-flp30-c,
cert-msc50-cpp,
cert-msc51-cpp,
cert-str34-c,
cppcoreguidelines-interfaces-global-init,
cppcoreguidelines-narrowing-conversions,
cppcoreguidelines-pro-type-member-init,
cppcoreguidelines-pro-type-static-cast-downcast,
cppcoreguidelines-slicing,
google-default-arguments,
google-explicit-constructor,
google-runtime-operator,
hicpp-exception-baseclass,
hicpp-multiway-paths-covered,
misc-misplaced-const,
misc-new-delete-overloads,
misc-no-recursion,
misc-non-copyable-objects,
misc-throw-by-value-catch-by-reference,
misc-unconventional-assign-operator,
misc-uniqueptr-reset-release,
modernize-avoid-bind,
modernize-concat-nested-namespaces,
modernize-deprecated-headers,
modernize-deprecated-ios-base-aliases,
modernize-loop-convert,
modernize-make-shared,
modernize-make-unique,
modernize-pass-by-value,
modernize-raw-string-literal,
modernize-redundant-void-arg,
modernize-replace-auto-ptr,
modernize-replace-disallow-copy-and-assign-macro,
modernize-replace-random-shuffle,
modernize-return-braced-init-list,
modernize-shrink-to-fit,
modernize-unary-static-assert,
modernize-use-auto,
modernize-use-bool-literals,
modernize-use-emplace,
modernize-use-equals-default,
modernize-use-equals-delete,
modernize-use-nodiscard,
modernize-use-noexcept,
modernize-use-nullptr,
modernize-use-override,
modernize-use-transparent-functors,
modernize-use-uncaught-exceptions,
mpi-buffer-deref,
mpi-type-mismatch,
openmp-use-default-none,
performance-faster-string-find,
performance-for-range-copy,
performance-implicit-conversion-in-loop,
performance-inefficient-algorithm,
performance-inefficient-string-concatenation,
performance-inefficient-vector-operation,
performance-move-const-arg,
performance-move-constructor-init,
performance-no-automatic-move,
performance-noexcept-move-constructor,
performance-trivially-destructible,
performance-type-promotion-in-math-fn,
performance-unnecessary-copy-initialization,
performance-unnecessary-value-param,
portability-simd-intrinsics,
readability-avoid-const-params-in-decls,
readability-const-return-type,
readability-container-size-empty,
readability-convert-member-functions-to-static,
readability-delete-null-pointer,
readability-deleted-default,
readability-inconsistent-declaration-parameter-name,
readability-make-member-function-const,
readability-misleading-indentation,
readability-misplaced-array-index,
readability-non-const-parameter,
readability-redundant-control-flow,
readability-redundant-declaration,
readability-redundant-function-ptr-dereference,
readability-redundant-smartptr-get,
readability-redundant-string-cstr,
readability-redundant-string-init,
readability-simplify-subscript-expr,
readability-static-accessed-through-instance,
readability-static-definition-in-anonymous-namespace,
readability-string-compare,
readability-uniqueptr-delete-release,
readability-use-anyofallof'
110 changes: 47 additions & 63 deletions .github/workflows/assets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,37 +12,43 @@ on:
- trying

env:
CMAKE_VERSION: "3.19.2"
ARROW_VERSION: "7.0.0"
ARROW_VERSION: "17.0.0"

jobs:
archive:
name: Linux
name: AlmaLinux
runs-on: ubuntu-latest
container: centos:7
strategy:
matrix:
version:
- 8
- 9
source:
- runtime/cpp
container: almalinux:${{ matrix.version }}
steps:
- name: Install dependencies
run: |
yum install -y epel-release
yum install -y curl make gcc-c++ rpm-build git
- name: Install CMake
run: curl -L https://github.com/Kitware/CMake/releases/download/v$CMAKE_VERSION/cmake-$CMAKE_VERSION-Linux-x86_64.tar.gz | tar xz --strip-components=1 -C /usr
yum install -y make gcc-c++ rpm-build git cmake
- name: Enable powertools for Almalinux 8
if: matrix.version == '8'
run: dnf config-manager --set-enabled powertools
- name: Enable crb for Almalinux 9
if: matrix.version == '9'
run: dnf config-manager --set-enabled crb
- name: Install Apache Arrow
run: |
yum install -y https://apache.jfrog.io/artifactory/arrow/centos/$(cut -d: -f5 /etc/system-release-cpe)/apache-arrow-release-latest.rpm
yum install -y arrow-devel-$ARROW_VERSION-1.el7
- uses: actions/checkout@v2
yum install -y https://apache.jfrog.io/artifactory/arrow/almalinux/$(cut -d: -f5 /etc/system-release-cpe)/apache-arrow-release-latest.rpm
yum install -y arrow-devel-$ARROW_VERSION-1.el${{ matrix.version }}
- uses: actions/checkout@v4
- name: Configure
run: cmake ${{ matrix.source }} -DCMAKE_BUILD_TYPE=Release
- name: Package
run: make -j package
- id: tarball
run: echo "##[set-output name=name;]$(ls fletch*.tar.gz)"
- name: Install
- name: Install tarball
run: tar xvfz ./${{ steps.tarball.outputs.name }} -C /usr
- name: Upload tarball
uses: actions/upload-release-asset@v1
Expand All @@ -54,36 +60,9 @@ jobs:
asset_path: ${{ steps.tarball.outputs.name }}
asset_name: ${{ steps.tarball.outputs.name }}
asset_content_type: application/octet-stream

centos:
name: CentOS
runs-on: ubuntu-latest
strategy:
matrix:
version:
- 7
source:
- runtime/cpp
container: centos:${{ matrix.version }}
steps:
- name: Install dependencies
run: |
yum install -y epel-release
yum install -y curl make rpm-build gcc-c++ git
- name: Install CMake
run: curl -L https://github.com/Kitware/CMake/releases/download/v$CMAKE_VERSION/cmake-$CMAKE_VERSION-Linux-x86_64.tar.gz | tar xz --strip-components=1 -C /usr
- name: Install Apache Arrow
run: |
yum install -y https://apache.jfrog.io/artifactory/arrow/centos/$(cut -d: -f5 /etc/system-release-cpe)/apache-arrow-release-latest.rpm
yum install -y arrow-devel-$ARROW_VERSION-1.el${{ matrix.version }}
- uses: actions/checkout@v2
- name: Configure
run: cmake ${{ matrix.source }} -DCMAKE_BUILD_TYPE=Release
- name: Package
run: make -j package
- id: rpm
run: echo "##[set-output name=name;]$(ls fletch*.rpm)"
- name: Install
- name: Install RPM
run: |
yum remove -y arrow-devel
yum autoremove -y
Expand All @@ -99,27 +78,30 @@ jobs:
asset_name: ${{ steps.rpm.outputs.name }}
asset_content_type: application/octet-stream


ubuntu:
name: Ubuntu
strategy:
matrix:
version:
- 18.04
- 20.04
- 22.04
- 24.04
source:
- runtime/cpp
- codegen/cpp/fletchgen
runs-on: ubuntu-${{ matrix.version }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Apache Arrow
run: |
wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt-get install -y ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt-get update
sudo apt-get install -y libarrow-dev=$ARROW_VERSION-1
sudo apt update
sudo apt install -y -V ca-certificates lsb-release wget
wget https://packages.apache.org/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt update
sudo apt install -y -V libarrow-dev=${ARROW_VERSION}-1
- name: Configure
run: cmake ${{ matrix.source }} -DCMAKE_BUILD_TYPE=Release
- name: Package
Expand All @@ -128,8 +110,8 @@ jobs:
run: echo "##[set-output name=name;]$(ls fletch*.deb)"
- name: Install
run: |
sudo apt-get --purge autoremove libarrow-dev
sudo apt-get install -y ./${{ steps.deb.outputs.name }} libarrow-dev=${ARROW_VERSION}-1
sudo apt -y --purge autoremove libarrow-dev
sudo apt install -y ./${{ steps.deb.outputs.name }} libarrow-dev=${ARROW_VERSION}-1
- name: Upload deb
uses: actions/upload-release-asset@v1
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
Expand All @@ -144,39 +126,41 @@ jobs:
python:
name: Python
runs-on: ubuntu-latest
container: quay.io/pypa/manylinux${{ matrix.manylinux }}_x86_64:latest
strategy:
fail-fast: false
matrix:
source:
- codegen/python
- runtime/python
manylinux:
- 2014
- 2_28
cpython_version:
- "cp37-cp37m"
- "cp38-cp38"
- "cp39-cp39"
- "cp310-cp310"
- "cp312-cp312"
container: quay.io/pypa/manylinux_${{ matrix.manylinux }}_x86_64:latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies
run: |
yum install -y epel-release
yum install -y make gcc-c++ rpm-build git cmake
- name: Enable powertools for Almalinux 8
run: dnf config-manager --set-enabled powertools
- name: Install Apache Arrow
run: |
yum install -y https://apache.jfrog.io/artifactory/arrow/centos/$(cut -d: -f5 /etc/system-release-cpe)/apache-arrow-release-latest.rpm
yum install -y --enablerepo=epel arrow-devel-$ARROW_VERSION-1.el7 arrow-libs-$ARROW_VERSION-1.el7 arrow-python-devel-$ARROW_VERSION-1.el7 arrow-python-libs-$ARROW_VERSION-1.el7
- name: Install cmake
run: curl -L https://github.com/Kitware/CMake/releases/download/v$CMAKE_VERSION/cmake-$CMAKE_VERSION-Linux-x86_64.tar.gz | tar xz --strip-components=1 -C /usr
yum install -y https://apache.jfrog.io/artifactory/arrow/almalinux/$(cut -d: -f5 /etc/system-release-cpe)/apache-arrow-release-latest.rpm
yum install -y arrow-devel-$ARROW_VERSION-1.el8 arrow$(echo $ARROW_VERSION | cut -d . -f 1)00-dataset-libs
- name: Install dependencies
run: /opt/python/${{ matrix.cpython_version }}/bin/python -m pip install pyarrow==$ARROW_VERSION auditwheel
run: /opt/python/${{ matrix.cpython_version }}/bin/python -m pip install --upgrade pip setuptools wheel pyarrow==$ARROW_VERSION
- name: Build wheel
working-directory: ${{ matrix.source }}
run: |
/opt/python/${{ matrix.cpython_version }}/bin/python setup.py bdist_wheel
/opt/python/${{ matrix.cpython_version }}/bin/python -m auditwheel repair build/dist/*.whl
/opt/python/${{ matrix.cpython_version }}/bin/python -m build --wheel
- name: Wheel path
id: wheel
working-directory: ${{ matrix.source }}/wheelhouse
working-directory: ${{ matrix.source }}/dist
run: echo "##[set-output name=wheel;]$(ls *.whl)"
- uses: actions/upload-release-asset@v1
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
Expand All @@ -187,7 +171,7 @@ jobs:
asset_path: ${{ matrix.source }}/wheelhouse/${{ steps.wheel.outputs.wheel }}
asset_name: ${{ steps.wheel.outputs.wheel }}
asset_content_type: application/zip
- uses: pypa/gh-action-pypi-publish@v1.3.1
- uses: pypa/gh-action-pypi-publish@release/v1
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
with:
user: __token__
Expand Down
Loading
Loading