This is an automated email from the ASF dual-hosted git repository.
agrove pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion-ballista.git
The following commit(s) were added to refs/heads/main by this push:
new 81cfa632 updated maturin version and ccargo build to build yml (#1136)
81cfa632 is described below
commit 81cfa632f94ef794cc9f35c81676cf9a010c1dbe
Author: Trevor <[email protected]>
AuthorDate: Wed Nov 27 13:16:22 2024 -0800
updated maturin version and ccargo build to build yml (#1136)
* updated maturin version and ccargo build to build yml
* adding pyproject updates
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
* updated maturin version and ccargo build to build yml
---
.github/workflows/build.yml | 312 ++++++++++++++++++++++++++++++++++++++++++++
python/pyproject.toml | 6 +-
2 files changed, 315 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 00000000..ce92d5a5
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,312 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+name: Python Release Build
+on:
+ pull_request:
+ branches: ["main"]
+ push:
+ tags: ["*-rc*"]
+ branches: ["branch-*"]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Install Python
+ uses: actions/setup-python@v5
+ with:
+ python-version: "3.11"
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install ruff
+ # Update output format to enable automatic inline annotations.
+# - name: Run Ruff
+# run: |
+# ruff check --output-format=github python/
+# ruff format --check python/
+
+ generate-license:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: stable
+ override: true
+ - name: Generate license file
+ run: python ./dev/create_license.py
+ - uses: actions/upload-artifact@v4
+ with:
+ name: python-wheel-license
+ path: LICENSE.txt
+
+ build-python-mac-win:
+ needs: [generate-license]
+ name: Mac/Win
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ python-version: ["3.10"]
+ os: [macos-latest, windows-latest]
+ steps:
+ - uses: actions/checkout@v4
+
+ - uses: actions/setup-python@v5
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - uses: actions-rs/toolchain@v1
+ with:
+ toolchain: stable
+
+ - name: Upgrade pip
+ run: python -m pip install --upgrade pip
+
+ - name: Install maturin
+ run: pip install maturin==1.5.1
+
+ - run: rm LICENSE.txt
+ - name: Download LICENSE.txt
+ uses: actions/download-artifact@v4
+ with:
+ name: python-wheel-license
+ path: .
+
+ - name: Install Protoc
+ uses: arduino/setup-protoc@v3
+ with:
+ version: "27.4"
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Cargo build
+ run: cd python && cargo build
+
+ - name: Build Python package
+ run: cd python && maturin build --release --strip
+
+ - name: List Windows wheels
+ if: matrix.os == 'windows-latest'
+ run: dir python\target\wheels\
+ # since the runner is dynamic shellcheck (from actionlint) can't infer
this is powershell
+ # so we specify it explicitly
+ shell: powershell
+
+ - name: List Mac wheels
+ if: matrix.os != 'windows-latest'
+ run: cd python/target/wheels/
+
+ - name: Archive wheels
+ uses: actions/upload-artifact@v4
+ with:
+ name: dist-${{ matrix.os }}
+ path: python/target/wheels/*
+
+ build-macos-x86_64:
+ needs: [generate-license]
+ name: Mac x86_64
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ matrix:
+ python-version: ["3.10"]
+ steps:
+ - uses: actions/checkout@v4
+
+ - uses: actions/setup-python@v5
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - uses: actions-rs/toolchain@v1
+ with:
+ toolchain: stable
+
+ - name: Upgrade pip
+ run: python -m pip install --upgrade pip
+
+ - name: Install maturin
+ run: pip install maturin==1.5.1
+
+ - run: rm LICENSE.txt
+ - name: Download LICENSE.txt
+ uses: actions/download-artifact@v4
+ with:
+ name: python-wheel-license
+ path: .
+
+ - name: Install Protoc
+ uses: arduino/setup-protoc@v3
+ with:
+ version: "27.4"
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+ - name: Cargo build
+ run: cd python && cargo build
+ - name: Build Python package
+ run: cd python && maturin build --release --strip
+ - name: List Mac wheels
+ run: cd python/target/wheels/
+
+ - name: Archive wheels
+ uses: actions/upload-artifact@v4
+ with:
+ name: dist-macos-aarch64
+ path: python/target/wheels/*
+
+ build-manylinux-x86_64:
+ needs: [generate-license]
+ name: Manylinux x86_64
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - run: rm LICENSE.txt
+
+ - name: Download LICENSE.txt
+ uses: actions/download-artifact@v4
+ with:
+ name: python-wheel-license
+ path: .
+
+ - run: cat LICENSE.txt
+ - name: Install Protoc
+ uses: arduino/setup-protoc@v3
+ with:
+ version: "27.4"
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Upgrade pip
+ run: python -m pip install --upgrade pip
+
+ - name: Install maturin
+ run: pip install maturin==1.5.1
+ - name: Cargo Build
+ run: cd python && cargo build
+
+ - name: Build Python package
+ run: cd python && maturin build --release --strip
+ - name: Archive wheels
+ uses: actions/upload-artifact@v4
+ with:
+ name: dist-manylinux-x86_64
+ path: python/target/wheels/*
+
+ build-manylinux-aarch64:
+ needs: [generate-license]
+ name: Manylinux arm64
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - run: rm LICENSE.txt
+ - name: Download LICENSE.txt
+ uses: actions/download-artifact@v4
+ with:
+ name: python-wheel-license
+ path: .
+
+ - run: cat LICENSE.txt
+
+ - name: Install Protoc
+ uses: arduino/setup-protoc@v3
+ with:
+ version: "27.4"
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+ - name: Upgrade pip
+ run: python -m pip install --upgrade pip
+
+ - name: Install maturin
+ run: pip install maturin==1.5.1
+ - name: Cargo Build
+ run: cd python && cargo build
+
+ - name: Build Python package
+ run: cd python && maturin build --release --strip
+ - name: Archive wheels
+ uses: actions/upload-artifact@v4
+ with:
+ name: dist-manylinux-aarch64
+ path: python/target/wheels/*
+
+ build-sdist:
+ needs: [generate-license]
+ name: Source distribution
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - run: rm LICENSE.txt
+ - name: Download LICENSE.txt
+ uses: actions/download-artifact@v4
+ with:
+ name: python-wheel-license
+ path: .
+
+ - run: cat LICENSE.txt
+
+ - name: Install Protoc
+ uses: arduino/setup-protoc@v3
+ with:
+ version: "27.4"
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+ - name: Upgrade pip
+ run: python -m pip install --upgrade pip
+
+ - name: Install maturin
+ run: pip install maturin==1.5.1
+ - name: Cargo Build
+ run: cd python && cargo build
+ - name: Build Python package
+ run: cd python && maturin build --release --sdist --out dist --strip
+
+ - name: Assert sdist build does not generate wheels
+ run: |
+ if [ "$(ls -A target/wheels)" ]; then
+ echo "Error: Sdist build generated wheels"
+ exit 1
+ else
+ echo "Directory is clean"
+ fi
+ shell: bash
+
+ merge-build-artifacts:
+ runs-on: ubuntu-latest
+ needs:
+ - build-python-mac-win
+ - build-macos-x86_64
+ - build-manylinux-x86_64
+ - build-manylinux-aarch64
+ - build-sdist
+ steps:
+ - name: Merge Build Artifacts
+ uses: actions/upload-artifact/merge@v4
+ with:
+ name: dist
+ pattern: dist-*
+
+ # NOTE: PyPI publish needs to be done manually for now after release passed
the vote
+ # release:
+ # name: Publish in PyPI
+ # needs: [build-manylinux, build-python-mac-win]
+ # runs-on: ubuntu-latest
+ # steps:
+ # - uses: actions/download-artifact@v4
+ # - name: Publish to PyPI
+ # uses: pypa/gh-action-pypi-publish@master
+ # with:
+ # user: __token__
+ # password: ${{ secrets.pypi_password }}
diff --git a/python/pyproject.toml b/python/pyproject.toml
index 2d06b225..cce88fd3 100644
--- a/python/pyproject.toml
+++ b/python/pyproject.toml
@@ -16,7 +16,7 @@
# under the License.
[build-system]
-requires = ["maturin>=0.15,<0.16"]
+requires = ["maturin>=1.5.1,<1.6.0"]
build-backend = "maturin"
[project]
@@ -24,7 +24,7 @@ name = "ballista"
description = "Python client for Apache Arrow Ballista Distributed SQL Query
Engine"
readme = "README.md"
license = {file = "LICENSE.txt"}
-requires-python = ">=3.6"
+requires-python = ">=3.7"
keywords = ["ballista", "sql", "rust", "distributed"]
classifier = [
"Development Status :: 2 - Pre-Alpha",
@@ -61,4 +61,4 @@ include = [
]
exclude = [".github/**", "ci/**", ".asf.yaml"]
# Require Cargo.lock is up to date
-locked = true
\ No newline at end of file
+locked = true
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]