O IFCE está desenvolvendo internamente um sistema de emissão de diplomas digitais. A equipe de TI adotou GitLab CI como plataforma de CI/CD e precisa configurar o pipeline no arquivo .gitlab-ci.yml com os seguintes requisitos: (1) testes automatizados devem ser executados a cada push em qualquer branch do repositório; (2) a imagem Docker da aplicação deve ser construída somente quando houver merge na branch main; (3) a implantação no ambiente de homologação do IFCE deve ocorrer automaticamente após build bem-sucedido na branch main, sem implantações acidentais em branches de desenvolvimento. Qual estrutura de configuração no .gitlab-ci.yml atende corretamente a esses três requisitos na ordem especificada?