48 lines
1.4 KiB
YAML
48 lines
1.4 KiB
YAML
|
name: Build and Publish Package
|
||
|
|
||
|
on:
|
||
|
pull_request:
|
||
|
branches:
|
||
|
- main
|
||
|
types:
|
||
|
- closed
|
||
|
|
||
|
jobs:
|
||
|
publish-package:
|
||
|
if: ${{ github.event.pull_request.merged == true && startsWith(github.event.pull_request.head.ref, 'release/v') }}
|
||
|
runs-on: ubuntu-latest
|
||
|
|
||
|
steps:
|
||
|
- name: Check out textarea main branch
|
||
|
uses: actions/checkout@v4
|
||
|
with:
|
||
|
ref: main
|
||
|
- name: Set up Python 3.10
|
||
|
uses: actions/setup-python@v5
|
||
|
with:
|
||
|
python-version: "3.10"
|
||
|
- name: Install Poetry
|
||
|
uses: snok/install-poetry@v1
|
||
|
with:
|
||
|
version: 1.2.2
|
||
|
- name: Configure poetry
|
||
|
run: poetry config --no-interaction pypi-token.pypi ${{ secrets.TEXTAREA_PYPI_TOKEN }}
|
||
|
- name: Get textarea Version
|
||
|
id: textarea_version
|
||
|
run: echo "textarea_version=$(poetry version --short)" >> $GITHUB_OUTPUT
|
||
|
- name: Build package
|
||
|
run: poetry build --no-interaction
|
||
|
- name: Publish package to PyPI
|
||
|
run: poetry publish --no-interaction
|
||
|
- name: Create a Github Release
|
||
|
uses: softprops/action-gh-release@v2
|
||
|
with:
|
||
|
tag_name: v${{ steps.textarea_version.outputs.textarea_version }}
|
||
|
target_commitish: main
|
||
|
token: ${{ secrets.TEXTAREA_RELEASE_TOKEN }}
|
||
|
body_path: CHANGELOG.md
|
||
|
files: |
|
||
|
LICENSE
|
||
|
dist/*textual_textarea*.whl
|
||
|
dist/*textual_textarea*.tar.gz
|