Проблемы с запуском действий Github в очереди

У меня есть случай, когда два действия GitHub выполняются одновременно (как и предполагалось) с нажатием на главную ветку. Проблема в том, что я хочу, чтобы он запускался в очереди, и мне не удалось найти никакой полезной документации по этому поводу. В моем случае мне нужно, чтобы действие выполнялось только после того, как выполнение того же действия завершается, поскольку мое развертывание прерывается, если оно все еще выполняет последнее. Мне пришлось бы иметь дело со сторонним клиентом, который я не хотел в первую очередь, чтобы заставить его ждать вместо прямого развертывания, я бы очень предпочел делать это на всем действии.

2 ответа

Решение

Я вижу здесь следующие решения:

  1. Вы можете "засыпать" зависимый рабочий процесс, чтобы имитировать ожидание первого рабочего процесса. wait-action может вам в этом помочь.
  2. Вы можете попробовать запустить второе действие из первого действия (вместо того, чтобы запускать его при push).

Но все эти варианты больше похожи на хаки. Действия GitHub предназначены для параллельной работы, и если вы хотите запускать действия в определенном порядке, вам следует подумать о том, чтобы использовать вместо этого задания и использоватьneedsсвойство устанавливать между ними зависимость. Пример:

jobs:
  job1:
    name: Run 1st job
  job2:
    name: Run 2nd job
    needs: job1

Документация - потребности

Вы можете использовать параллелизм .

      name: CI

on:
  pull_request:
    branches: [main]

concurrency: ci

jobs:

Документация

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