mirror of
https://github.com/visioncortex/vtracer.git
synced 2025-12-07 09:36:09 -08:00
* - Cargo.toml: add `crate-type = ["cdylib"] to [lib]; lacking this is what was causing the executable to be put in wheels - pyproject.toml: add "python-binding" to features for conditional compilation - main.rs: `cargo build` was failing for the vtracer executable; I think the previous import scheme had an implicit dependency on the library being built and called 'vtracer'. The other way to do this would have been to add an explicit dependency to the [[bin]], but making explicit imports here solves things directly * re-enable linux builds; features are defined in the pyproject.toml now rather than in the workflow arguments * And publish Linux, too!
122 lines
3.0 KiB
YAML
122 lines
3.0 KiB
YAML
# This file is autogenerated by maturin v1.2.3
|
|
# To update, run
|
|
#
|
|
# maturin generate-ci github
|
|
#
|
|
name: python
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- '*'
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
linux:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
target: [x86_64, x86, aarch64, armv7, s390x, ppc64le]
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.10'
|
|
- name: Build wheels
|
|
uses: PyO3/maturin-action@v1
|
|
with:
|
|
target: ${{ matrix.target }}
|
|
args: -m cmdapp/Cargo.toml --release --out dist --find-interpreter
|
|
sccache: 'true'
|
|
manylinux: auto
|
|
- name: Upload wheels
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: wheels
|
|
path: dist
|
|
|
|
windows:
|
|
runs-on: windows-latest
|
|
strategy:
|
|
matrix:
|
|
target: [x64, x86]
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.10'
|
|
architecture: ${{ matrix.target }}
|
|
- name: Build wheels
|
|
uses: PyO3/maturin-action@v1
|
|
with:
|
|
target: ${{ matrix.target }}
|
|
args: -m cmdapp/Cargo.toml --release --out dist --find-interpreter
|
|
sccache: 'true'
|
|
- name: Upload wheels
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: wheels
|
|
path: dist
|
|
|
|
macos:
|
|
runs-on: macos-latest
|
|
strategy:
|
|
matrix:
|
|
target: [x86_64, aarch64]
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.10'
|
|
- name: Build wheels
|
|
uses: PyO3/maturin-action@v1
|
|
with:
|
|
target: ${{ matrix.target }}
|
|
args: -m cmdapp/Cargo.toml --release --out dist --find-interpreter
|
|
sccache: 'true'
|
|
- name: Upload wheels
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: wheels
|
|
path: dist
|
|
|
|
sdist:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Build sdist
|
|
uses: PyO3/maturin-action@v1
|
|
with:
|
|
command: sdist
|
|
args: -m cmdapp/Cargo.toml --out dist
|
|
- name: Upload sdist
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: wheels
|
|
path: dist
|
|
|
|
release:
|
|
name: Release
|
|
runs-on: ubuntu-latest
|
|
# Specifying a GitHub environment is optional, but strongly encouraged
|
|
environment: python
|
|
permissions:
|
|
# IMPORTANT: this permission is mandatory for trusted publishing
|
|
id-token: write
|
|
if: "startsWith(github.ref, 'refs/tags/')"
|
|
needs: [windows, macos, sdist, linux]
|
|
steps:
|
|
- uses: actions/download-artifact@v3
|
|
with:
|
|
name: wheels
|
|
- name: Publish to PyPI
|
|
uses: PyO3/maturin-action@v1
|
|
with:
|
|
command: upload
|
|
args: --non-interactive --skip-existing *
|
|
# manylinux: auto
|