# Based on: https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/ name: Publish to TestPyPI on: workflow_dispatch: inputs: dev_version: description: 'Dev version N' required: true jobs: build-n-publish: name: Build and publish runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: submodules: "true" - name: Set up Python uses: actions/setup-python@v4 with: python-version: "3.8" - name: Append Dev Version to __version__ run: | DEV_VERSION=${{ github.event.inputs.dev_version }} CURRENT_VERSION=$(awk -F= '/__version__ =/ {print $2}' llama_cpp/__init__.py | tr -d ' "') NEW_VERSION="${CURRENT_VERSION}.dev${DEV_VERSION}" sed -i 's/__version__ = \".*\"/__version__ = \"'"${NEW_VERSION}"'\"/' llama_cpp/__init__.py - name: Install dependencies run: | python3 -m pip install --upgrade pip build python3 -m pip install -e .[all] - name: Build source distribution run: | python3 -m build --sdist - name: Publish to Test PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: password: ${{ secrets.TEST_PYPI_API_TOKEN }} repository-url: https://test.pypi.org/legacy/