Spaces:
Running
on
Zero
Running
on
Zero
name: Build and publish Python packages to PyPI | |
on: | |
workflow_dispatch: | |
release: | |
types: | |
- published | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: | |
- "3.10" | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# Removed the cache line that was here | |
# Install Poetry | |
- name: Install Poetry | |
run: | | |
curl -sSL https://install.python-poetry.org | python3 - | |
# Add Poetry to PATH | |
- name: Add Poetry to PATH | |
run: echo "$HOME/.local/bin" >> $GITHUB_PATH | |
# Cache Poetry's dependencies based on the lock file | |
- name: Set up Poetry cache | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/pypoetry | |
key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }} | |
restore-keys: | | |
${{ runner.os }}-poetry- | |
# Install dependencies using Poetry (if any) | |
- name: Install dependencies | |
run: poetry install | |
# Build package using Poetry | |
- name: Build package | |
run: poetry build --format sdist | |
# Upload package as build artifact | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: package | |
path: dist/ | |
publish: | |
runs-on: ubuntu-latest | |
needs: build | |
environment: | |
name: pypi | |
url: https://pypi.org/p/gpt-engineer | |
permissions: | |
id-token: write | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: package | |
path: dist/ | |
- name: Publish packages to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.PYPI_API_TOKEN }} | |