+# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
+#
+# SPDX-License-Identifier: Unlicense
name: Release Actions
on:
upload-pypi:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
- - name: Check For setup.py
+ - uses: actions/checkout@v3
+ - name: Check For pyproject.toml
id: need-pypi
run: |
- echo ::set-output name=setup-py::$( find . -wholename './setup.py' )
+ echo "pyproject-toml=$( find . -wholename './pyproject.toml' )" >> $GITHUB_OUTPUT
- name: Set up Python
- if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
- uses: actions/setup-python@v1
+ if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
+ uses: actions/setup-python@v4
with:
- python-version: '3.x'
+ python-version: '3.11'
- name: Install dependencies
- if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
+ if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
run: |
python -m pip install --upgrade pip
- pip install setuptools wheel twine
+ pip install --upgrade build twine
- name: Build and publish
- if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
+ if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
env:
TWINE_USERNAME: ${{ secrets.pypi_username }}
TWINE_PASSWORD: ${{ secrets.pypi_password }}
run: |
- python setup.py sdist
+ for file in $(find -not -path "./.*" -not -path "./docs*" \( -name "*.py" -o -name "*.toml" \) ); do
+ sed -i -e "s/0.0.0+auto.0/${{github.event.release.tag_name}}/" $file;
+ done;
+ python -m build
twine upload dist/*