TG Telegram Group & Channel
.NET Разработчик | United States America (US)
Create: Update:

День 2336. #ЗаметкиНаПолях
Автоматически Перезапускаем Неудавшиеся Задания в GitHub Actions
GitHub Actions не предоставляет встроенного способа автоматического перезапуска. Если у вас возникают какие-то неполадки при выполнении заданий, это может быть проблемой, поскольку приходится перезапускать рабочий процесс вручную.

Однако вы можете попробовать использовать событие workflow_run для запуска нового рабочего процесса, когда предыдущий завершается неудачей. Это позволяет автоматически перезапускать неудавшийся рабочий процесс.

В следующем примере показан сценарий перезапуска неудавшегося рабочего процесса, если это первая попытка перезапуска. Если вы хотите продолжать попытки перезапуска, вы можете удалить условие github.event.workflow_run.run_attempt == 1. Кроме того, сценарий проверяет определённый код выхода (1), чтобы определить, что выполнение рабочего процесса завершилось неудачей. Вы можете настроить это условие в соответствии со своими потребностями.

# .github/workflows/retry.yaml (YAML)
name: retry
on:
workflow_run:
workflows: ["**"]
types:
- completed
branches:
- main

defaults:
run:
shell: pwsh

jobs:
retry:
runs-on: ubuntu-latest
permissions:
actions: write # Retry actions
checks: read # Get info about the run
steps:
- name: retry
if: ${{ github.event.workflow_run.conclusion == 'failure' && github.event.workflow_run.run_attempt == 1 }}
run: |
# Get info about the run
$output = gh run view --repo "${{ github.event.repository.full_name }}" "${{ github.event.workflow_run.id }}"
$output

# Rerun the failed workflow if needed
if ($output -match "Process completed with exit code 1") {
gh run rerun "${{ github.event.workflow_run.id }}" --repo "${{ github.event.repository.full_name }}"" --failed
}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Обратите внимание, что вы всё равно получите уведомление о неудачном выполнении рабочего процесса, но вам не придётся перезапускать его вручную.

Источник: https://www.meziantou.net/automatically-rerun-failed-github-actions-workflows.htm

День 2336. #ЗаметкиНаПолях
Автоматически Перезапускаем Неудавшиеся Задания в GitHub Actions
GitHub Actions не предоставляет встроенного способа автоматического перезапуска. Если у вас возникают какие-то неполадки при выполнении заданий, это может быть проблемой, поскольку приходится перезапускать рабочий процесс вручную.

Однако вы можете попробовать использовать событие workflow_run для запуска нового рабочего процесса, когда предыдущий завершается неудачей. Это позволяет автоматически перезапускать неудавшийся рабочий процесс.

В следующем примере показан сценарий перезапуска неудавшегося рабочего процесса, если это первая попытка перезапуска. Если вы хотите продолжать попытки перезапуска, вы можете удалить условие github.event.workflow_run.run_attempt == 1. Кроме того, сценарий проверяет определённый код выхода (1), чтобы определить, что выполнение рабочего процесса завершилось неудачей. Вы можете настроить это условие в соответствии со своими потребностями.
# .github/workflows/retry.yaml (YAML)
name: retry
on:
workflow_run:
workflows: ["**"]
types:
- completed
branches:
- main

defaults:
run:
shell: pwsh

jobs:
retry:
runs-on: ubuntu-latest
permissions:
actions: write # Retry actions
checks: read # Get info about the run
steps:
- name: retry
if: ${{ github.event.workflow_run.conclusion == 'failure' && github.event.workflow_run.run_attempt == 1 }}
run: |
# Get info about the run
$output = gh run view --repo "${{ github.event.repository.full_name }}" "${{ github.event.workflow_run.id }}"
$output

# Rerun the failed workflow if needed
if ($output -match "Process completed with exit code 1") {
gh run rerun "${{ github.event.workflow_run.id }}" --repo "${{ github.event.repository.full_name }}"" --failed
}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Обратите внимание, что вы всё равно получите уведомление о неудачном выполнении рабочего процесса, но вам не придётся перезапускать его вручную.

Источник: https://www.meziantou.net/automatically-rerun-failed-github-actions-workflows.htm


>>Click here to continue<<

.NET Разработчик




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)