注意
- 此库中的示例旨在提供灵感,建议进行相应调整,使其更特定于你的项目、语言和团队流程。
- 如需获取社区提供的有关特定语言和场景的自定义指令示例,请参阅出色的 GitHub Copilot 自定义内容仓库。
- 可以跨不同范围应用自定义指令,具体取决于要在其中创建自定义指令的平台或 IDE。 有关详细信息,请参阅“关于自定义 GitHub Copilot 聊天助手响应”。
以下示例使用 applyTo
字段显示了特定于路径的 actions.instructions.md
文件,该文件仅适用于仓库中的 GitHub Actions 工作流文件。 有关特定于路径的说明文件的详细信息,请参阅 为 GitHub Copilot 添加存储库自定义说明。
--- 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@v5 - uses: actions/setup-node@v4 with: node-version: 20 cache: npm - run: npm ci - run: npm test ```
---
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@v5
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- run: npm ci
- run: npm test
```
其他阅读材料
- 关于自定义 GitHub Copilot 聊天助手响应 - GitHub Copilot 中的响应自定义概述
- 为 GitHub Copilot 配置自定义指令 - 如何配置自定义指令
- 出色的 GitHub Copilot 自定义内容 - 社区提供的自定义指令的仓库以及特定语言和场景的其他自定义内容