From 3f3fb60a55bb4849ba669cec1eed3c9af2cc75a5 Mon Sep 17 00:00:00 2001 From: Pavlo Paliychuk Date: Tue, 27 Aug 2024 16:15:18 -0400 Subject: [PATCH] feat: Add release workflow (#62) --- .github/workflows/release.yml | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..278de4dc --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,38 @@ +name: Release to PyPI + +on: + push: + tags: ["v*.*.*"] + +env: + POETRY_VERSION: "1.8.3" + +jobs: + release: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: write + environment: + name: release + url: https://pypi.org/p/zep-cloud + steps: + - uses: actions/checkout@v4 + - name: Install poetry + run: pipx install poetry==$POETRY_VERSION + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + cache: "poetry" + - name: Compare pyproject version with tag + run: | + TAG_VERSION=${GITHUB_REF#refs/tags/} + if [ "$TAG_VERSION" != "v$(poetry version --short)" ]; then + echo "Tag version $TAG_VERSION does not match the project version $(poetry version --short)" + exit 1 + fi + - name: Build project for distribution + run: poetry build + - name: Publish package distributions to PyPI + uses: pypa/gh-action-pypi-publish@release/v1