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."