Skip to content

PyPI Release: Nightly (pinecone-client-nightly) #321

PyPI Release: Nightly (pinecone-client-nightly)

PyPI Release: Nightly (pinecone-client-nightly) #321

name: 'PyPI Release: Nightly (pinecone-client-nightly)'
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
jobs:
unit-tests:
uses: './.github/workflows/testing-unit.yaml'
secrets: inherit
integration-tests:
uses: './.github/workflows/testing-integration.yaml'
secrets: inherit
dependency-tests:
uses: './.github/workflows/testing-dependency.yaml'
secrets: inherit
pypi-nightly:
needs:
- unit-tests
- integration-tests
- dependency-tests
timeout-minutes: 30
name: pypi-nightly
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get recent changes
id: list-commits
run: |
recentCommits=$(git log --since=yesterday --oneline)
echo "commits=$recentCommits" >> "$GITHUB_OUTPUT"
- name: Abort if no recent changes
if: steps.list-commits.outputs.commits == ''
uses: andymckay/cancel-action@0.3
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Setup Poetry
uses: ./.github/actions/setup-poetry
- name: Set dev version
id: version
run: |
currentDate=$(date +%Y%m%d%H%M%S)
versionNumber=$(poetry version -s)
devVersion="${versionNumber}.dev${currentDate}"
poetry version $devVersion
- name: Adjust module name
run: |
sed -i 's/pinecone-client/pinecone-client-nightly/g' pyproject.toml
- name: Update README
run: |
echo "This is a nightly developer build of the Pinecone Python client. It is not intended for production use." > README.md
- name: Build Python client
run: make package
- name: Upload Python client to PyPI
id: pypi_upload
env:
TWINE_REPOSITORY: pypi
PYPI_USERNAME: __token__
PYPI_PASSWORD: ${{ secrets.PROD_PYPI_PUBLISH_TOKEN }}
run: make upload