cvxgrp / scs

Splitting Conic Solver
MIT License
553 stars 136 forks source link

Release wheel for scs #190

Closed thomasfrederikhoeck closed 2 years ago

thomasfrederikhoeck commented 2 years ago

Please read this first

Thank you for a great package. It would be very convenient if wheels were released along side the source code on pip. I think it should be pretty straight forward given that you use Github Actions by using cibuildwheel( https://github.com/pypa/cibuildwheel ) :-)

bodono commented 2 years ago

Yes, it would be great to have this. We have a start here. If you have any time or experience with this I would love the help and would gladly accept a PR!

thomasfrederikhoeck commented 2 years ago

I can see that you already build quite a few of the wheels (https://github.com/bodono/scs-python/actions/runs/1325828532). So as I see it you need to create the sdist and then add an upload to pypi job- I won't have time to do a PR on this side of the holidays @bodono but if you use the following (stealing from https://github.com/pypa/cibuildwheel/blob/main/examples/github-deploy.yml) I think you are good to go:

build_sdist:
    name: Build source distribution
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

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

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

  upload_pypi:
    needs: [build_wheels, ,build_wheels_windows, build_sdist]
    runs-on: ubuntu-latest
    # upload to PyPI on every tag starting with 'v'
    if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v')
    # alternatively, to publish when a GitHub Release is created, use the following rule:
    # if: github.event_name == 'release' && github.event.action == 'published'
    steps:
      - uses: actions/download-artifact@v2
        with:
          name: artifact
          path: dist

      - uses: pypa/gh-action-pypi-publish@v1.4.2
        with:
          user: __token__
          password: ${{ secrets.pypi_password }}
          # To test: repository_url: https://test.pypi.org/legacy/
bodono commented 2 years ago

Closed via https://github.com/bodono/scs-python/pull/56.