Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
publish to pypi
Browse files Browse the repository at this point in the history
kevinjqliu committed Jul 15, 2024
1 parent e27cd90 commit 801b127
Showing 2 changed files with 87 additions and 1 deletion.
86 changes: 86 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Upload Python Package to PyPI when a Release is Created

on:
release:
types: [created]

jobs:
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-22.04, windows-2022, macos-11, macos-12, macos-13, macos-14 ]

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install poetry
run: pip install poetry

# - name: Set version
# run: python -m poetry version "${{ inputs.version }}"
# if: "${{ github.event.inputs.version != 'main' }}"

# Publish the source distribution with the version that's in
# the repository, otherwise the tests will fail
- name: Compile source distribution
run: python3 -m poetry build --format=sdist
if: startsWith(matrix.os, 'ubuntu')

- name: Build wheels
uses: pypa/[email protected]
with:
output-dir: wheelhouse
config-file: "pyproject.toml"
env:
# Ignore 32 bit architectures
CIBW_ARCHS: "auto64"
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.8,<3.12"
CIBW_TEST_REQUIRES: "pytest==7.4.2 moto==5.0.1"
CIBW_TEST_EXTRAS: "s3fs,glue"
CIBW_TEST_COMMAND: "pytest {project}/tests/avro/test_decoder.py"
# There is an upstream issue with installing on MacOSX
# https://github.com/pypa/cibuildwheel/issues/1603
# Ignore tests for pypy since not all dependencies are compiled for it
# and would require a local rust build chain
CIBW_TEST_SKIP: "pp* *macosx*"

- name: Add source distribution
if: startsWith(matrix.os, 'ubuntu')
run: ls -lah dist/* && cp dist/* wheelhouse/

- uses: actions/upload-artifact@v3
with:
name: "release-${{ github.event.inputs.version }}"
path: ./wheelhouse/*

pypi-publish:
name: Publish release to PyPI
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/pyiceberg-kevinliu
permissions:
id-token: write
steps:
# - uses: actions/checkout@v4
# - name: Set up Python
# uses: actions/setup-python@v4
# with:
# python-version: "3.x"
# - name: Install dependencies
# run: |
# python -m pip install --upgrade pip
# pip install setuptools wheel
# - name: Build package
# run: |
# python setup.py sdist bdist_wheel # Could also be python -m build
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
[tool.poetry]
name = "pyiceberg"
name = "pyiceberg-kevinliu"
version = "0.6.1"
readme = "README.md"
homepage = "https://py.iceberg.apache.org/"

0 comments on commit 801b127

Please sign in to comment.