From 97ddfcdfb9df82de762497a446462540b76e88f6 Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Wed, 25 Mar 2026 09:33:39 +0530 Subject: [PATCH 1/2] simplify release workflow. --- .github/workflows/pypi_publish.yaml | 76 +++++++++++++---------------- 1 file changed, 33 insertions(+), 43 deletions(-) diff --git a/.github/workflows/pypi_publish.yaml b/.github/workflows/pypi_publish.yaml index 99cbcc1fade2..54db1618d935 100644 --- a/.github/workflows/pypi_publish.yaml +++ b/.github/workflows/pypi_publish.yaml @@ -1,73 +1,45 @@ -# Adapted from https://blog.deepjyoti30.dev/pypi-release-github-action - name: PyPI release on: workflow_dispatch: push: tags: - - "*" + - "v*" jobs: - find-and-checkout-latest-branch: + build-and-test: runs-on: ubuntu-22.04 - outputs: - latest_branch: ${{ steps.set_latest_branch.outputs.latest_branch }} steps: - - name: Checkout Repo + - name: Checkout repo uses: actions/checkout@v6 - name: Set up Python uses: actions/setup-python@v6 with: - python-version: '3.10' + python-version: "3.10" - - name: Fetch latest branch - id: fetch_latest_branch + - name: Fetch and checkout latest release branch run: | pip install -U requests packaging LATEST_BRANCH=$(python utils/fetch_latest_release_branch.py) echo "Latest branch: $LATEST_BRANCH" - echo "latest_branch=$LATEST_BRANCH" >> $GITHUB_ENV - - - name: Set latest branch output - id: set_latest_branch - run: echo "::set-output name=latest_branch::${{ env.latest_branch }}" - - release: - needs: find-and-checkout-latest-branch - runs-on: ubuntu-22.04 - - steps: - - name: Checkout Repo - uses: actions/checkout@v6 - with: - ref: ${{ needs.find-and-checkout-latest-branch.outputs.latest_branch }} - - - name: Setup Python - uses: actions/setup-python@v6 - with: - python-version: "3.10" + git fetch origin "$LATEST_BRANCH" + git checkout "$LATEST_BRANCH" - - name: Install dependencies + - name: Install build dependencies run: | python -m pip install --upgrade pip - pip install -U setuptools wheel twine + pip install -U setuptools wheel pip install -U torch --index-url https://download.pytorch.org/whl/cpu - name: Build the dist files run: python setup.py bdist_wheel && python setup.py sdist - - name: Publish to the test PyPI - env: - TWINE_USERNAME: ${{ secrets.TEST_PYPI_USERNAME }} - TWINE_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }} - run: twine upload dist/* -r pypitest --repository-url=https://test.pypi.org/legacy/ + - name: Install from built wheel + run: pip install dist/*.whl - name: Test installing diffusers and importing run: | - pip install diffusers && pip uninstall diffusers -y - pip install -i https://test.pypi.org/simple/ diffusers pip install -U transformers python utils/print_env.py python -c "from diffusers import __version__; print(__version__)" @@ -75,8 +47,26 @@ jobs: python -c "from diffusers import DiffusionPipeline; pipe = DiffusionPipeline.from_pretrained('hf-internal-testing/tiny-stable-diffusion-pipe', safety_checker=None); pipe('ah suh du')" python -c "from diffusers import *" + - name: Upload build artifacts + uses: actions/upload-artifact@v4 + with: + name: python-dist + path: dist/ + + publish-to-pypi: + needs: build-and-test + if: startsWith(github.ref, 'refs/tags/') + runs-on: ubuntu-22.04 + environment: pypi-release + permissions: + id-token: write + + steps: + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: python-dist + path: dist/ + - name: Publish to PyPI - env: - TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} - TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} - run: twine upload dist/* -r pypi + uses: pypa/gh-action-pypi-publish@release/v1 From 6194eac5dcba07397895ea3bfd47b641957cb0e4 Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Wed, 25 Mar 2026 10:40:34 +0530 Subject: [PATCH 2/2] up --- .github/workflows/pypi_publish.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pypi_publish.yaml b/.github/workflows/pypi_publish.yaml index 54db1618d935..8bbd11c74ab0 100644 --- a/.github/workflows/pypi_publish.yaml +++ b/.github/workflows/pypi_publish.yaml @@ -29,11 +29,11 @@ jobs: - name: Install build dependencies run: | python -m pip install --upgrade pip - pip install -U setuptools wheel + pip install -U build pip install -U torch --index-url https://download.pytorch.org/whl/cpu - name: Build the dist files - run: python setup.py bdist_wheel && python setup.py sdist + run: python -m build - name: Install from built wheel run: pip install dist/*.whl