Olá, Vitor.
Tudo bem?
Pelo que vi na imagem, o erro que você está enfrentando está relacionado ao comando docker-compose
não encontrado no ambiente de execução do GitHub Actions. Esse erro ocorre porque o docker-compose
não está instalado por padrão nos runners do GitHub.
Para tentar resolver esse problema, você pode tentar adicionar um passo no seu workflow para instalar o docker-compose
antes de tentar usá-lo. Vou te mostrar como fazer isso:
go.yml
na pasta .github/workflows
.docker-compose
antes de executar o comando docker-compose build
.Aqui está um exemplo de como seu arquivo go.yml
pode ficar:
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ['ubuntu-latest', 'ubuntu-18.04']
go_version: ['1.18', '1.17', '>=1.18']
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go_version }}
- name: Install dependencies
run: go mod download
- name: Test
run: go test ./...
build:
needs: test
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ['ubuntu-latest', 'ubuntu-18.04']
steps:
- uses: actions/checkout@v3
- name: Install Docker Compose
run: |
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
- name: Build
run: docker-compose build
Neste exemplo, adicionei um passo chamado Install Docker Compose
que baixa e instala o docker-compose
antes de executar o comando docker-compose build
.
Espero que essa sugestão resolva o problema. Qualquer dúvida manda aqui. Bons estudos!
Tive que dar uma bela estudata e fiz algumas alterações. Isso para rodar o workflows, segue o doc go.yml
name: Go
on: push: branches: [ '' ] pull_request: branches: [ '' ]
jobs: test: runs-on: ${{ matrix.os }} env: HOST: localhost PORT: 5432 USER: root PASSWORD: root DBNAME: root strategy: matrix: go_version: ['1.20', '1.18'] os: ['ubuntu-latest'] steps: - uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go_version }}
- name: Install Docker Compose
run: |
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d '"' -f 4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
- name: Build-DB
run: docker-compose build
- name: Create-DB
run: docker-compose up -d
- name: Test
run: go test -v main_test.go
build: needs: test runs-on: ${{ matrix.os }} strategy: matrix: os: ['ubuntu-latest'] go_version: ['1.20', '1.18'] steps: - uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v3 with: go-version: ${{ matrix.go_version }} - name: Build run: go build -v main.go
Olá Victor.
Que bom que conseguiu encontrar uma solução! O importante é conseguir seguir com os testes e continuar o curso sem problemas. Se surgir mais alguma dúvida, manda aqui. Bons estudos e sucesso no seu aprendizado!
Tive o mesmo problema, ajustei alterando "docker-compose" por "docker compose" e funcionou. Não entendi muito bem o motivo, mas deve ter mudado algo no github actions.
Outro problema que podem chegar a ter atualmente:
O github não suporta mais o ubuntu 18.04 e a job fica travada nessa parte. A solução é trocar para o ubuntu-20.04