Как всегда отключать/пропускать задание в действиях Github? (Не шаг/действие)

У меня есть следующий рабочий процесс:

name: CICD

# ...

jobs:
  CI:
    uses: ...
  CD:
    needs: [CI]
    uses: ...

Я столкнулся с проблемой, которая требует, чтобы я временно отключил задание компакт-диска, которое использует другие рабочие процессы (а не только один шаг или действие).

Что я пробовал:

Кажется, недавно появилось обновление о «Пропуске выполнения рабочего процесса»

Вы можете пропустить выполнение рабочего процесса, вызванное событиями push и pull_request, включив команду в сообщение фиксации.

Звучит неудобно, внизу упоминают:

Вы также можете отключить запуск рабочего процесса. Для получения дополнительной информации см. «Отключение и включение рабочего процесса».

В котором вы можете отключить и снова включить рабочий процесс с помощью пользовательского интерфейса GitHub, REST API или интерфейса командной строки GitHub. Однако это, похоже, не работает, когда рабочий процесс используется как многоразовый рабочий процесс.

Я также могу просто опустить логику:

name: CICD

# ...

jobs:
  CI:
    uses: ...

Но я хочу по-другому сохранить историю контроля версий (+ сделать так, чтобы мой пайплайн явно указывал, что задание было отключено/пропущено)

Есть ли обходной путь?

Редкие достижения на Github ✨
Редкие достижения на Github ✨
Редкая коллекция доступна в профиле на GitHub ✨
2
0
573
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Да, вы можете использовать условия для управления выполнением задания:

Вместо этого вы можете использовать условие jobs.<job_id>.if, чтобы предотвратить запуск задания, если условие не выполнено.

Поэтому, если вы обновите рабочий процесс задания компакт-диска до неопределенного отрицательного состояния:

name: CICD

# ...

jobs:
  CI:
    uses: ...
  CD:
    if: false
    needs: [CI]
    uses: ...

Это приведет к тому, что задание всегда будет пропущено (т. Е. «Отключено»).

Другие вопросы по теме