# This workflow will upload a Python Package using Twine when a Lemur release is created via github # For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries name: Publish Lemur's latest package to PyPI on: release: types: [created] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v2 with: python-version: '3.x' - name: Autobump version run: | # from refs/tags/v0.8.1 get 0.8.1 VERSION=$(echo $GITHUB_REF | sed 's#.*/v##') PLACEHOLDER='__version__ = "develop"' VERSION_FILE='lemur/__about__.py' # in case placeholder is missing, exists with code 1 and github actions aborts the build grep "$PLACEHOLDER" "$VERSION_FILE" sed -i "s/$PLACEHOLDER/__version__ = \"${VERSION}\"/g" "$VERSION_FILE" shell: bash - name: Install dependencies run: | python -m pip install --upgrade pip pip install setuptools wheel twine - name: Build and publish env: TWINE_USERNAME: ${{ secrets.LEMUR_PYPI_API_USERNAME }} TWINE_PASSWORD: ${{ secrets.LEMUR_PYPI_API_TOKEN }} run: | python setup.py sdist bdist_wheel twine upload dist/*