Gatilhos
Como os workflows são acionados
Os gatilhos são definidos sempre no atributo on dos workflows.
Existem diversos métodos para acionarmos os workflows, mas os principais são:
-
workflow_dispatch: acionamento manual. É possível definirmos entradas para parametrização da execução -
workflow_call: acionado via outro workflow. Também é possível definirmos entradas. -
schedule: acionado em um determinado padrão de horário. -
push: acionado sempre que acontecer um push.Se quiser ignorar algum gatilho via push/pr, basta utilizar um
[skip ci]na mensagem de um commit. -
pull_request: acionado sempre que um pull request for criado, fechado, etc. Podemos especificar coisas como:branches/branches-ignore: acionar apenas quando acontecer em uma determinada branch ou evitar a execução nela. No caso dos pull requests é verificada a branch alvo do PR.paths/paths-ignore: acionar apenas quando acontecer alteração em um caminho ou ignorar se algum arquivo for alterado. Um bom uso para ignorar caminhos é evitar deploys de arquivos que não são parte do código fonte, por exemplo, oREADME.mdde um projeto.
O uso do
paths/paths-ignoreé mutuamente exclusivo. Para ignorar um caminho ao usar opaths, basta utilizar o prefixo de negação!.A inclusão de um caminho depois de uma exclusão, adiciona o caminho novamente. Ou seja, a preferência é sempre decrescente.
Exemplos
Acionamento manual
name: Aciona aqui
on: workflow_dispatch
# ...
cronjob
name: Roda todos os dias às 07h (UTC)
on:
schedule:
- cron: '0 7 * * *'
# ...
Deploy com push na main
name: Deploy da main
on:
push:
branches:
- 'main'
# ...
Deploy apenas com alterações em código na main
name: Deploy na main com alteração de código
on:
push:
branches: [main]
paths:
- "src/**.js"
# ...
Referências
- Documentação oficial: Eventos que disparam fluxos de trabalho
- Documentação oficial: Ignorar execuções de fluxo de trabalho