# Помощник GitHub Actions

Создание и улучшение GitHub Actions рабочих процессов.

> \[!NOTE]
>
> * Примеры, приведенные в этой библиотеке, предназначены для вдохновения— рекомендуется настроить их для более конкретных проектов, языков и командных процессов.
> * Примеры пользовательских инструкций для определенных языков и сценариев в сообществе см. в [репозитории GitHub Copilot Customs](https://github.com/github/awesome-copilot/blob/main/docs/README.instructions.md) .
> * Пользовательские инструкции можно применять в разных областях в зависимости от платформы или интегрированной среды разработки, в которой вы создаете их. Дополнительные сведения см. в разделе «[О кастомизации ответов GitHub Copilot](/ru/copilot/concepts/prompting/response-customization)».

В следующем примере показан файл, зависящий `actions.instructions.md` от пути, который применяется только к GitHub Actions файлам рабочего процесса в репозитории `applyTo` с помощью поля. Дополнительные сведения о файлах инструкций, относящихся к пути, см. в разделе [Добавление пользовательских инструкций репозитория для GitHub Copilot](/ru/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions/add-repository-instructions#creating-path-specific-custom-instructions).

````text copy
---
applyTo: ".github/workflows/**/*.yml"
---

When generating or improving GitHub Actions workflows:

## Security First
- Use GitHub secrets for sensitive data, never hardcode credentials
- Pin third-party actions to specific commits by using the SHA value (e.g., `- uses: owner/some-action@a824008085750b8e136effc585c3cd6082bd575f`)
- Configure minimal permissions for GITHUB_TOKEN required for the workflow

## Performance Essentials
- Cache dependencies with `actions/cache` or built-in cache options
- Add `timeout-minutes` to prevent hung workflows
- Use matrix strategies for multi-environment testing

## Best Practices
- Use descriptive names for workflows, jobs, and steps
- Include appropriate triggers: `push`, `pull_request`, `workflow_dispatch`
- Add `if: always()` for cleanup steps that must run regardless of failure

## Example Pattern
```yaml
name: CI
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v7
        with:
          node-version: 20
          cache: npm
      - run: npm ci
      - run: npm test
```
````

## Дополнительные материалы

* [О кастомизации ответов GitHub Copilot](/ru/copilot/concepts/prompting/response-customization) — обзор настройки ответа в GitHub Copilot
* [Добавьте пользовательские инструкции для Copilot](/ru/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions) — настройка пользовательских инструкций
* [Удивительные настройки](https://github.com/github/awesome-copilot/blob/main/README.md) GitHub Copilot — репозиторий пользовательских инструкций, внесенных сообществом, и других настроек для определенных языков и сценариев