Update Arrow to version 17 #207
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
| 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 |