kornia-rs 0.1.3

Low-level computer vision library in Rust
Documentation
name: Python Release

on:
  workflow_dispatch:

# env:
#   REGISTRY: ghcr.io
#   IMAGE_NAME: ${{ github.repository }}

jobs:
  linux:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
        target: [x86_64, aarch64]

    steps:
      - uses: ilammy/setup-nasm@v1
      - uses: actions/checkout@v4
      - uses: messense/maturin-action@v1
        with:
          target: ${{ matrix.target }}
          manylinux: auto
          command: build
          args: --release --out dist -i python${{ matrix.python-version }} -m kornia-py/Cargo.toml --sdist
      - name: Upload wheels
        uses: actions/upload-artifact@v2
        with:
          name: wheels
          path: dist

  macos:
    runs-on: macos-latest
    strategy:
      matrix:
        python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
        target: [x86_64, aarch64]
    steps:
      - uses: ilammy/setup-nasm@v1
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: ${{ matrix.python-version }}
          architecture: x64
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          target: ${{ matrix.target }}-apple-darwin
          override: true
      - uses: messense/maturin-action@v1
        with:
          command: build
          maturin-version: latest
          args: --release --target ${{ matrix.target }}-apple-darwin --out dist -i python${{ matrix.python-version }} -m kornia-py/Cargo.toml --sdist
      - name: Upload wheels
        uses: actions/upload-artifact@v2
        with:
          name: wheels
          path: dist

  windows:
    runs-on: windows-latest
    strategy:
      matrix:
        python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
        target: [x64, x86]
    steps:
      - uses: ilammy/setup-nasm@v1
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: ${{ matrix.python-version }}
          architecture: ${{ matrix.target }}
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
      - uses: messense/maturin-action@v1
        with:
          command: build
          maturin-version: latest
          args: --release --out dist -i python${{ matrix.python-version }} -m kornia-py/Cargo.toml --sdist
      - name: Upload wheels
        uses: actions/upload-artifact@v2
        with:
          name: wheels
          path: dist

  release:
    name: Release
    runs-on: ubuntu-latest
    needs: [macos, windows, linux]
    steps:
      - uses: actions/download-artifact@v2
        with:
          name: wheels
      - uses: actions/setup-python@v2
        with:
          python-version: 3.9
      - name: Publish to PyPi
        env:
          MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_PASSWORD }}
        uses: messense/maturin-action@v1
        with:
          command: upload
          args: --skip-existing *