Skip to content

Update Arrow to version 17 #207

Update Arrow to version 17

Update Arrow to version 17 #207

Workflow file for this run

name: Assets
on:
release:
types:
- created
pull_request:
push:
branches:
- develop
- staging
- trying
env:
ARROW_VERSION: "17.0.0"
jobs:
archive:
name: AlmaLinux
runs-on: ubuntu-latest
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 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/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 tarball
run: tar xvfz ./${{ steps.tarball.outputs.name }} -C /usr
- name: Upload tarball
uses: actions/upload-release-asset@v1
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ steps.tarball.outputs.name }}
asset_name: ${{ steps.tarball.outputs.name }}
asset_content_type: application/octet-stream
- id: rpm
run: echo "##[set-output name=name;]$(ls fletch*.rpm)"
- name: Install RPM
run: |
yum remove -y arrow-devel
yum autoremove -y
yum localinstall -y ./${{ steps.rpm.outputs.name }}
- name: Upload rpm
uses: actions/upload-release-asset@v1
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ steps.rpm.outputs.name }}
asset_name: ${{ steps.rpm.outputs.name }}
asset_content_type: application/octet-stream
ubuntu:
name: Ubuntu
strategy:
matrix:
version:
- 22.04
- 24.04
source:
- runtime/cpp
- codegen/cpp/fletchgen
runs-on: ubuntu-${{ matrix.version }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Apache Arrow
run: |
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
run: make -j package
- id: deb
run: echo "##[set-output name=name;]$(ls fletch*.deb)"
- name: Install
run: |
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' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ steps.deb.outputs.name }}
asset_name: ${{ steps.deb.outputs.name }}
asset_content_type: application/octet-stream
python:
name: Python
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
source:
- codegen/python
- runtime/python
manylinux:
- 2_28
cpython_version:
- "cp310-cp310"
- "cp312-cp312"
container: quay.io/pypa/manylinux_${{ matrix.manylinux }}_x86_64:latest
steps:
- 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/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 --upgrade pip setuptools wheel pyarrow==$ARROW_VERSION
- name: Build wheel
working-directory: ${{ matrix.source }}
run: |
/opt/python/${{ matrix.cpython_version }}/bin/python -m build --wheel
- name: Wheel path
id: wheel
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' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
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@release/v1
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
with:
user: __token__
password: ${{ secrets.PYPI_TOKEN }}
packages_dir: ${{ matrix.source }}/wheelhouse