Update README.md #51
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
name: Conda and PyPI Publish with License Update | |
on: | |
push: | |
branches: | |
- main # Trigger on push to the main branch | |
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 conda conda-build anaconda-client | |
- 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: Set up Conda for packaging | |
run: | | |
conda config --add channels conda-forge | |
conda install -c conda-forge conda-build anaconda-client | |
- name: Build Conda package | |
run: | | |
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 ~/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 |