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 }}