Skip to content

Commit

Permalink
Update to Python 3.11 and refactor CI (#6)
Browse files Browse the repository at this point in the history
* Update to Python 3.11

* Bump minor version

* Fix version

* Update required version

* New action for building, testing and deploying

* Remove obsolete actions

* Install Rust toolchain in CI

* Exclude images from distribution

* Exclude tests from distribution

* Make Rust toolchain available for build

* Fix PATH

* Add test whether cargo is properly installed

* Fiy typo

* Remove usage of cibuildwheel

Due to the issue, that the build environment could not find Cargo

* Move 'python-source' to 'pyproject.toml'

* Fix maturin commands

* Update runners

* Use bash for commands

* Potential fix
  • Loading branch information
padix-key authored Feb 7, 2023
1 parent ed91932 commit 49b6dcc
Show file tree
Hide file tree
Showing 6 changed files with 102 additions and 143 deletions.
76 changes: 0 additions & 76 deletions .github/workflows/build.yml

This file was deleted.

60 changes: 0 additions & 60 deletions .github/workflows/test.yml

This file was deleted.

92 changes: 92 additions & 0 deletions .github/workflows/test_and_deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
name: "CI & CD"

on:
workflow_dispatch:
pull_request:
release:
types:
- published


jobs:
wheels:
name: "Build & test wheel"
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
py-version: ["3.9", "3.10", "3.11"]
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
with:
python-version: ${{ matrix.py-version }}
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Install dependencies
run: pip install "maturin>=0.14,<0.15" "oldest-supported-numpy" pytest
- name: Build wheel
run: maturin build --release -i python -o dist
- name: Install wheel
run: pip install .//dist//*.whl
- name: Test wheel
run: pytest --assert=plain
- uses: actions/upload-artifact@v3
with:
path: .//dist//*.whl


sdist:
name: Build & test source distribution
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
with:
python-version: "3.11"
- name: Install dependencies
run: pip install "maturin>=0.14,<0.15" pytest
- name: Build source distribution
run: maturin sdist -o dist
- name: Install source distribution
run: pip install .//dist//*.tar.gz
- name: Test source distribution
run: pytest --assert=plain
- uses: actions/upload-artifact@v3
with:
path: dist//*.tar.gz


upload:
name: Upload to GitHub Releases & PyPI
permissions:
contents: write
needs: [wheels, sdist]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v3
with:
name: artifact
path: dist
- name: List distributions to be uploaded
run: ls dist
- name: Upload to GitHub Releases
uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844
if: github.event_name == 'release' && github.event.action == 'published'
with:
files: dist//*
- name: Upload to PyPI
uses: pypa/gh-action-pypi-publish@c7f29f7adef1a245bd91520e94867e5c6eedddcc
if: github.event_name == 'release' && github.event.action == 'published'
with:
password: ${{ secrets.PYPI_TOKEN }}
5 changes: 1 addition & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
[package]
name = "fastpdb"
version = "1.0.1"
version = "1.1.0"
edition = "2018"

[package.metadata.maturin]
python-source = "python-src"

[dependencies]
numpy = "0.14"
ndarray = "0.15"
Expand Down
10 changes: 8 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "fastpdb"
version = "1.0.1"
version = "1.1.0"
description = "A high performance drop-in replacement for Biotite's PDBFile."
readme = "README.rst"
requires-python = ">=3.7"
Expand Down Expand Up @@ -31,7 +31,13 @@ dependencies = [
homepage = "https://github.com/biotite-dev/fastpdb"
repository = "https://github.com/biotite-dev/fastpdb"

[tool.maturin]
exclude = ["*.svg", "tests/"]
python-source = "python-src"

[build-system]
requires = ["maturin>=0.14,<0.15"]
requires = [
"maturin>=0.14,<0.15",
"oldest-supported-numpy"
]
build-backend = "maturin"
2 changes: 1 addition & 1 deletion python-src/fastpdb/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
__name__ = "fastpdb"
__author__ = "Patrick Kunzmann"
__all__ = ["PDBFile"]
__version__ = "1.0.1"
__version__ = "1.1.0"

import os
import numpy as np
Expand Down

0 comments on commit 49b6dcc

Please sign in to comment.