From 45cfdff8b1ff0c9d5d8989798cf4570146628f8c Mon Sep 17 00:00:00 2001 From: Gerrod Date: Wed, 19 Nov 2025 16:19:35 -0500 Subject: [PATCH 1/5] Merge pull request #1023 from gerrod3/fixt-pep-updates Update large fixtures count (cherry picked from commit c7cfdde34b5dfcb855530144da4b1ac3ee0ba176) --- pulp_python/tests/functional/constants.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pulp_python/tests/functional/constants.py b/pulp_python/tests/functional/constants.py index b04b79ac..df943222 100644 --- a/pulp_python/tests/functional/constants.py +++ b/pulp_python/tests/functional/constants.py @@ -143,19 +143,23 @@ PYTHON_LG_PROJECT_SPECIFIER = [ "aiohttp", # matches 7 "celery", # matches 13 + "crane", # matches 0 "Django", # matches 31 + "pulp-2to3-migration", # matches 2 + "pytz", # matches 6 "scipy", # matches 23 "setuptools", # matches 2 "shelf-reader", # matches 2 + "twine", # matches 14 ] -PYTHON_LG_PACKAGE_COUNT = 78 +PYTHON_LG_PACKAGE_COUNT = 108 PYTHON_LG_FIXTURE_SUMMARY = {PYTHON_CONTENT_NAME: PYTHON_LG_PACKAGE_COUNT} PYTHON_LG_FIXTURE_PRERELEASES_SUMMARY = {PYTHON_CONTENT_NAME: 92} PYTHON_LG_FIXTURE_COUNTS = { - "latest_3": 37, - "sdist": 24, - "bdist_wheel": 54, - "multi": 26, # keep_latest=1, package_types="bdist_wheel", prereleases=False + "latest_3": 59, + "sdist": 36, + "bdist_wheel": 72, + "multi": 36, # keep_latest=1, package_types="bdist_wheel", prereleases=False } DJANGO_LATEST_3 = 4 # latest version has 2 dists, each other has 1 From 758a7883e9bea3e06c2df1e744bfc1e16939b460 Mon Sep 17 00:00:00 2001 From: Gerrod Ubben Date: Wed, 19 Nov 2025 16:38:10 -0500 Subject: [PATCH 2/5] Fix pip install test --- pulp_python/tests/functional/api/test_consume_content.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pulp_python/tests/functional/api/test_consume_content.py b/pulp_python/tests/functional/api/test_consume_content.py index dca40728..a46358be 100644 --- a/pulp_python/tests/functional/api/test_consume_content.py +++ b/pulp_python/tests/functional/api/test_consume_content.py @@ -122,6 +122,7 @@ def install(cli_client, package, host=PYPI_URL): "pip", "install", "--no-deps", + "--no-build-isolation", "--trusted-host", urlsplit(host).hostname, "--trusted-host", From 947c1818d929f4578974c773e877f5c449743c50 Mon Sep 17 00:00:00 2001 From: Gerrod Ubben Date: Wed, 19 Nov 2025 16:44:46 -0500 Subject: [PATCH 3/5] Apply plugin template --- .github/workflows/publish.yml | 88 ++++++------------- .../workflows/scripts/publish_client_gem.sh | 28 ------ .../workflows/scripts/publish_client_pypi.sh | 26 ------ .../workflows/scripts/publish_plugin_pypi.sh | 26 ------ 4 files changed, 27 insertions(+), 141 deletions(-) delete mode 100755 .github/workflows/scripts/publish_client_gem.sh delete mode 100755 .github/workflows/scripts/publish_client_pypi.sh delete mode 100755 .github/workflows/scripts/publish_plugin_pypi.sh diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 018013ad..525144fa 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -23,47 +23,28 @@ jobs: runs-on: "ubuntu-latest" needs: - "build" - - env: - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + environment: + name: "pypi" + url: "https://pypi.org/p/pulp-python" + permissions: + id-token: "write" steps: - - uses: "actions/checkout@v4" - with: - fetch-depth: 1 - path: "pulp_python" - - uses: "actions/download-artifact@v4" with: name: "plugin_package" - path: "pulp_python/dist/" + path: "dist/" - - uses: "actions/setup-python@v5" - with: - python-version: "3.11" - - - name: "Install python dependencies" - run: | - echo ::group::PYDEPS - pip install twine - echo ::endgroup:: - - - name: "Setting secrets" - run: | - python3 .github/workflows/scripts/secrets.py "$SECRETS_CONTEXT" - env: - SECRETS_CONTEXT: "${{ toJson(secrets) }}" - - - name: "Deploy plugin to pypi" - run: | - .github/workflows/scripts/publish_plugin_pypi.sh ${{ github.ref_name }} + - name: "Publish package to PyPI" + uses: pypa/gh-action-pypi-publish@release/v1 publish-python-bindings: runs-on: "ubuntu-latest" needs: - "build" - - env: - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + environment: + name: "pypi" + permissions: + id-token: "write" steps: - uses: "actions/checkout@v4" @@ -81,32 +62,18 @@ jobs: run: | tar -xvf python-python-client.tar - - uses: "actions/setup-python@v5" - with: - python-version: "3.11" - - - name: "Install python dependencies" - run: | - echo ::group::PYDEPS - pip install twine - echo ::endgroup:: - - - name: "Setting secrets" - run: | - python3 .github/workflows/scripts/secrets.py "$SECRETS_CONTEXT" - env: - SECRETS_CONTEXT: "${{ toJson(secrets) }}" - - name: "Publish client to pypi" - run: | - bash .github/workflows/scripts/publish_client_pypi.sh ${{ github.ref_name }} + uses: pypa/gh-action-pypi-publish@release/v1 + with: + packages-dir: "pulp_python/dist/" publish-ruby-bindings: runs-on: "ubuntu-latest" needs: - "build" - - env: - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + environment: + name: "rubygems" + permissions: + id-token: "write" steps: - uses: "actions/checkout@v4" @@ -128,15 +95,12 @@ jobs: with: ruby-version: "2.6" - - name: "Setting secrets" - run: | - python3 .github/workflows/scripts/secrets.py "$SECRETS_CONTEXT" - env: - SECRETS_CONTEXT: "${{ toJson(secrets) }}" + - name: "Set RubyGems Credentials" + uses: "rubygems/configure-rubygems-credentials@v1.0.0" - - name: "Publish client to rubygems" + - name: "Publish client to RubyGems" run: | - bash .github/workflows/scripts/publish_client_gem.sh ${{ github.ref_name }} + gem push "pulp_python_client-${{ github.ref_name }}.gem" create-gh-release: runs-on: "ubuntu-latest" @@ -179,14 +143,16 @@ jobs: - name: "Create release on GitHub" uses: "actions/github-script@v7" + env: + RELEASE_BODY: ${{ steps.get_release_notes.outputs.body }} with: script: | - const { TAG_NAME } = process.env; + const { TAG_NAME, RELEASE_BODY } = process.env; await github.rest.repos.createRelease({ owner: context.repo.owner, repo: context.repo.repo, tag_name: TAG_NAME, - body: `${{ steps.get_release_notes.outputs.body }}`, + body: RELEASE_BODY, make_latest: "legacy", }); diff --git a/.github/workflows/scripts/publish_client_gem.sh b/.github/workflows/scripts/publish_client_gem.sh deleted file mode 100755 index e771b5e7..00000000 --- a/.github/workflows/scripts/publish_client_gem.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# WARNING: DO NOT EDIT! -# -# This file was generated by plugin_template, and is managed by it. Please use -# './plugin-template --github pulp_python' to update this file. -# -# For more info visit https://github.com/pulp/plugin_template - -set -euv - -# make sure this script runs at the repo root -cd "$(dirname "$(realpath -e "$0")")"/../../.. - -VERSION="$1" - -if [[ -z "${VERSION}" ]] -then - echo "No version specified." - exit 1 -fi - -mkdir -p ~/.gem -touch ~/.gem/credentials -echo "--- -:rubygems_api_key: ${RUBYGEMS_API_KEY}" > ~/.gem/credentials -sudo chmod 600 ~/.gem/credentials -gem push "pulp_python_client-${VERSION}.gem" diff --git a/.github/workflows/scripts/publish_client_pypi.sh b/.github/workflows/scripts/publish_client_pypi.sh deleted file mode 100755 index c5a4295c..00000000 --- a/.github/workflows/scripts/publish_client_pypi.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# WARNING: DO NOT EDIT! -# -# This file was generated by plugin_template, and is managed by it. Please use -# './plugin-template --github pulp_python' to update this file. -# -# For more info visit https://github.com/pulp/plugin_template - -set -euv - -# make sure this script runs at the repo root -cd "$(dirname "$(realpath -e "$0")")/../../.." - -VERSION="$1" - -if [[ -z "${VERSION}" ]] -then - echo "No version specified." - exit 1 -fi - -twine upload -u __token__ -p "${PYPI_API_TOKEN}" \ -"dist/pulp_python_client-${VERSION}-py3-none-any.whl" \ -"dist/pulp_python_client-${VERSION}.tar.gz" \ -; diff --git a/.github/workflows/scripts/publish_plugin_pypi.sh b/.github/workflows/scripts/publish_plugin_pypi.sh deleted file mode 100755 index 16b0ce05..00000000 --- a/.github/workflows/scripts/publish_plugin_pypi.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# WARNING: DO NOT EDIT! -# -# This file was generated by plugin_template, and is managed by it. Please use -# './plugin-template --github pulp_python' to update this file. -# -# For more info visit https://github.com/pulp/plugin_template - -set -euv - -# make sure this script runs at the repo root -cd "$(dirname "$(realpath -e "$0")")"/../../.. - -VERSION="$1" - -if [[ -z "${VERSION}" ]] -then - echo "No version specified." - exit 1 -fi - -twine upload -u __token__ -p "${PYPI_API_TOKEN}" \ -dist/pulp?python-"${VERSION}"-py3-none-any.whl \ -dist/pulp?python-"${VERSION}".tar.gz \ -; From 7c8ea8e89cda2c5a7f48ec27d3aaba5cb2b78b8d Mon Sep 17 00:00:00 2001 From: Gerrod Ubben Date: Wed, 19 Nov 2025 16:58:16 -0500 Subject: [PATCH 4/5] Fix changelog and towncrier config --- CHANGES.md | 6 ++++++ CHANGES.rst | 5 ----- pyproject.toml | 8 +++++--- 3 files changed, 11 insertions(+), 8 deletions(-) delete mode 100644 CHANGES.rst diff --git a/CHANGES.md b/CHANGES.md index f51a591b..06427fb7 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -8,6 +8,12 @@ [//]: # (towncrier release notes start) +## 3.10.2 (2025-11-18) {: #3.10.2 } + +No significant changes + +--- + ## 3.10.1 (2025-07-23) {: #3.10.1 } ### Bugfixes diff --git a/CHANGES.rst b/CHANGES.rst deleted file mode 100644 index 55745f14..00000000 --- a/CHANGES.rst +++ /dev/null @@ -1,5 +0,0 @@ -3.10.2 (2025-11-18) - -No significant changes. - ---- diff --git a/pyproject.toml b/pyproject.toml index 55e45ad6..5816756e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,10 +1,12 @@ [tool.towncrier] package = "pulp_python" -filename = "CHANGES.rst" +filename = "CHANGES.md" directory = "CHANGES/" -title_format = "{version} ({project_date})" +title_format = "## {version} ({project_date}) {{: #{version} }}" template = "CHANGES/.TEMPLATE.md" -issue_format = "`#{issue} `__" +issue_format = "[#{issue}](https://github.com/pulp/pulp_python/issues/{issue})" +start_string = "[//]: # (towncrier release notes start)\n" +underlines = ["", "", ""] [tool.check-manifest] ignore = [ From e4e893af7fad8f0a9cc607d16ece968cc03e838f Mon Sep 17 00:00:00 2001 From: Gerrod Ubben Date: Wed, 19 Nov 2025 17:37:39 -0500 Subject: [PATCH 5/5] Add missing package to LG_PROJECT_SPECIFIER --- pulp_python/tests/functional/constants.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pulp_python/tests/functional/constants.py b/pulp_python/tests/functional/constants.py index df943222..9f87d674 100644 --- a/pulp_python/tests/functional/constants.py +++ b/pulp_python/tests/functional/constants.py @@ -142,6 +142,7 @@ PYTHON_LG_PROJECT_SPECIFIER = [ "aiohttp", # matches 7 + "bcrypt", # matches 8 "celery", # matches 13 "crane", # matches 0 "Django", # matches 31 @@ -154,7 +155,7 @@ ] PYTHON_LG_PACKAGE_COUNT = 108 PYTHON_LG_FIXTURE_SUMMARY = {PYTHON_CONTENT_NAME: PYTHON_LG_PACKAGE_COUNT} -PYTHON_LG_FIXTURE_PRERELEASES_SUMMARY = {PYTHON_CONTENT_NAME: 92} +PYTHON_LG_FIXTURE_PRERELEASES_SUMMARY = {PYTHON_CONTENT_NAME: PYTHON_LG_PACKAGE_COUNT} PYTHON_LG_FIXTURE_COUNTS = { "latest_3": 59, "sdist": 36,