GitHub Actions permissions: GITHUB_TOKEN только для чтения

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

Задайте permissions явно, чтобы GITHUB_TOKEN не получил ненужный доступ на запись. Для workflow, который только скачивает код и запускает тесты, достаточно contents: read. ????? ??????????? ?????????? ???????? ?????? ??????? ? ????????? ?????? ? ??????? ?????.

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

YAML
permissions:
  contents: read
jobs:
  test:
    runs-on: ubuntu-latest
    permissions:
      contents: read
    steps:
      - uses: actions/checkout@v4
        with:
          persist-credentials: false
      - run: npm ci && npm test

Настройка на уровне workflow задаёт базовые права, а конкретный job может получить отдельный минимум. persist-credentials: false не оставляет credential checkout в Git config.

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

Почему job не может создать release?

Создание release требует contents: write. Добавьте это разрешение только job публикации, а тестовый job оставьте на чтение.