GitHub Actions matrix: проверить несколько версий Node.js

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

strategy.matrix запускает job для нескольких версий Node.js без копирования шагов. Это проверяет совместимость с поддерживаемыми runtime на каждом push или pull request. ????? ??????????? ?????????? ???????? ?????? ??????? ? ????????? ?????? ? ??????? ?????.

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

YAML
jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        node-version: [20, 22]
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
      - run: npm ci
      - run: npm test

GitHub создаёт отдельный job для каждой версии. fail-fast: false позволяет увидеть результаты остальных комбинаций даже после ошибки одной версии.

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

Как добавить Windows в матрицу?

Добавьте список os и задайте runs-on через matrix.os. Число jobs станет произведением количества версий Node и операционных систем.