5
respostas

Build no workflows não funfa

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

5 respostas

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:

  1. Abra o arquivo go.yml na pasta .github/workflows.
  2. Adicione um passo para instalar o 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:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

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