Python Publish Release #37
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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 | |
| --- | |
| name: "Python Publish Release" | |
| on: | |
| push: | |
| tags: | |
| - "[0-9]+.[0-9]+.[0-9]+" | |
| defaults: | |
| run: | |
| working-directory: "pulp_python" | |
| jobs: | |
| build: | |
| uses: "./.github/workflows/build.yml" | |
| publish-package: | |
| runs-on: "ubuntu-latest" | |
| needs: | |
| - "build" | |
| environment: | |
| name: "pypi" | |
| url: "https://pypi.org/p/pulp-python" | |
| permissions: | |
| id-token: "write" | |
| steps: | |
| - uses: "actions/download-artifact@v4" | |
| with: | |
| name: "plugin_package" | |
| path: "dist/" | |
| - name: "Publish package to PyPI" | |
| uses: pypa/gh-action-pypi-publish@release/v1 | |
| publish-python-bindings: | |
| runs-on: "ubuntu-latest" | |
| needs: | |
| - "build" | |
| environment: | |
| name: "pypi" | |
| permissions: | |
| id-token: "write" | |
| steps: | |
| - uses: "actions/checkout@v4" | |
| with: | |
| fetch-depth: 1 | |
| path: "pulp_python" | |
| - name: "Download Python client" | |
| uses: "actions/download-artifact@v4" | |
| with: | |
| name: "python-client.tar" | |
| path: "pulp_python/" | |
| - name: "Untar python client packages" | |
| run: | | |
| tar -xvf python-python-client.tar | |
| - name: "Publish client to pypi" | |
| uses: pypa/gh-action-pypi-publish@release/v1 | |
| with: | |
| packages-dir: "pulp_python/dist/" | |
| publish-ruby-bindings: | |
| runs-on: "ubuntu-latest" | |
| needs: | |
| - "build" | |
| environment: | |
| name: "rubygems" | |
| permissions: | |
| id-token: "write" | |
| steps: | |
| - uses: "actions/checkout@v4" | |
| with: | |
| fetch-depth: 1 | |
| path: "pulp_python" | |
| - name: "Download Ruby client" | |
| uses: "actions/download-artifact@v4" | |
| with: | |
| name: "ruby-client.tar" | |
| path: "pulp_python/" | |
| - name: "Untar Ruby client packages" | |
| run: | | |
| tar -xvf python-ruby-client.tar | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: "2.6" | |
| - name: "Set RubyGems Credentials" | |
| uses: "rubygems/configure-rubygems-credentials@v1.0.0" | |
| - name: "Publish client to RubyGems" | |
| run: | | |
| gem push "pulp_python_client-${{ github.ref_name }}.gem" | |
| create-gh-release: | |
| runs-on: "ubuntu-latest" | |
| needs: | |
| - "build" | |
| - "publish-package" | |
| - "publish-python-bindings" | |
| - "publish-ruby-bindings" | |
| permissions: | |
| contents: write | |
| env: | |
| TAG_NAME: "${{ github.ref_name }}" | |
| steps: | |
| - uses: "actions/checkout@v4" | |
| with: | |
| fetch-depth: 0 | |
| path: "pulp_python" | |
| - uses: "actions/setup-python@v5" | |
| with: | |
| python-version: "3.11" | |
| - name: "Install towncrier" | |
| run: | | |
| pip install towncrier | |
| - name: "Get release notes" | |
| id: "get_release_notes" | |
| shell: "bash" | |
| run: | | |
| # The last commit before the release commit contains the release CHANGES fragments | |
| git checkout "${TAG_NAME}~" | |
| NOTES=$(towncrier build --draft --version $TAG_NAME) | |
| echo "body<<EOF" >> $GITHUB_OUTPUT | |
| echo "$NOTES" >> $GITHUB_OUTPUT | |
| echo "EOF" >> $GITHUB_OUTPUT | |
| - name: "Create release on GitHub" | |
| uses: "actions/github-script@v7" | |
| env: | |
| RELEASE_BODY: ${{ steps.get_release_notes.outputs.body }} | |
| with: | |
| script: | | |
| 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: RELEASE_BODY, | |
| make_latest: "legacy", | |
| }); |