From 3815c73b64bd0e2b75d10d48cbe90be9a847c992 Mon Sep 17 00:00:00 2001 From: Kye Date: Sat, 11 Nov 2023 01:02:30 -0500 Subject: [PATCH] release workflow Former-commit-id: e8e024fa73a3198f98bf2e596b0fad0467b8da56 --- .github/workflows/RELEASE.yml | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 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..d8d23297 --- /dev/null +++ b/.github/workflows/RELEASE.yml @@ -0,0 +1,49 @@ +name: release + +on: + pull_request: + types: + - closed + branches: + - master + paths: + - 'pyproject.toml' + +env: + POETRY_VERSION: "1.4.2" + +jobs: + if_release: + if: | + ${{ github.event.pull_request.merged == true }} + && ${{ contains(github.event.pull_request.labels.*.name, 'release') }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Install poetry + run: pipx install poetry==$POETRY_VERSION + - name: Set up Python 3.10 + uses: actions/setup-python@v4 + with: + python-version: "3.10" + cache: "poetry" + - name: Build project for distribution + run: poetry build + - name: Check Version + id: check-version + run: | + echo version=$(poetry version --short) >> $GITHUB_OUTPUT + - name: Create Release + uses: ncipollo/release-action@v1 + with: + artifacts: "dist/*" + token: ${{ secrets.GITHUB_TOKEN }} + draft: false + generateReleaseNotes: true + tag: v${{ steps.check-version.outputs.version }} + commit: master + - name: Publish to PyPI + env: + POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_API_TOKEN }} + run: | + poetry publish \ No newline at end of file