Как создавать процессы GitHub Actions с нужными разрешениями.
Процессам CI нужны реальные триггеры, среда и команды тестов. Ограничивайте разрешения и не раскрывайте секреты недоверенному коду пул-реквестов.
Адаптируйте процесс под свою задачу.
Определите триггеры, среду и команды тестов проекта, затем выдайте только нужные им разрешения. Отделяйте выполнение недоверенных пул-реквестов от привилегированных релизных действий и проверяйте совместимость runner.
- Что вы предоставляете
- Стек репозитория и требования CI.
- Что вы получите
- Черновик YAML процесса с ограниченными разрешениями.
Посмотрите входные данные и результат.
Иллюстративные входные и выходные данные · учебный пример, а не реальный запуск WebAct
Полей ввода: Пример
Create a GitHub Actions workflow for a Node 24 project with committed package-lock.json and npm test. Trigger on push and pull request. No publishing or secrets required.
Готовый пример
name: Tests
on: [push, pull_request]
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: 24
package-manager-cache: false
- run: npm ci
- run: npm test
Action major versions follow their official examples at editorial review. Confirm runner compatibility and pin reviewed commit SHAs if required by your repository policy.Добавьте эти данные в промпт и скопируйте его в WebAct, чтобы попробовать задачу. Ваш результат может отличаться от примера.
Решения и устранение проблем.
Должен ли тестовый процесс по умолчанию получать права записи?
Используйте права только для чтения, если тестовому заданию запись не нужна. Добавляйте привилегии лишь для явно необходимого действия.
Почему процесс падает до запуска тестовой команды?
Проверьте lock-файл, версию среды, рабочий каталог и требования action к runner. Сбои подготовки отличаются от падения тестов.
Источник для этого сценария.
Попробуйте на собственном источнике.
Замените пример своим материалом в промпте. Сохраните нужные требования и скопируйте задачу в WebAct.
Настроить и скопировать задачу ↑