Olá, Luis!
Entendo sua dúvida. No caso do código não funcionar mesmo sem as variáveis de ambiente definidas no arquivo go.yml do Github Actions, é importante lembrar que as variáveis de ambiente definidas no Dockerfile são apenas valores padrões.
Quando você não define as variáveis de ambiente no arquivo go.yml, o Github Actions não consegue encontrar os valores padrões definidos no Dockerfile. Portanto, é necessário definir as variáveis de ambiente explicitamente no arquivo go.yml para que o código funcione corretamente.
No exemplo que você compartilhou, as variáveis de ambiente HOST
, PORT
, USER
, PASSWORD
e DBNAME
estão sendo definidas no arquivo go.yml do Github Actions. Dessa forma, o código consegue acessar essas variáveis e utilizar seus respectivos valores.
Espero ter ajudado e bons estudos!