Skip to content

Upload Python Package #6

Upload Python Package

Upload Python Package #6

Workflow file for this run

name: Upload Python Package
on:
release:
types: [published]
permissions:
contents: read
jobs:
release-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Build release distributions
run: |
python -m pip install build
python -m build
- name: Upload distributions
uses: actions/upload-artifact@v4
with:
name: release-dists
path: dist/
pypi-publish:
runs-on: ubuntu-latest
needs: release-build
permissions:
id-token: write # Required for trusted publishing
steps:
- name: Retrieve release distributions
uses: actions/download-artifact@v4
with:
name: release-dists
path: dist/
- name: Publish release distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: dist/
conda-publish:
runs-on: ubuntu-latest
needs: release-build
steps:
- uses: actions/checkout@v4
# Set up and activate Miniconda in "base"
- name: Set up Miniconda
uses: conda-incubator/setup-miniconda@v2
with:
auto-activate-base: true
# If you want a specific Python version in base, you can set it here
# python-version: 3.9
channel-priority: strict
channels: conda-forge
# Install conda-build and anaconda-client inside the same shell session
- name: Install dependencies
shell: bash -l {0}
run: conda install -y conda-build anaconda-client
# Now conda-build is in PATH
- name: Build Conda package
shell: bash -l {0}
run: conda-build conda-recipe
# Upload the built package
- name: Upload Conda package
shell: bash -l {0}
run: |
anaconda login --token ${{ secrets.ANACONDA_TOKEN }}
anaconda upload --skip-existing $(conda-build --output conda-recipe)