Note
No momento, não há suporte para executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.
É necessário o acesso de gravação ao repositório é para executar essas etapas.
Cancelar a execução do fluxo de trabalho
-
Em GitHub, acesse a página principal do repositório.
-
No nome do repositório, clique em Ações.
-
Na barra lateral esquerda, clique no fluxo de trabalho que deseja ver.
-
Na lista de execuções do fluxo de trabalho, clique no nome da execução
queued
ouin progress
que deseja cancelar. -
No canto superior direito do fluxo de trabalho, clique em Cancelar fluxo de trabalho.
Etapas que o GitHub realiza para cancelar uma execução de fluxo de trabalho
Ao cancelar a execução do fluxo de trabalho, você poderá estar executando outro software que utiliza recursos relacionados à execução do fluxo de trabalho. Para ajudar você a liberar recursos relacionados à execução do fluxo de trabalho, pode ser útil entender as etapas que GitHub realiza para cancelar a execução de um fluxo de trabalho.
- Para cancelar a execução de fluxo de trabalho, o servidor avalia novamente as condições
if
para todas as tarefas em execução atualmente. Se a condição for avaliada comotrue
, o trabalho não será cancelado. Por exemplo, a condiçãoif: always()
será avaliada como true e o trabalho continuará sendo executado. Quando não há nenhuma condição, isso é equivalente à condiçãoif: success()
, que só é executada se a etapa anterior foi concluída com sucesso. - Para trabalhos que devem ser cancelados, o servidor envia uma mensagem de cancelamento para todas as máquinas dos executores com trabalhos que precisam ser cancelados.
- Para os trabalhos que continuam sendo executados, o servidor avalia as condições
if
para as etapas não concluídas. Se a condição for avaliada comotrue
, a etapa continuará sendo executada. Você pode usar a expressãocancelled
para aplicar uma verificação de statuscancelled()
. Para obter mais informações, confira "Avaliar expressões em fluxos de trabalho e ações". - Para etapas que precisam ser canceladas, o computador do executor envia
SIGINT/Ctrl-C
para o processo de entrada da etapa (node
para a ação do JavaScript,docker
para a ação de contêiner ebash/cmd/pwd
quandorun
é usado em uma etapa). Se o processo não for encerrado em até 7.500 ms, o executor enviaráSIGTERM/Ctrl-Break
ao processo e aguardará 2.500 ms para que o processo seja encerrado. Se o processo ainda estiver em execução, o corredor finalizará abruptamente a árvore do processo. - Após o tempo-limite de cancelamento de 5 minutos, o servidor irá forçar o encerramento de todos os trabalhos e etapas que não terminarem de ser executadas ou não concluírem o processo de cancelamento.