Merge pull request #1167 from RasaHQ/prepare-release-3.11.0 #19
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release artifacts | |
on: | |
push: | |
tags: | |
- "*" | |
workflow_dispatch: | |
inputs: | |
tag_version: | |
description: 'Tag version:' | |
required: true | |
jobs: | |
release-artifacts-docker: | |
name: Release Artifacts Docker | |
runs-on: ubuntu-22.04 | |
outputs: | |
tag_version: ${{ steps.set-tag-version.outputs.tag_version }} | |
steps: | |
- name: Set tag version | |
id: set-tag-version | |
run: | | |
if [[ -n "$GITHUB_REF" && "$GITHUB_REF" == refs/tags/* ]]; then | |
echo "TAG_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV | |
echo "tag_version=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT | |
elif [[ -n "$INPUT_TAG_VERSION" ]]; then | |
echo "TAG_VERSION=$INPUT_TAG_VERSION" >> $GITHUB_ENV | |
echo "tag_version=$INPUT_TAG_VERSION" >> $GITHUB_OUTPUT | |
else | |
echo "No tag version found." | |
exit 1 | |
fi | |
env: | |
INPUT_TAG_VERSION: ${{ github.event.inputs.tag_version }} | |
- name: Check out code | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
with: | |
ref: ${{ env.TAG_VERSION }} | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@0d103c3126aa41d772a8362f6aa67afac040f80c # v3.1.0 | |
- name: Login to Docker Hub Registry 🔢 | |
run: echo ${{ secrets.DOCKER_HUB_PASSWORD }} | docker login -u ${{ secrets.DOCKER_HUB_USERNAME }} --password-stdin || true | |
- name: Build and Push Docker image 📦 | |
run: | | |
IMAGE_NAME=rasa/rasa-sdk | |
IMAGE_TAG="${TAG_VERSION}" | |
make build-and-push-multi-platform-docker | |
release-artifacts-pypi: | |
name: Release Artifacts PyPI | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout git repository 🕝 | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
with: | |
ref: ${{ needs.release-artifacts-docker.outputs.tag_version }} | |
- name: Set up Python 3.10 🐍 | |
uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 | |
with: | |
python-version: '3.10' | |
- name: Read Poetry Version 🔢 | |
run: | | |
echo "POETRY_VERSION=$(scripts/poetry-version.sh)" >> $GITHUB_ENV | |
shell: bash | |
- name: Install poetry 🦄 | |
uses: Gr1N/setup-poetry@15821dc8a61bc630db542ae4baf6a7c19a994844 | |
with: | |
poetry-version: ${{ env.POETRY_VERSION }} | |
- name: Build ⚒️ Distributions | |
run: poetry build | |
- name: Publish to PyPI 📦 | |
uses: pypa/gh-action-pypi-publish@bea5cda687c2b79989126d589ef4411bedce0195 | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_TOKEN }} | |
skip_existing: true | |
- name: Publish Release Notes 🗞 | |
if: success() | |
env: | |
GITHUB_TAG: ${{ needs.release-artifacts-docker.outputs.tag_version }} | |
GITHUB_REPO_SLUG: ${{ github.repository }} | |
GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }} | |
run: | | |
GITHUB_TAG=$GITHUB_TAG | |
pip install -U github3.py pep440-version-utils | |
python3 scripts/publish_gh_release_notes.py | |
release-artifact-slack-notifications: | |
name: Release Analytics Artifact Slack Notifications | |
runs-on: ubuntu-22.04 | |
needs: [release-artifacts-docker, release-artifacts-pypi] | |
if: always() # Ensures this job runs regardless of the result of previous jobs | |
steps: | |
- name: Set tag version | |
run: | | |
if [[ "$GITHUB_REF" == refs/tags/* ]]; then | |
echo "TAG_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV | |
else | |
echo "No tag version found." | |
exit 1 | |
fi | |
- name: Notify Slack of successful release 💬 | |
if: ${{ needs.build_docker_image.result == 'success' && needs.deploy.result == 'success' }} | |
uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 #v 1.25.0 | |
with: | |
# Send notification to #release slack channel | |
channel-id: "C024Z61K9QU" | |
slack-message: ":rocket: New *Rasa SDK* version `${{ needs.release-artifacts-docker.outputs.tag_version }}` has been released! More information can be found <https://github.com/RasaHQ/rasa-sdk/releases/tag/${{ env.TAG_VERSION }}|here>." | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} | |
- name: Notify Slack of unsuccessful release ⛔️ | |
if: ${{ needs.build_docker_image.result != 'success' || needs.deploy.result != 'success' }} | |
uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 #v 1.25.0 | |
with: | |
# Send notification to #devtribe slack channel | |
channel-id: "C061J0LGHU0" | |
slack-message: ":broken_heart: *Rasa SDK* release version `${{ needs.release-artifacts-docker.outputs.tag_version }}` has failed! More information can be found <https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|here>." | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} |