Skip to content

Update FEZrs_PyPI_Publish.yml #57

Update FEZrs_PyPI_Publish.yml

Update FEZrs_PyPI_Publish.yml #57

name: Conda and PyPI Publish with License Update
on:
push:
branches:
- main # Trigger on push to main
jobs:
update-license-and-publish:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Automatically bump version in setup.py
run: |
VERSION=$(python setup.py --version)
echo "Current version is $VERSION"
# Increment the minor version (adjust as needed)
NEW_VERSION=$(echo $VERSION | awk -F. -v OFS=. '{$NF++;print}')
echo "New version is $NEW_VERSION"
# Update version in setup.py
sed -i "s/version=\"$VERSION\"/version=\"$NEW_VERSION\"/" setup.py
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine build
- name: Install Miniconda
run: |
# Install Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda3
source $HOME/miniconda3/bin/activate
- name: Set up Conda for packaging
run: |
# Initialize Conda
source $HOME/miniconda3/bin/activate
conda init bash
# Add conda-forge channel
conda config --add channels conda-forge
# Install conda-build
conda install conda-build
# Verify conda-build is installed
conda list conda-build
- name: Build PyPI package
run: |
python -m build
- name: Publish to PyPI
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: |
python -m twine upload dist/*
- name: Build Conda package
run: |
# Ensure Conda is properly initialized
source $HOME/miniconda3/bin/activate
# Build Conda package
conda build .
- name: Upload Conda package to Anaconda
env:
ANACONDA_API_KEY: ${{ secrets.ANACONDA_API_KEY }}
run: |
# Find the Conda package in the build directory
PACKAGE_PATH=$(find $HOME/miniconda3/conda-bld/linux-64 -name '*fezrs*.tar.bz2' | head -n 1)
# Ensure that a package is found
if [ -z "$PACKAGE_PATH" ]; then
echo "No Conda package found to upload!"
exit 1
fi
# Upload to Anaconda
anaconda upload $PACKAGE_PATH --token $ANACONDA_API_KEY