Skip to content

Release latest SDK

Release latest SDK #5

Workflow file for this run

name: Publish SDK
on:
push:
branches:
- master
paths:
- 'src/**'
permissions:
contents: write
pull-requests: write
id-token: write
jobs:
release_draft:
name: Create release draft
runs-on: ubuntu-latest
outputs:
release_body: ${{ steps.create_release_draft.outputs.body }}
release_tag: ${{ steps.create_release_draft.outputs.tag_name }}
release_html_url: ${{ steps.create_release_draft.outputs.html_url }}
release_id: ${{ steps.create_release_draft.outputs.id }}
steps:
- name: "Create release draft"
id: create_release_draft
uses: release-drafter/release-drafter@v6
with:
commitish: master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build:
name: Build SDK
runs-on: ubuntu-latest
needs:
- release_draft
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
working-directory: src
- name: Build package
run: python -m build
working-directory: src
- name: Publish package
uses: pypa/[email protected]
with:
packages-dir: src/dist
release_publish:
name: Publish release
runs-on: ubuntu-latest
needs:
- release_draft
- build
steps:
- name: "Publish release"
uses: eregon/publish-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
release_id: ${{ needs.release_draft.outputs.release_id }}
post_slack_job:
name: Post info to Slack in #engeering-releases channel
needs:
- release_draft
- release_publish
runs-on: ubuntu-latest
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
steps:
- name: Format to Slack msg
uses: LoveToKnow/[email protected]
id: slack_msg_converter
with:
text: ${{needs.release_draft.outputs.release_body}}
- name: Post to a Slack channel
if: success()
id: slack
uses: slackapi/[email protected]
with:
channel-id: 'C027FC31SVD'
payload: |
{
"text": "New version post",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "New <${{ github.server_url }}/${{ github.repository }}|`${{ github.repository }}`> release <${{ github.server_url }}/${{ github.repository }}/releases/${{ needs.create_release_draft_job.outputs.release_tag }}|${{ needs.create_release_draft_job.outputs.release_tag }}> is available! :tada:"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": ${{toJSON(steps.slack_msg_converter.outputs.text)}}
}
}
]
}