chore: deprecate python 3.7 and add 3.12 (#139)

master
Cameron 2023-11-01 15:58:18 +10:00 committed by GitHub
parent dbf3d30578
commit 71bf17c008
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 323 additions and 625 deletions

View File

@ -42,14 +42,14 @@ jobs:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.9]
include:
- os: ubuntu-latest
python-version: "3.12"
- os: ubuntu-latest
python-version: "3.11"
- os: ubuntu-latest
python-version: "3.10"
- os: ubuntu-latest
python-version: 3.8
- os: ubuntu-latest
python-version: 3.7
runs-on: "${{ matrix.os }}"
steps:
- name: Harden Runner
@ -66,6 +66,7 @@ jobs:
static.crates.io:443
index.crates.io:443
static.rust-lang.org:443
objects.githubusercontent.com:443
- uses: actions/checkout@61b9e3751b92087fd0b06925ba6dd6314e06f089
- uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 # 4.7.1

View File

@ -62,7 +62,7 @@ jobs:
strategy:
matrix:
target: [x64]
python-version: ['3.8', '3.9', '3.10', '3.11']
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
steps:
- name: Harden Runner
uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423
@ -91,7 +91,7 @@ jobs:
runs-on: macos-latest
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11']
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
steps:
- name: Harden Runner
uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423

View File

@ -1,109 +0,0 @@
os: linux
language: rust
stages:
- lint
- test
cache:
pip: true
cargo: true
before_cache:
- rm -rfv target/debug/incremental/{tantivy,build_script_build,common}-*
- rm -rfv target/debug/.fingerprint/tantivy-*
- rm -rfv target/debug/build/tantivy-*
- rm -rfv target/debug/deps/libtantivy-*
- rm -rfv target/debug/deps/tantivy-*
- rm -rfv target/debug/{tantivy,libtantivy}.d
env:
global:
- TRAVIS_RUST_VERSION=stable
- RUST_BACKTRACE=1
- secure: ZR/4EeOZBCa63aYIuSo36c2DsJoRpOUTQo3zcPzOJoxFxvCTYUJnyX8P38hktdcTcpgEm1ALDbsQDZNboJIP80OkLtWbaQNHgP6jFLqbENryyXYmPunbU9QQWOZaFhEJ+kgUun3kBLYoTW0iZFcJ0AHzjogOEenxKan4lFsZG9Wgku8Q0HX0zK8PPk6ZpMASUrmDAUbW/K6fVuxpix+VF6iPeK1IOxnDSn9CMBI6F1Tq46J/kWzMOWthVthjA0G0OiXi4eQN3ysP/o4bYpr1mifiHCssVKpfwmpqoDR3Nka9H39RN8xcn4X+0h5XA+jAVsD4qUfOcg2otkuZST/h0r1Q30/NrxWmxS6PtIImVlOAxotEkrRwt/DT0sXSRbApmyLApPDPKJ16mjm1miAZvXeJOwB1pT9SKqyxlh4+pPOnXUMYVH44XVCTF7C3zsgxMmv3frRbKfcedJAon4UIIZdE3guA83aadTk6HEXXefmAsxEyJDsA3NJJ8Wm5GkGvrFJZnI9X88eYLX0+H+NW/RHi0CCi6JfnsFjmDpXLRkdAxN8fRIaaDBmleir2AFFXYHAPdcM7z/B1HnTTJBbjeezFwb8JvFPZzxIOijxVfIVeoGcOwgpFzm2wHEi0AH4z2KtAzDQnhdhmle3Q4TrCt78e0iFJb1dANbdmhYpe/xI=
install:
- cargo build
script:
- python -m pytest -v
jobs:
include:
- os: linux
dist: bionic
language: python
python: 3.8
services:
- docker
before_install:
- pip install --upgrade pip
- pip install -U pytest
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable
- source "$HOME"/.cargo/env
before_script:
- cp target/debug/libtantivy.so tantivy/tantivy.so
- os: osx
osx_image: xcode11.3
before_install:
- pyenv install --list
- pyenv install 3.8.0
- ls /Users/travis/.pyenv/versions/3.8.0/bin
- pip3 install -U maturin pytest
- maturin list-python
before_script:
- cp target/debug/libtantivy.dylib tantivy/tantivy.so
script:
- python3 -m pytest -v
env: PATH=/Users/travis/.pyenv/versions/3.8.0/bin:$PATH
- os: windows
before_install:
- choco install python --version 3.8.0
- choco install python --version 3.7.5 --side-by-side
- python -m pip install --upgrade pip
- pip3 install -U maturin pytest
- maturin list-python
before_script:
- dir target/debug
- cp target/debug/tantivy.dll tantivy/tantivy.pyd
env: PATH=/c/Python38:/c/Python37:/c/Python38/Scripts:/c/Python37/Scripts:$PATH
- os: linux
dist: bionic
python: 3.8
name: 'rust linters'
install: rustup component add clippy rustfmt
script:
- python3 --version
- cargo clippy
- cargo fmt -- --check
stage: lint
deploy:
# Deploy for linux using the manylinux docker image.
- provider: script
script: "ci/deploy.sh"
on:
tags: true
python: 3.8
condition: $TRAVIS_OS_NAME = linux
repo: quickwit-inc/tantivy-py
# Deploy for macos using maturin directly
- provider: script
script: "ci/deploy_mac.sh"
on:
tags: true
condition: $TRAVIS_OS_NAME = osx
repo: quickwit-inc/tantivy-py
# Deploy for windows using maturin directly
- provider: script
script: maturin publish --username __token__ --password $MATURIN_PASSWORD --no-sdist
on:
tags: true
condition: $TRAVIS_OS_NAME = windows
repo: quickwit-inc/tantivy-py

816
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,7 @@ name = "tantivy"
crate-type = ["cdylib"]
[build-dependencies]
pyo3-build-config = "0.19.1"
pyo3-build-config = "0.20.0"
[dependencies]
base64 = "0.21"
@ -19,10 +19,10 @@ chrono = "0.4.23"
tantivy = "0.21.0"
itertools = "0.10.5"
futures = "0.3.26"
pythonize = "0.19.0"
pythonize = "0.20.0"
serde = "1.0"
serde_json = "1.0.91"
[dependencies.pyo3]
version = "0.19.1"
version = "0.20.0"
features = ["chrono", "extension-module"]

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash
maturin publish \
--interpreter python3.7 python3.8 \
--interpreter python3.8 \
--username __token__ \
--password "$MATURIN_PASSWORD" \
--no-sdist

View File

@ -1,7 +1,7 @@
import nox
@nox.session(python=["3.7", "3.8", "3.9", "3.10", "3.11"])
@nox.session(python=["3.8", "3.9", "3.10", "3.11", "3.12"])
def test(session):
session.install("-rrequirements-dev.txt")
session.install("-e", ".", "--no-build-isolation")

View File

@ -1,10 +1,10 @@
[build-system]
requires = ["maturin>=0.13,<0.14"]
requires = ["maturin<=1.3.1"]
build-backend = "maturin"
[project]
name = "tantivy"
requires-python = ">=3.7"
requires-python = ">=3.8"
[project.optional-dependencies]
dev = [