Skip to content

Python Publish Release #5

Python Publish Release

Python Publish Release #5

Workflow file for this run

# 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"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
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/"
- 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 }}
publish-python-bindings:
runs-on: "ubuntu-latest"
needs:
- "build"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
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
- 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 }}
publish-ruby-bindings:
runs-on: "ubuntu-latest"
needs:
- "build"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
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: "Setting secrets"
run: |
python3 .github/workflows/scripts/secrets.py "$SECRETS_CONTEXT"
env:
SECRETS_CONTEXT: "${{ toJson(secrets) }}"
- name: "Publish client to rubygems"
run: |
bash .github/workflows/scripts/publish_client_gem.sh ${{ github.ref_name }}
create-gh-release:
runs-on: "ubuntu-latest"
needs:
- "build"
- "publish-package"
- "publish-python-bindings"
- "publish-ruby-bindings"
steps:
- name: "Create release on GitHub"
uses: "actions/github-script@v7"
env:
TAG_NAME: "${{ github.ref_name }}"
with:
script: |
const { TAG_NAME } = process.env;
await github.rest.repos.createRelease({
owner: context.repo.owner,
repo: context.repo.repo,
tag_name: TAG_NAME,
make_latest: "legacy",
});