ruckig 0.17.3

Instantaneous Motion Generation for Robots and Machines.
Documentation
name: CD

on:
  workflow_dispatch:
  release:
    types: [released]

jobs:
  build-python-wheels:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]

    steps:
    - uses: actions/checkout@v6

    - name: Build wheels
      uses: pypa/cibuildwheel@v3.4.0

    - uses: actions/upload-artifact@v4
      with:
        name: wheels-${{ matrix.os }}-${{ strategy.job-index }}
        path: ./wheelhouse/*.whl


  make-python-source-dist:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v6

    - name: Build SDist
      run: pipx run build --sdist

    - uses: actions/upload-artifact@v6
      with:
        path: dist/*.tar.gz


  upload-pypi:
    needs: [build-python-wheels, make-python-source-dist]
    runs-on: ubuntu-latest
    permissions:
      id-token: write

    steps:
    - uses: actions/download-artifact@v6
      with:
        name: artifact
        path: dist

    - name: Upload to PyPI
      uses: pypa/gh-action-pypi-publish@release/v1


  upload-cargo:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v6

    - name: Upload to Cargo
      run: cargo publish
      env:
        CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_TOKEN }}