From ed6d0c1920ad2aeb79963d673c30b2d6172cdeaf Mon Sep 17 00:00:00 2001 From: Stainless Bot <107565488+stainless-bot@users.noreply.github.com> Date: Mon, 16 Oct 2023 10:28:21 +0100 Subject: [PATCH] ci: automatically publish to package managers (#189) --- .github/workflows/create-releases.yml | 14 ++++++++++++++ .github/workflows/publish-pypi.yml | 25 +++++++++++++++++++++++++ .github/workflows/release-doctor.yml | 1 + bin/check-release-environment | 4 ++++ release-please-config.json | 2 +- 5 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/publish-pypi.yml diff --git a/.github/workflows/create-releases.yml b/.github/workflows/create-releases.yml index 4153b478..b8a55e2f 100644 --- a/.github/workflows/create-releases.yml +++ b/.github/workflows/create-releases.yml @@ -18,3 +18,17 @@ jobs: with: repo: ${{ github.event.repository.full_name }} stainless-api-key: ${{ secrets.STAINLESS_API_KEY }} + + - name: Set up Python + if: ${{ steps.release.outputs.releases_created }} + uses: actions/setup-python@v4 + with: + python-version: '3.7' + + - name: Publish to PyPI + if: ${{ steps.release.outputs.releases_created }} + run: | + pipx install poetry + bash ./bin/publish-pypi + env: + PYPI_TOKEN: ${{ secrets.ANTHROPIC_PYPI_TOKEN }} diff --git a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml new file mode 100644 index 00000000..eadd99d7 --- /dev/null +++ b/.github/workflows/publish-pypi.yml @@ -0,0 +1,25 @@ +# workflow for re-running publishing to PyPI in case it fails for some reason +# you can run this workflow by navigating to https://www.github.com/anthropics/anthropic-sdk-python/actions/workflows/publish-pypi.yml +name: Publish PyPI +on: + workflow_dispatch: + +jobs: + publish: + name: publish + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.7' + + - name: Publish to PyPI + run: | + pipx install poetry + bash ./bin/publish-pypi + env: + PYPI_TOKEN: ${{ secrets.ANTHROPIC_PYPI_TOKEN }} diff --git a/.github/workflows/release-doctor.yml b/.github/workflows/release-doctor.yml index 3f12c76a..8787b0da 100644 --- a/.github/workflows/release-doctor.yml +++ b/.github/workflows/release-doctor.yml @@ -17,3 +17,4 @@ jobs: bash ./bin/check-release-environment env: STAINLESS_API_KEY: ${{ secrets.STAINLESS_API_KEY }} + PYPI_TOKEN: ${{ secrets.ANTHROPIC_PYPI_TOKEN }} diff --git a/bin/check-release-environment b/bin/check-release-environment index d639b0cd..88408458 100644 --- a/bin/check-release-environment +++ b/bin/check-release-environment @@ -6,6 +6,10 @@ if [ -z "${STAINLESS_API_KEY}" ]; then errors+=("The STAINLESS_API_KEY secret has not been set. Please contact Stainless for an API key & set it in your organisation secrets on GitHub.") fi +if [ -z "${PYPI_TOKEN}" ]; then + errors+=("The ANTHROPIC_PYPI_TOKEN secret has not been set. Please set it in either this repository's secrets or your organisation secrets.") +fi + len=${#errors[@]} if [[ len -gt 0 ]]; then diff --git a/release-please-config.json b/release-please-config.json index fde7c5ba..b2d23e55 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -58,7 +58,7 @@ } ], "reviewers": [ - "RobertCraigie" + "@anthropics/sdk" ], "release-type": "python", "extra-files": [