Como funciona o fluxo de trabalho CI/CD com github / github actions
Olá, tenho a seguinte duvida, como funciona o fluxo de trabalho usando o github actions,minha duvida está mais relacionada na interação que se inicia na criação de uma branch para a nova funcionalidade/correção até o deploy, minha seguintes duvidas.
Quando faço um alteração tenho que criar testes, estes são rodados no github actions, quando faço uma pull request na main e a mesma é feita o merge o teste são rodados de novo ? E caso algum erro ocorra o deploy é cancelado ?
Tem como cancelar o commit caso os testes falhem ? Ou o fluxo é enviar as alterações o github roda os testes, você ve se houve erro nos testes, caso afirmativo inpeciona para ver o que aconteceu, corrige faz o commit repete o fluxo, então ai asim faz pull request ?
Já fiz um deploy na aws em uma aplicação laravel usando o github actions e o pipeline da aws, mas ainda tenho duvida neste fluxo envolvendo os testes, se alguem pude recomendar material fico grato ou se puder explicar agradeço grandemente.