Skip to content

chore: bump ggsql crate to 0.3.3 and Python package to 0.3.3 #3

chore: bump ggsql crate to 0.3.3 and Python package to 0.3.3

chore: bump ggsql crate to 0.3.3 and Python package to 0.3.3 #3

Workflow file for this run

name: Python Release
on:
push:
tags:
- "py/v*"
workflow_dispatch:
permissions:
contents: read
env:
# Must match the abi3-py3XX feature in Cargo.toml.
# abi3 wheels built against 3.10 are forward-compatible with all later
# Python versions, so this should be the minimum supported version.
PYTHON_VERSION: "3.10"
jobs:
linux:
runs-on: ubuntu-latest
strategy:
matrix:
target: [x86_64, aarch64]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --interpreter python${{ env.PYTHON_VERSION }}
# manylinux2014's cross-compiler is too old for the `ring` crate's
# aarch64 assembly (missing __ARM_ARCH). 2_28 (AlmaLinux 8, gcc 8+)
# provides a new enough toolchain.
manylinux: 2_28
- uses: actions/upload-artifact@v4
with:
name: wheels-linux-${{ matrix.target }}
path: dist
macos:
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- target: x86_64
runner: macos-latest
- target: aarch64
runner: macos-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --interpreter python${{ env.PYTHON_VERSION }}
- uses: actions/upload-artifact@v4
with:
name: wheels-macos-${{ matrix.target }}
path: dist
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: x64
args: --release --out dist --interpreter python${{ env.PYTHON_VERSION }}
- uses: actions/upload-artifact@v4
with:
name: wheels-windows-x64
path: dist
sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist
- uses: actions/upload-artifact@v4
with:
name: wheels-sdist
path: dist
publish:
needs: [linux, macos, windows, sdist]
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
environment: pypi
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v4
with:
pattern: wheels-*
merge-multiple: true
path: dist
- name: List wheels
run: ls -lh dist/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
github-release:
needs: publish
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
permissions:
contents: write
steps:
- uses: actions/download-artifact@v4
with:
pattern: wheels-*
merge-multiple: true
path: dist
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
files: dist/*