diff --git a/.github/workflows/python_rc.yml b/.github/workflows/python_rc.yml new file mode 100644 index 000000000..2df3b371a --- /dev/null +++ b/.github/workflows/python_rc.yml @@ -0,0 +1,52 @@ +name: Python SDK Release Candidate + +on: + pull_request: + +permissions: + contents: write + +jobs: + release: + name: Release Candidate + if: ${{ contains( github.event.pull_request.labels.*.name, 'python-rc') }} + runs-on: ubuntu-latest + defaults: + run: + working-directory: packages/python-sdk + + steps: + - name: Checkout Repo + uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.10" + + - name: Install and configure Poetry + uses: snok/install-poetry@v1 + with: + version: 1.5.1 + virtualenvs-create: true + virtualenvs-in-project: true + installer-parallel: true + + - name: Release Candidate + run: | + poetry version prerelease + poetry build + poetry config pypi-token.pypi ${PYPI_TOKEN} && poetry publish --skip-existing + env: + PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} + + - name: Commit new versions + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git commit -am "[skip ci] Release new versions" || exit 0 + git push + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file