Olá, Deise.
Tudo bem?
Esse erro "invalid reference format" geralmente ocorre quando há algum problema com o formato da tag da imagem que você está tentando usar. No seu caso, parece que a variável ${{ github.sha }}
pode estar gerando um valor que não é aceito como tag pelo Docker Hub.
Aqui estão algumas coisas que você pode verificar e tentar:
Verifique o valor da variável github.sha
: Certifique-se de que o valor gerado por ${{ github.sha }}
é um hash válido do GitHub. Normalmente, ele deve ser um hash SHA-1 que consiste em 40 caracteres hexadecimais.
Use um valor fixo para testar: Tente substituir ${{ github.sha }}
por um valor fixo, como latest
, para ver se o problema persiste. Por exemplo:
run: docker build -t meuregistro/meu-app:latest .
Sanitização do valor da tag: Certifique-se de que o valor da tag não contém caracteres especiais ou espaços. Tags de imagens Docker devem seguir um formato específico, como letras minúsculas, números, pontos, traços e sublinhados.
Exemplo de sanitização: Se o valor do SHA estiver causando problemas, você pode usar apenas os primeiros 7 caracteres do SHA, que geralmente são suficientes para identificar uma versão de commit de forma única:
env:
SHORT_SHA: ${{ github.sha }}[0:7]
run: docker build -t meuregistro/meu-app:$SHORT_SHA .
Aqui está um exemplo completo com a sanitização do SHA:
env:
SHORT_SHA: ${{ github.sha }}[0:7]
run: docker build -t meuregistro/meu-app:$SHORT_SHA .
Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.