|
|
|
|
@ -11,12 +11,20 @@ name: Upload Python Package
|
|
|
|
|
on: |
|
|
|
|
workflow_dispatch: |
|
|
|
|
inputs: |
|
|
|
|
pkg_name: |
|
|
|
|
description: the name of the project |
|
|
|
|
type: string |
|
|
|
|
required: true |
|
|
|
|
pkg_folder: |
|
|
|
|
description: the folder containing the pyproject.toml file |
|
|
|
|
type: string |
|
|
|
|
required: true |
|
|
|
|
workflow_call: |
|
|
|
|
inputs: |
|
|
|
|
pkg_name: |
|
|
|
|
description: the name of the project |
|
|
|
|
type: string |
|
|
|
|
required: true |
|
|
|
|
pkg_folder: |
|
|
|
|
description: the folder containing the pyproject.toml file |
|
|
|
|
type: string |
|
|
|
|
@ -38,21 +46,23 @@ jobs:
|
|
|
|
|
|
|
|
|
|
steps: |
|
|
|
|
- uses: actions/checkout@v4 |
|
|
|
|
|
|
|
|
|
- uses: actions/setup-python@v5 |
|
|
|
|
with: |
|
|
|
|
python-version: "3.x" |
|
|
|
|
|
|
|
|
|
- name: Build release distributions |
|
|
|
|
run: | |
|
|
|
|
# NOTE: put your own distribution build steps here. |
|
|
|
|
python -m pip install build |
|
|
|
|
python -m build |
|
|
|
|
echo '::group::Installing Build' |
|
|
|
|
python -m pip install build |
|
|
|
|
echo '::endgroup::' |
|
|
|
|
|
|
|
|
|
echo '::group::Installing Build the package' |
|
|
|
|
python -m build |
|
|
|
|
echo '::endgroup::' |
|
|
|
|
- name: Upload distributions |
|
|
|
|
uses: actions/upload-artifact@v4 |
|
|
|
|
with: |
|
|
|
|
name: release-dists |
|
|
|
|
name: release-dist-${{ inputs.pkg_name }} |
|
|
|
|
path: ${{ inputs.pkg_folder }}/dist/ |
|
|
|
|
|
|
|
|
|
pypi-publish: |
|
|
|
|
@ -64,19 +74,24 @@ jobs:
|
|
|
|
|
id-token: write |
|
|
|
|
|
|
|
|
|
steps: |
|
|
|
|
- uses: actions/setup-python@v5 |
|
|
|
|
with: |
|
|
|
|
python-version: "3.x" |
|
|
|
|
- name: Retrieve release distributions |
|
|
|
|
uses: actions/download-artifact@v4 |
|
|
|
|
with: |
|
|
|
|
name: release-dists |
|
|
|
|
name: release-dist-${{ inputs.pkg_name }} |
|
|
|
|
path: dist/ |
|
|
|
|
|
|
|
|
|
- name: check |
|
|
|
|
shell: bash |
|
|
|
|
run: | |
|
|
|
|
ls -laR dist |
|
|
|
|
file ${{ inputs.pkg_folder }}/dist/* |
|
|
|
|
|
|
|
|
|
- name: Publish |
|
|
|
|
run: | |
|
|
|
|
python -m pip install twine |
|
|
|
|
python -m twine upload ${{ inputs.pkg_folder }}/dist/ |
|
|
|
|
echo '::group::Installing Twine' |
|
|
|
|
python -m pip install twine |
|
|
|
|
echo '::endgroup::' |
|
|
|
|
|
|
|
|
|
echo '::group::Deploy The Package' |
|
|
|
|
python -m twine upload --verbose -u ${{ secrets.PYPI_USER }} -p ${{ secrets.PYPI_TOKEN }} dist/* |
|
|
|
|
echo '::endgroup::' |
|
|
|
|
|