GitHub Actions concurrency: отменять устаревшие запуски
concurrency не даёт запускать несколько одинаковых workflow одновременно. Для проверок pull request можно отменять старый запуск того же PR, когда в очередь попал новый commit. ????? ??????????? ?????????? ???????? ?????? ??????? ? ????????? ?????? ? ??????? ?????.
Рабочий пример
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 создаёт разные группы.