v3.0.0a8 #187
Workflow file for this run
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: cd | |
on: | |
release: | |
types: | |
- published | |
permissions: | |
id-token: write | |
contents: read | |
jobs: | |
publish_to_pypi: | |
name: publish to pypi on new release | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.x" | |
- name: Install Poetry and dependencies | |
run: | | |
curl -sSL https://install.python-poetry.org | python3 - | |
pip install requests | |
- name: Build and publish main package | |
env: | |
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} | |
run: | | |
poetry config pypi-token.pypi $PYPI_TOKEN | |
poetry build | |
VERSION=$(poetry version -s) | |
echo "Checking if pandasai $VERSION exists on PyPI" | |
if python -c "import requests, sys; sys.exit(requests.get(f'https://pypi.org/pypi/pandasai/{VERSION}/json').status_code != 200)"; then | |
echo "Version $VERSION already exists on PyPI. Skipping publish." | |
else | |
echo "Publishing pandasai $VERSION to PyPI" | |
poetry publish | |
fi | |
- name: Build and publish extensions | |
env: | |
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} | |
run: | | |
cd $GITHUB_WORKSPACE | |
find extensions -name pyproject.toml | while read -r project; do | |
dir=$(dirname "$project") | |
echo "Processing $dir" | |
cd "$dir" | |
poetry build | |
PACKAGE_NAME=$(poetry version | cut -d' ' -f1) | |
VERSION=$(poetry version -s) | |
echo "Checking if $PACKAGE_NAME $VERSION exists on PyPI" | |
if python -c "import requests, sys; package_name='$PACKAGE_NAME'; version='$VERSION'; sys.exit(requests.get(f'https://pypi.org/pypi/{package_name}/{version}/json').status_code != 200)"; then | |
echo "Version $VERSION of $PACKAGE_NAME already exists on PyPI. Skipping publish." | |
else | |
echo "Publishing $PACKAGE_NAME $VERSION to PyPI" | |
poetry publish || echo "Failed to publish $PACKAGE_NAME $VERSION" | |
fi | |
cd $GITHUB_WORKSPACE | |
done |