diff --git a/.github/publish_to_pypi.yaml b/.github/publish_to_pypi.yaml deleted file mode 100644 index ee88400e..00000000 --- a/.github/publish_to_pypi.yaml +++ /dev/null @@ -1,43 +0,0 @@ -name: Build and publish Python distributions to PyPI -on: - push: - # !! TEMPORARILY DISABLE THIS WORKFLOW / ACTION !! - branches-ignore: - - '**' - # branches: - # - "main" - -jobs: - build-publish: - name: Build and publish Python distributions to PyPI - runs-on: ubuntu-latest - steps: - - name: git checkout repository main - uses: actions/checkout@v3 - - - name: check github reference for tags - run: | - echo "github.ref = ${{ github.ref }}, github.ref_type = ${{ github.ref_type }}" - echo "github.repository = ${{ github.repository }}, github.event_name = ${{ github.event_name }} " - - - name: Set up Python 3.10 - uses: actions/setup-python@v3 - with: - python-version: "3.10" - - - name: Install pypa/build - run: python -m pip install build --user - - - name: Build a binary wheel and a source tarball - run: python -m build --sdist --wheel --outdir dist/ . - - # - name: Publish distribution to Test PyPI - # uses: pypa/gh-action-pypi-publish@master - # with: - # password: ${{ secrets.TEST_PYPI_API_TOKEN }} - # repository_url: https://test.pypi.org/legacy/ - - - name: Publish distribution to PyPI - uses: pypa/gh-action-pypi-publish@master - with: - password: ${{ secrets.PYPI_API_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/publish_to_pypi.yaml b/.github/workflows/publish_to_pypi.yaml new file mode 100644 index 00000000..689ece4c --- /dev/null +++ b/.github/workflows/publish_to_pypi.yaml @@ -0,0 +1,73 @@ +name: Build and publish Python distributions to PyPI +on: + release: + types: [published] + +jobs: + + build_wheels: + name: Build wheels on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macOS-latest] + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-python@v3 + with: + python-version: 3.11 + + - name: Build wheels + uses: pypa/cibuildwheel@v2.16.2 + env: + # Skip CPython 3.6, 3.7, 3.8, 3.12 + CIBW_SKIP: cp36-* cp37-* cp38-* cp312-* pp* + + - uses: actions/upload-artifact@v3 + with: + path: ./wheelhouse/*.whl + + make_sdist: + name: Make SDist + runs-on: ubuntu-latest + steps: + - name: git checkout repository main + uses: actions/checkout@v3 + + - name: check github reference for tags + run: | + echo "github.ref = ${{ github.ref }}, github.ref_type = ${{ github.ref_type }}" + echo "github.repository = ${{ github.repository }}, github.event_name = ${{ github.event_name }} " + + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + + - name: Install pypa/build + run: python -m pip install build --user + + - name: Build a source tarball + run: python -m build --sdist --outdir dist/ . + + - uses: actions/upload-artifact@v3 + with: + path: ./dist/*.tar.gz + + pypi-publish: + needs: ['build_wheels, make_sdist'] + environment: 'publish' + + name: upload release to PyPI + runs-on: ubuntu-latest + permissions: + # IMPORTANT: this permission is mandatory for trusted publishing + id-token: write + steps: + - uses: actions/download-artifact@v3 + + - name: Publish package distributions to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + packages_dir: artifact/