PETOSS 576 | Added the slack alert #10
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: Publish | |
on: | |
release: | |
types: [published] | |
pull_request: | |
branches: | |
- master | |
jobs: | |
publish: | |
runs-on: ubuntu-latest | |
outputs: | |
release_number: ${{steps.get_latest_release_number.outputs.release_tag}} | |
permissions: | |
contents: write | |
pull-requests: write | |
steps: | |
- name: Checkout xero-python repo | |
uses: actions/checkout@v4 | |
with: | |
repository: XeroAPI/xero-python | |
path: xero-python | |
- name: Set up Python environment | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.8' | |
cache: 'pip' | |
- name: Install dependencies | |
run: | | |
python -m venv venv | |
source venv/bin/activate | |
pip install --upgrade pip | |
sudo pip install twine | |
working-directory: xero-python | |
- name: Fetch Latest release number | |
id: get_latest_release_number | |
run: | | |
latest_version=$(gh release view --json tagName --jq '.tagName') | |
echo "Latest release version is - $latest_version" | |
echo "::set-output name=release_tag::$latest_version" | |
working-directory: xero-python | |
env: | |
GH_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Build Package | |
run: python setup.py sdist | |
working-directory: xero-python | |
- name: Publish to PyPi | |
env: | |
TWINE_USERNAME: __token__ | |
TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }} | |
run: twine upload dist/* | |
working-directory: xero-python | |
notify-slack-on-success: | |
runs-on: ubuntu-latest | |
needs: publish | |
if: success() | |
steps: | |
- name: Checkout xero-pythonrepo | |
uses: actions/checkout@v4 | |
with: | |
repository: XeroAPI/xero-python | |
path: xero-python | |
- name: Send slack notification on success | |
uses: ./xero-python/.github/actions/notify-slack | |
with: | |
heading_text: "Publish job has succeeded !" | |
alert_type: "thumbsup" | |
job_status: "Success" | |
XERO_SLACK_WEBHOOK_URL: ${{secrets.XERO_SLACK_WEBHOOK_URL}} | |
job_url: "https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}" | |
button_type: "primary" | |
package_version: ${{needs.publish.outputs.release_number}} | |
repo_link: ${{github.server_url}}/${{github.repository}} | |
notify-slack-on-failure: | |
runs-on: ubuntu-latest | |
needs: publish | |
if: failure() | |
steps: | |
- name: Checkout xero-python repo | |
uses: actions/checkout@v4 | |
with: | |
repository: XeroAPI/xero-python | |
path: xero-python | |
- name: Send slack notification on failure | |
uses: ./xero-python/.github/actions/notify-slack | |
with: | |
heading_text: "Publish job has failed !" | |
alert_type: "alert" | |
job_status: "Failed" | |
XERO_SLACK_WEBHOOK_URL: ${{secrets.XERO_SLACK_WEBHOOK_URL}} | |
job_url: "https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}" | |
button_type: "danger" | |
package_version: ${{needs.publish.outputs.release_number}} | |
repo_link: ${{github.server_url}}/${{github.repository}} |