testing pypi publish #15
This file contains 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
# test if this works on a tagged release. I don't want to push a new version to Pypi on every commit | |
# name: Publish Modules to PyPi and Test PyPi | |
# on: | |
# release: | |
# types: [published] | |
name: Publish Modules to PyPi and Test PyPi | |
on: push | |
jobs: | |
build: | |
name: Build distribution | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.x" | |
- name: Add repo sub-modules | |
run: | | |
git submodule init | |
git submodule update | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install setuptools wheel twine | |
- name: Build the distribution package | |
run: | | |
python setup.py sdist bdist_wheel | |
- name: Store the distribution packages | |
uses: actions/upload-artifact@v3 | |
with: | |
name: python-package-distributions | |
path: dist/* | |
publish-to-testpypi: | |
name: Publish Python 🐍 distribution 📦 to TestPyPI | |
needs: build | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write # IMPORTANT: mandatory for trusted publishing | |
steps: | |
- name: Download all the dists | |
uses: actions/download-artifact@v3 | |
with: | |
name: python-package-distributions | |
path: dist/ | |
- name: Publish distribution 📦 to TestPyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.TEST_PYPI_TOKEN }} | |
repository-url: https://test.pypi.org/legacy/ | |
# publish-to-pypi: | |
# name: Publish Python 🐍 distribution 📦 to PyPI | |
# needs: build | |
# runs-on: ubuntu-latest | |
# permissions: | |
# id-token: write # IMPORTANT: mandatory for trusted publishing | |
# steps: | |
# - name: Download all the dists | |
# uses: actions/download-artifact@v3 | |
# with: | |
# name: python-package-distributions | |
# path: dist/ | |
# - name: Publish distribution 📦 to PyPI | |
# uses: pypa/gh-action-pypi-publish@release/v1 | |
# with: | |
# user: __token__ | |
# password: ${{ secrets.PYPI_TOKEN }} | |
# repository-url: https://upload.pypi.org/legacy/ | |
# github-release: | |
# name: >- | |
# Sign the Python 🐍 distribution 📦 with Sigstore | |
# and upload them to GitHub Release | |
# needs: | |
# - publish-to-testpypi | |
# - publish-to-pypi | |
# runs-on: ubuntu-latest | |
# permissions: | |
# contents: write # IMPORTANT: mandatory for making GitHub Releases | |
# id-token: write # IMPORTANT: mandatory for sigstore | |
# steps: | |
# - name: Download all the dists | |
# uses: actions/download-artifact@v3 | |
# with: | |
# name: python-package-distributions | |
# path: dist/ | |
# - name: Sign the dists with Sigstore | |
# uses: sigstore/gh-action-sigstore-python@v2.1.1 | |
# with: | |
# inputs: >- | |
# ./dist/*.tar.gz | |
# ./dist/*.whl | |
# - name: Create GitHub Release | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# run: >- | |
# gh release create | |
# '${{ github.ref_name }}' | |
# --repo '${{ github.repository }}' | |
# --notes "" | |
# - name: Upload artifact signatures to GitHub Release | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# run: >- | |
# gh release upload | |
# '${{ github.ref_name }}' dist/** | |
# --repo '${{ github.repository }}' |