diff --git a/.github/workflows/lemur-publish-release-pypi.yml b/.github/workflows/lemur-publish-release-pypi.yml index 92f604cceb..fb6c0c473a 100644 --- a/.github/workflows/lemur-publish-release-pypi.yml +++ b/.github/workflows/lemur-publish-release-pypi.yml @@ -1,5 +1,5 @@ -# 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 +# This workflow will upload a Python Package to PyPI when a Lemur release is created via github +# For more information see: https://github.com/marketplace/actions/pypi-publish name: Publish Lemur's latest package to PyPI @@ -8,34 +8,51 @@ on: types: [created] jobs: - deploy: - + build: + name: Build distribution runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 - 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__ =.*' - 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/* + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + 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__ =.*' + 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 + - name: Build package + run: | + python setup.py sdist bdist_wheel + - name: Store the distribution packages + uses: actions/upload-artifact@v3 + with: + name: python-package-distributions + path: dist/ + pypi-publish: + name: upload release to PyPI + runs-on: ubuntu-latest + environment: + name: release + url: https://pypi.org/p/lemur + permissions: + # https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-pypi + id-token: write + steps: + - name: Download all the dists + uses: actions/download-artifact@v3 + with: + name: python-package-distributions + path: dist/ + - name: Publish package distributions to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/CHANGELOG.rst b/CHANGELOG.rst index b99ec49a21..7ef1ca8a76 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,6 +4,11 @@ Changelog Unreleased ~~~~~~~~~~~~~~~~~~~~ +1.8.1 - `2024-05-20` +~~~~~~~~~~~~~~~~~~~~ + +Updated deployment workflow to use `pypa/gh-action-pypi-publish`. + 1.8.0 - `2024-05-20` ~~~~~~~~~~~~~~~~~~~~