From ec863b371d2d766b1f385fdb343340530a36e4b8 Mon Sep 17 00:00:00 2001 From: Jen Hamon Date: Tue, 6 Jun 2023 21:38:46 -0400 Subject: [PATCH 01/12] Add initial steps --- .github/workflows/nightly-release.yaml | 33 ++++++++++++++++++++++++-- .github/workflows/publish-to-pypi.yaml | 2 +- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/.github/workflows/nightly-release.yaml b/.github/workflows/nightly-release.yaml index 6a9d0fe26..a33f3d460 100644 --- a/.github/workflows/nightly-release.yaml +++ b/.github/workflows/nightly-release.yaml @@ -13,5 +13,34 @@ jobs: name: pypi-nightly runs-on: ubuntu-latest steps: - - name: greeting - run: echo "Hello World" \ No newline at end of file + - name: Checkout + uses: actions/checkout@v3 + + - name: List recent changes + id: list-commits + run: | + recentCommits=$(git log --since=yesterday --oneline) + echo "commits=$recentCommits" >> "$GITHUB_OUTPUT" + + - name: Show commits + run: | + echo "commits=${{ steps.list-commits.outputs.commits }}" + + - name: Abort release if no changes since yesterday + if: steps.list-commits.outputs.commits == '' + uses: andymckay/cancel-action@0.3 + + - uses: actions/setup-python@v4 + with: + python-version: 3.x + + # - name: Build Python client + # run: make package + + # - name: Upload Python client to PyPI + # id: pypi_upload + # env: + # TWINE_REPOSITORY: testpypy + # PYPI_USERNAME: ${{ secrets.TEST_PYPI_USERNAME }} + # PYPI_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }} + # run: make upload diff --git a/.github/workflows/publish-to-pypi.yaml b/.github/workflows/publish-to-pypi.yaml index 40a0b5e67..548c2615f 100644 --- a/.github/workflows/publish-to-pypi.yaml +++ b/.github/workflows/publish-to-pypi.yaml @@ -1,4 +1,4 @@ -name: PyPI Prerelease +name: Publish to PyPI on: workflow_call: From 3d543d5de2338a0355df3e23dd44e41de6cfbc1a Mon Sep 17 00:00:00 2001 From: Jen Hamon Date: Tue, 6 Jun 2023 21:45:24 -0400 Subject: [PATCH 02/12] Adjust build names --- .github/workflows/alpha-release.yaml | 2 +- .github/workflows/release.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/alpha-release.yaml b/.github/workflows/alpha-release.yaml index 399a0c434..3dbdf705d 100644 --- a/.github/workflows/alpha-release.yaml +++ b/.github/workflows/alpha-release.yaml @@ -1,4 +1,4 @@ -name: PyPI Prerelease +name: 'PyPI Release: Pre-Release (pinecone-client)' on: workflow_dispatch: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index f33551650..b79a5ab2f 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,4 +1,4 @@ -name: PyPI Release +name: 'PyPI Release: Production (pinecone-client)' on: workflow_dispatch: From a49fe56fdb86bd85ee5a5232c9ac0b80475d5023 Mon Sep 17 00:00:00 2001 From: Jen Hamon Date: Tue, 6 Jun 2023 22:06:06 -0400 Subject: [PATCH 03/12] Adjust spacing --- .github/workflows/nightly-release.yaml | 35 +++++++++++++------------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/.github/workflows/nightly-release.yaml b/.github/workflows/nightly-release.yaml index a33f3d460..4140214ab 100644 --- a/.github/workflows/nightly-release.yaml +++ b/.github/workflows/nightly-release.yaml @@ -13,26 +13,25 @@ jobs: name: pypi-nightly runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: List recent changes - id: list-commits - run: | - recentCommits=$(git log --since=yesterday --oneline) - echo "commits=$recentCommits" >> "$GITHUB_OUTPUT" + - name: Checkout + uses: actions/checkout@v3 + + - name: List recent changes + id: list-commits + run: | + recentCommits=$(git log --since=yesterday --oneline) + echo "commits=$recentCommits" >> "$GITHUB_OUTPUT" - - name: Show commits - run: | - echo "commits=${{ steps.list-commits.outputs.commits }}" + - name: Show commits + run: echo "${{ steps.list-commits.outputs.commits }}" - - name: Abort release if no changes since yesterday - if: steps.list-commits.outputs.commits == '' - uses: andymckay/cancel-action@0.3 - - - uses: actions/setup-python@v4 - with: - python-version: 3.x + - name: Abort release if no changes since yesterday + if: steps.list-commits.outputs.commits == '' + uses: andymckay/cancel-action@0.3 + + - uses: actions/setup-python@v4 + with: + python-version: 3.x # - name: Build Python client # run: make package From aead3d409f9bc4ac8b1a8b83800cbe6913cd7c32 Mon Sep 17 00:00:00 2001 From: Jen Hamon Date: Tue, 6 Jun 2023 22:39:45 -0400 Subject: [PATCH 04/12] Adjust module name and version for nightly build --- .github/workflows/nightly-release.yaml | 41 +++++++++++++++++--------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/.github/workflows/nightly-release.yaml b/.github/workflows/nightly-release.yaml index 4140214ab..8cc2c20be 100644 --- a/.github/workflows/nightly-release.yaml +++ b/.github/workflows/nightly-release.yaml @@ -4,11 +4,11 @@ on: workflow_dispatch: jobs: - run-tests: - uses: './.github/workflows/testing.yaml' +# run-tests: +# uses: './.github/workflows/testing.yaml' pypi-nightly: - needs: run-tests + # needs: run-tests timeout-minutes: 30 name: pypi-nightly runs-on: ubuntu-latest @@ -25,21 +25,34 @@ jobs: - name: Show commits run: echo "${{ steps.list-commits.outputs.commits }}" - - name: Abort release if no changes since yesterday + - name: Abort if no recent changes if: steps.list-commits.outputs.commits == '' uses: andymckay/cancel-action@0.3 - + + - name: Set dev version + id: version + run: | + versionFile="pinecone/__version__" + currentDate=$(date +%Y%m%d) + versionNumber=$(cat $versionFile) + devVersion="${versionNumber}.dev${currentDate}" + echo "$devVersion" > $versionFile + + - name: Adjust module name + run: | + sed -i 's/pinecone-client/pinecone-client-nightly/g' setup.py + - uses: actions/setup-python@v4 with: python-version: 3.x - # - name: Build Python client - # run: make package + - name: Build Python client + run: make package - # - name: Upload Python client to PyPI - # id: pypi_upload - # env: - # TWINE_REPOSITORY: testpypy - # PYPI_USERNAME: ${{ secrets.TEST_PYPI_USERNAME }} - # PYPI_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }} - # run: make upload + - name: Upload Python client to PyPI + id: pypi_upload + env: + TWINE_REPOSITORY: testpypy + PYPI_USERNAME: ${{ secrets.TEST_PYPI_USERNAME }} + PYPI_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }} + run: make upload From 8caabad00c26ae6d3d1ab65414fd75a59c980a1b Mon Sep 17 00:00:00 2001 From: Jen Hamon Date: Tue, 6 Jun 2023 22:40:54 -0400 Subject: [PATCH 05/12] Remove debug action --- .github/workflows/nightly-release.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/nightly-release.yaml b/.github/workflows/nightly-release.yaml index 8cc2c20be..aa3b41ad0 100644 --- a/.github/workflows/nightly-release.yaml +++ b/.github/workflows/nightly-release.yaml @@ -16,15 +16,12 @@ jobs: - name: Checkout uses: actions/checkout@v3 - - name: List recent changes + - name: Get recent changes id: list-commits run: | recentCommits=$(git log --since=yesterday --oneline) echo "commits=$recentCommits" >> "$GITHUB_OUTPUT" - - name: Show commits - run: echo "${{ steps.list-commits.outputs.commits }}" - - name: Abort if no recent changes if: steps.list-commits.outputs.commits == '' uses: andymckay/cancel-action@0.3 From ab8eae6af1f3d0d4a88611425e94539e347d893a Mon Sep 17 00:00:00 2001 From: Jen Hamon Date: Tue, 6 Jun 2023 22:42:31 -0400 Subject: [PATCH 06/12] Fix typo --- .github/workflows/nightly-release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly-release.yaml b/.github/workflows/nightly-release.yaml index aa3b41ad0..741a2a4bf 100644 --- a/.github/workflows/nightly-release.yaml +++ b/.github/workflows/nightly-release.yaml @@ -49,7 +49,7 @@ jobs: - name: Upload Python client to PyPI id: pypi_upload env: - TWINE_REPOSITORY: testpypy + TWINE_REPOSITORY: testpypi PYPI_USERNAME: ${{ secrets.TEST_PYPI_USERNAME }} PYPI_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }} run: make upload From f17dc79e7d9f2d2fc3a6f7b894d8cad623d46e59 Mon Sep 17 00:00:00 2001 From: Jen Hamon Date: Tue, 6 Jun 2023 22:54:31 -0400 Subject: [PATCH 07/12] Add cron schedule and update readme --- .github/workflows/nightly-release.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/nightly-release.yaml b/.github/workflows/nightly-release.yaml index 741a2a4bf..11507f202 100644 --- a/.github/workflows/nightly-release.yaml +++ b/.github/workflows/nightly-release.yaml @@ -2,6 +2,8 @@ name: 'PyPI Release: Nightly (pinecone-client-nightly)' on: workflow_dispatch: + schedule: + - cron: '0 0 * * *' jobs: # run-tests: @@ -38,6 +40,10 @@ jobs: - name: Adjust module name run: | sed -i 's/pinecone-client/pinecone-client-nightly/g' setup.py + + - 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 - uses: actions/setup-python@v4 with: From 7a385988d767bc176f8d813038ee7be448c0b993 Mon Sep 17 00:00:00 2001 From: Jen Hamon Date: Tue, 6 Jun 2023 23:04:55 -0400 Subject: [PATCH 08/12] Add unix epoch to avoid date collisions in testing --- .github/workflows/nightly-release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly-release.yaml b/.github/workflows/nightly-release.yaml index 11507f202..4a6bb62b4 100644 --- a/.github/workflows/nightly-release.yaml +++ b/.github/workflows/nightly-release.yaml @@ -32,7 +32,7 @@ jobs: id: version run: | versionFile="pinecone/__version__" - currentDate=$(date +%Y%m%d) + currentDate=$(date +%Y%m%d.%s) versionNumber=$(cat $versionFile) devVersion="${versionNumber}.dev${currentDate}" echo "$devVersion" > $versionFile From f1a91eb9f0c09487df2f3234dfc464c4147c5fd9 Mon Sep 17 00:00:00 2001 From: Jen Hamon Date: Tue, 6 Jun 2023 23:09:39 -0400 Subject: [PATCH 09/12] Adjust time format --- .github/workflows/nightly-release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly-release.yaml b/.github/workflows/nightly-release.yaml index 4a6bb62b4..9ba8235bc 100644 --- a/.github/workflows/nightly-release.yaml +++ b/.github/workflows/nightly-release.yaml @@ -32,7 +32,7 @@ jobs: id: version run: | versionFile="pinecone/__version__" - currentDate=$(date +%Y%m%d.%s) + currentDate=$(date +%Y%m%d-%M%S) versionNumber=$(cat $versionFile) devVersion="${versionNumber}.dev${currentDate}" echo "$devVersion" > $versionFile From fc9bd4f4c2bf4bfc85c2b03e74aef09afd62a02b Mon Sep 17 00:00:00 2001 From: Jen Hamon Date: Tue, 6 Jun 2023 23:12:18 -0400 Subject: [PATCH 10/12] Remove dash in timestamp to conform to PEP 440 --- .github/workflows/nightly-release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly-release.yaml b/.github/workflows/nightly-release.yaml index 9ba8235bc..1156d2fda 100644 --- a/.github/workflows/nightly-release.yaml +++ b/.github/workflows/nightly-release.yaml @@ -32,7 +32,7 @@ jobs: id: version run: | versionFile="pinecone/__version__" - currentDate=$(date +%Y%m%d-%M%S) + currentDate=$(date +%Y%m%d%M%S) versionNumber=$(cat $versionFile) devVersion="${versionNumber}.dev${currentDate}" echo "$devVersion" > $versionFile From f68f4efd47603cec837ab70787b344c20475c64d Mon Sep 17 00:00:00 2001 From: Jen Hamon Date: Tue, 6 Jun 2023 23:17:43 -0400 Subject: [PATCH 11/12] Add hour into timestamp --- .github/workflows/nightly-release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly-release.yaml b/.github/workflows/nightly-release.yaml index 1156d2fda..9bba1d691 100644 --- a/.github/workflows/nightly-release.yaml +++ b/.github/workflows/nightly-release.yaml @@ -32,7 +32,7 @@ jobs: id: version run: | versionFile="pinecone/__version__" - currentDate=$(date +%Y%m%d%M%S) + currentDate=$(date +%Y%m%d%H%M%S) versionNumber=$(cat $versionFile) devVersion="${versionNumber}.dev${currentDate}" echo "$devVersion" > $versionFile From 62148ba05f58866eb0b750039e640685fbea33fe Mon Sep 17 00:00:00 2001 From: Jen Hamon Date: Thu, 8 Jun 2023 15:48:35 -0400 Subject: [PATCH 12/12] Add back test step --- .github/workflows/nightly-release.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/nightly-release.yaml b/.github/workflows/nightly-release.yaml index 9bba1d691..7799b0530 100644 --- a/.github/workflows/nightly-release.yaml +++ b/.github/workflows/nightly-release.yaml @@ -6,11 +6,11 @@ on: - cron: '0 0 * * *' jobs: -# run-tests: -# uses: './.github/workflows/testing.yaml' + run-tests: + uses: './.github/workflows/testing.yaml' pypi-nightly: - # needs: run-tests + needs: run-tests timeout-minutes: 30 name: pypi-nightly runs-on: ubuntu-latest @@ -55,7 +55,7 @@ jobs: - name: Upload Python client to PyPI id: pypi_upload env: - TWINE_REPOSITORY: testpypi - PYPI_USERNAME: ${{ secrets.TEST_PYPI_USERNAME }} - PYPI_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }} + TWINE_REPOSITORY: pypi + PYPI_USERNAME: ${{ secrets.PROD_PYPI_USERNAME }} + PYPI_PASSWORD: ${{ secrets.PROD_PYPI_PASSWORD }} run: make upload