Como criar workflows do GitHub Actions com permissões adequadas.
Workflows de CI precisam dos gatilhos, runtime e comandos de teste reais. Limite permissões e não exponha segredos a código não confiável de pull requests.
Adapte o fluxo à sua tarefa.
Defina gatilhos, runtime e comandos de teste do projeto e conceda apenas as permissões necessárias. Separe execução de pull requests não confiáveis de ações privilegiadas de release e verifique compatibilidade do runner.
- O que você fornece
- Stack do repositório e requisitos de CI.
- O que você recebe
- Rascunho YAML do workflow com permissões delimitadas.
Veja a entrada e o resultado.
Entrada e saída ilustrativas · exemplo didático, não uma execução real do WebAct
Exemplo campo
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.
Exemplo completo
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.Carregue esta entrada no prompt e copie para o WebAct para testar a tarefa. Seu resultado pode ser diferente da ilustração.
Decisões e solução de problemas.
Um workflow de teste deve receber escrita por padrão?
Use permissões somente leitura quando o job não precisar escrever. Acrescente privilégios apenas para uma ação claramente necessária.
Por que o workflow falha antes de executar o teste?
Confira lockfile, versão do runtime, diretório de trabalho e requisitos de runner da action. Falhas de preparação são diferentes de testes com falha.
Referência para este fluxo de trabalho.
Teste com sua própria fonte.
Substitua o exemplo pelo seu material no prompt. Mantenha os requisitos necessários e copie a tarefa para o WebAct.
Personalizar e copiar a tarefa ↑