GitHub Actions concurrency: отменять устаревшие запуски

Категория: Backend · Язык: YAML · Обновлено:

concurrency не даёт запускать несколько одинаковых workflow одновременно. Для проверок pull request можно отменять старый запуск того же PR, когда в очередь попал новый commit. ????? ??????????? ?????????? ???????? ?????? ??????? ? ????????? ?????? ? ??????? ?????.

Рабочий пример

YAML
concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci && npm test

Группа включает workflow и номер pull request или ветку. Независимые изменения получают разные группы и не отменяют друг друга.

Частый вопрос

Почему предыдущий запуск не отменился?

Проверьте, что оба запуска вычисляют одинаковое group и cancel-in-progress включён. Для разных веток GitHub создаёт разные группы.