shapers 0.3.0

A library for fitting shapes and operations on geometrical objects
# This file is autogenerated by maturin v1.7.0
# To update, run
#
#    maturin generate-ci github
#
name: CI

on:
  # push:
  #   branches:
  #     - main
  #   tags:
  #     - '*'
  release:
    types: [published]
  # pull_request:
  # workflow_dispatch:


permissions:
  contents: read

jobs:
  linux:
    runs-on: ${{ matrix.platform.runner }}
    strategy:
      matrix:
        platform:
          - runner: ubuntu-latest
            target: x86_64
          # - runner: ubuntu-latest
          #   target: x86
          #   compiler: gcc
          #   gcc: 7
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: 3.x
      - name: Build wheels
        uses: PyO3/maturin-action@v1
        with:
          target: ${{ matrix.platform.target }}
          args: --release --out dist --find-interpreter
          sccache: 'true'
          manylinux: auto
          before-script-linux: |
            echo `as --version`
            case "${{ matrix.platform.target }}" in
              "aarch64" | "armv7" | "s390x" | "ppc64le")
                sudo apt-get update
                sudo apt-get install -y pkg-config libssl-dev liblapack-dev libblas-dev libopenblas-dev
                ;;
              "x86" | "x86_64")
                yum update -y
                if [ "${{ matrix.platform.target }}" == "x86" ]; then
                  # yum install -y https://archives.fedoraproject.org/pub/archive/epel/6/i386/epel-release-6-8.noarch.rpm
                  # yum repolist
                  # yum install -y openssl openssl-devel perl-IPC-Cmd lapack-devel blas-devel openblas-devel
                  yum install -y openssl openssl-devel perl-IPC-Cmd # lapack-devel blas-devel openblas-devel
                else
                  yum install -y openssl openssl-devel perl-IPC-Cmd # lapack-devel blas-devel openblas-devel
                fi
                ;;
            esac
      - name: Upload wheels
        uses: actions/upload-artifact@v4
        with:
          name: wheels-linux-${{ matrix.platform.target }}
          path: dist

  musllinux:
    runs-on: ${{ matrix.platform.runner }}
    strategy:
      matrix:
        platform:
          - runner: ubuntu-latest
            target: x86_64
          # - runner: ubuntu-latest
          #   target: x86
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: 3.x
      - name: Build wheels
        uses: PyO3/maturin-action@v1
        with:
          target: ${{ matrix.platform.target }}
          args: --release --out dist --find-interpreter
          sccache: 'true'
          manylinux: musllinux_1_2
          before-script-linux: |
            sudo apt update
            sudo apt install -y pkg-config libssl-dev gfortran
      - name: Upload wheels
        uses: actions/upload-artifact@v4
        with:
          name: wheels-musllinux-${{ matrix.platform.target }}
          path: dist

  # windows:
  #   runs-on: ${{ matrix.platform.runner }}
  #   strategy:
  #     matrix:
  #       platform:
  #         - runner: windows-latest
  #           target: x64
  #         - runner: windows-latest
  #           target: x86
  #   steps:
  #     - uses: actions/checkout@v4
  #     - uses: actions/setup-python@v5
  #       with:
  #         python-version: 3.x
  #         architecture: ${{ matrix.platform.target }}
  #     - name: Build wheels
  #       uses: PyO3/maturin-action@v1
  #       with:
  #         target: ${{ matrix.platform.target }}
  #         args: --release --out dist --find-interpreter
  #         sccache: 'true'
  #     - name: Upload wheels
  #       uses: actions/upload-artifact@v4
  #       with:
  #         name: wheels-windows-${{ matrix.platform.target }}
  #         path: dist

  macos:
    runs-on: ${{ matrix.platform.runner }}
    strategy:
      matrix:
        platform:
          - runner: macos-12
            target: x86_64
          - runner: macos-14
            target: aarch64
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: 3.x
      - name: Build wheels
        uses: PyO3/maturin-action@v1
        with:
          target: ${{ matrix.platform.target }}
          args: --release --out dist --find-interpreter
          sccache: 'true'
      - name: Upload wheels
        uses: actions/upload-artifact@v4
        with:
          name: wheels-macos-${{ matrix.platform.target }}
          path: dist

  release:
    name: Release
    runs-on: ubuntu-latest
    if: "startsWith(github.ref, 'refs/tags/')"
    needs: [linux, musllinux, macos]
    steps:
      - uses: actions/download-artifact@v4
      - name: Publish to PyPI
        uses: PyO3/maturin-action@v1
        env:
          MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
        with:
          command: upload
          args: --non-interactive --skip-existing wheels-*/*