60 lines
1.8 KiB
YAML
60 lines
1.8 KiB
YAML
name: 'notify'
|
||
description: 'Send VK Teams notification'
|
||
|
||
inputs:
|
||
result:
|
||
required: false
|
||
default: "failure"
|
||
type: string
|
||
name:
|
||
required: false
|
||
type: string
|
||
default: build
|
||
|
||
runs:
|
||
using: 'composite'
|
||
steps:
|
||
- name: Set icon
|
||
id: icon
|
||
shell: bash
|
||
run: |
|
||
case "${{ inputs.result }}" in
|
||
success) echo "ICON=✅" >> $GITHUB_ENV ;;
|
||
failure) echo "ICON=❌" >> $GITHUB_ENV ;;
|
||
canceled) echo "ICON=🤦" >> $GITHUB_ENV ;;
|
||
started) echo "ICON=⚠️" >> $GITHUB_ENV ;;
|
||
*) echo "ICON=ℹ️" >> $GITHUB_ENV ;;
|
||
esac
|
||
|
||
- name: Notify VK Teams
|
||
uses: dosymep/vk-teams-action@v1.0.0
|
||
with:
|
||
token: ${{ secrets.VK_TEAMS_BOT_TOKEN }}
|
||
to: ${{ secrets.VK_TEAMS_CHAT_ID }}
|
||
format: MarkdownV2
|
||
message: |
|
||
*${{ github.repository }}* \- \[${{ inputs.name }}\]\(${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_number }}\) \
|
||
was *${{ inputs.result }}* by ${{ github.event.sender.login }} ${{ env.ICON }}
|
||
|
||
- name: Wait a bit (ensure send completes)
|
||
if: always()
|
||
shell: bash
|
||
run: |
|
||
echo "[DEBUG] Starting sleep to ensure message delivery..."
|
||
date
|
||
sleep 5
|
||
echo "[DEBUG] Finished sleep, message should have been delivered."
|
||
date
|
||
|
||
- name: Force wait for container cleanup
|
||
if: always()
|
||
shell: bash
|
||
run: |
|
||
echo "[DEBUG] Waiting for runner cleanup barrier..."
|
||
# пока Docker демон удаляет контейнер, удерживаем процесс активным
|
||
for i in {1..5}; do
|
||
docker ps -a | grep act || break
|
||
echo "[DEBUG] Runner still cleaning up... $i"
|
||
sleep 1
|
||
done
|
||
echo "[DEBUG] Cleanup done." |