Skip to content

Bump dependencies

Bump dependencies #131

Workflow file for this run

name: release
on:
push:
tags:
- v*.*.*
env:
PY_ALL: 3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11
jobs:
sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: pyo3/maturin-action@v1
with:
rust-toolchain: stable
command: sdist
args: --out dist
- name: Upload sdist
uses: actions/upload-artifact@v7
with:
name: dist-sdist
path: dist
wheels:
name: wheel ${{ matrix.platform || matrix.os }}(${{ matrix.target }}) - ${{ matrix.manylinux || 'auto' }} - ${{ matrix.allocator || 'auto' }}
strategy:
fail-fast: false
matrix:
os: [ubuntu, macos]
target: [x86_64, aarch64]
manylinux: [auto]
allocator: [jemalloc]
include:
- os: ubuntu
platform: linux
target: x86_64
interpreter: 3.10 3.11 3.12 3.13 3.14 pypy3.11
- os: ubuntu
platform: linux
target: x86_64
interpreter: 3.13t 3.14t
allocator: mimalloc
- os: ubuntu
platform: linux
target: i686
interpreter: 3.10 3.11 3.12 3.13 3.14
allocator: jemalloc
- os: ubuntu
platform: linux
target: i686
interpreter: 3.13t 3.14t
allocator: mimalloc
- os: ubuntu
platform: linux
target: aarch64
# rust-cross/manylinux2014-cross:aarch64 has issues with `ring`
container: ghcr.io/rust-cross/manylinux_2_28-cross:aarch64
interpreter: 3.10 3.11 3.12 3.13 3.14 pypy3.11
- os: ubuntu
platform: linux
target: aarch64
# rust-cross/manylinux2014-cross:aarch64 has issues with `ring`
container: ghcr.io/rust-cross/manylinux_2_28-cross:aarch64
interpreter: 3.13t 3.14t
allocator: mimalloc
- os: ubuntu
platform: linux
target: armv7
interpreter: 3.10 3.11 3.12 3.13 3.13t 3.14 3.14t
allocator: jemalloc
- os: ubuntu
platform: linux
target: x86_64
manylinux: musllinux_1_1
allocator: mimalloc
- os: ubuntu
platform: linux
target: aarch64
manylinux: musllinux_1_1
allocator: mimalloc
- os: ubuntu
platform: linux
target: armv7
manylinux: musllinux_1_1
allocator: mimalloc
- os: macos
target: x86_64
interpreter: 3.10 3.11 3.12 3.13 3.14 pypy3.11
- os: macos
target: x86_64
interpreter: 3.13t 3.14t
allocator: mimalloc
- os: macos
target: aarch64
interpreter: 3.10 3.11 3.12 3.13 3.14 pypy3.11
- os: macos
target: aarch64
interpreter: 3.13t 3.14t
allocator: mimalloc
- os: windows
target: x86_64
interpreter: 3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11
allocator: mimalloc
runs-on: ${{ matrix.os }}-latest
steps:
- uses: actions/checkout@v6
- name: Set jemalloc for aarch64 Linux
if: matrix.target == 'aarch64' && matrix.os == 'ubuntu'
run: |
echo "JEMALLOC_SYS_WITH_LG_PAGE=16" >> $GITHUB_ENV
- uses: pyo3/maturin-action@v1
with:
rust-toolchain: stable
command: build
args: --release --out dist --features ${{ matrix.allocator }} --interpreter ${{ matrix.interpreter || env.PY_ALL }}
target: ${{ matrix.target }}
manylinux: ${{ matrix.manylinux || 'auto' }}
container: ${{ matrix.container }}
docker-options: -e CI
- name: Upload wheels
uses: actions/upload-artifact@v7
with:
name: dist-${{ matrix.platform || matrix.os }}-${{ matrix.target }}-${{ matrix.manylinux || 'auto' }}-${{ matrix.allocator || 'auto' }}
path: dist
release:
runs-on: ubuntu-latest
needs: [ sdist, wheels ]
environment:
name: pypi
url: https://pypi.org/p/granian
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v8
with:
pattern: dist-*
merge-multiple: true
path: dist
- name: Publish package to pypi
uses: pypa/gh-action-pypi-publish@release/v1
with:
skip-existing: true
# FIXME: they broke something recently
attestations: false