2
respostas

erro no github actions

tentei rodar o seguinte código no github actions




name: Go

on:
  push:
    branches: [ teste_sistemas ]
  pull_request:
    branches: [ teste_sistemas ]

jobs:

  test:
    name: Test on node ${{ matrix.go_version }} and ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        go_version: ['1.18', '1.17', '>=1.18']
        os: [ubuntu-latest, windows-latest]

    steps:
    - uses: actions/checkout@v3

    - name: Set up Go
      uses: actions/setup-go@v3
      with:
        go-version: ${{ matrix.go_version }}   

    - name: Build-DB
      run: docker-compose build

    - name: Create-DB
      run: docker-compose up -d

  build:
    needs: test
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest]

    steps:
    - uses: actions/checkout@v3

    - name: Build
      run: go build -v main.go

o erro retornado foi:

no matching manifest for windows/amd64 10.0.20348 in the manifest list entries
Error: Process completed with exit code 1.

Alguma solução para isso? Tentei procurar nos foruns de ajuda mas só vi solução em S.O windows. O meu é linux.

2 respostas

Olá, Hugo!

Pelo que entendi, você está tentando rodar um código no Github Actions que utiliza o Docker em um ambiente Windows e está recebendo o erro "no matching manifest for windows/amd64 10.0.20348 in the manifest list entries". Isso geralmente ocorre quando o Docker não consegue encontrar uma imagem compatível com a arquitetura do sistema operacional que você está usando.

No seu caso, o erro está acontecendo porque o Docker não está encontrando uma imagem compatível com o Windows. Isso pode estar ocorrendo porque a imagem que você está tentando usar não suporta Windows ou porque o Docker no Windows não suporta a versão da imagem que você está tentando usar.

Uma possível solução para o seu problema seria verificar se a imagem que você está tentando usar suporta Windows. Se a imagem suportar Windows, você pode tentar atualizar o Docker no seu sistema operacional para a versão mais recente.

Outra possível solução seria adaptar seu código para rodar em ambientes Linux, já que você mencionou que seu sistema operacional é Linux. Isso pode ser feito modificando a matriz de estratégia para incluir apenas 'ubuntu-latest' e removendo 'windows-latest'.

Aqui está um exemplo de como você poderia fazer isso:

jobs:

  test:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        go_version: ['1.18', '1.17', '>=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: Build-DB
      run: docker-compose build
      
    - name: Create-DB
      run: docker-compose up -d
      
  build:
    needs: test
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest]
    
    steps:
    - uses: actions/checkout@v3

    - name: Build
      run: go build -v main.go

Espero ter ajudado e bons estudos!

Oi, Matheus.

Obrigado pelo retorno.

A solucao que me propos foi a que eu fiz na epoca.

Abraco!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software