diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml new file mode 100644 index 000000000..dffc29997 --- /dev/null +++ b/.github/workflows/build-and-publish.yml @@ -0,0 +1,38 @@ +name: Build & Publish + +on: + workflow_call: + secrets: + PYPI_TOKEN: + required: true + +jobs: + + cd-job: + name: Continuous Delivery + runs-on: ubuntu-latest + steps: + + - name: SCM Checkout + uses: actions/checkout@v4 + + - name: Setup Python & Poetry Environment + uses: exasol/python-toolbox/.github/actions/python-environment@0.20.0 + + - name: Build Artifacts + run: poetry build + + - name: PyPi Release + env: + POETRY_HTTP_BASIC_PYPI_USERNAME: "__token__" + POETRY_HTTP_BASIC_PYPI_PASSWORD: "${{ secrets.PYPI_TOKEN }}" + run: poetry publish + + - name: GitHub Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: > + gh release create ${GITHUB_REF_NAME} + --title ${GITHUB_REF_NAME} + --notes-file ./doc/changes/changes_${GITHUB_REF_NAME}.md + dist/*