GitHub Actions reusable workflow: вызвать workflow_call

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

Общие шаги CI вынесите в workflow с событием workflow_call и вызывайте из других workflow. Типизированные inputs документируют контракт между общей сборкой и её вызывающей стороной.

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

YAML
on:
  workflow_call:
    inputs:
      node-version:
        type: string
        required: false
        default: '22'
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/setup-node@v4
        with:
          node-version: ${{ inputs.node-version }}
      - run: npm ci && npm test

Вызывайте workflow на уровне job через uses: owner/repo/.github/workflows/test.yml@v1. Параметры передаются в with, секреты — отдельно через secrets.

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

Как передать secret?

Объявите его в on.workflow_call.secrets или используйте secrets: inherit внутри доверенной организации. Передавайте только необходимые значения.