1
resposta

Workflow CI - Git Hub => Actions => Pre-push

Olá,

Montei um workflow no GH Actions para testar o Lint porém esta retornando um erro de Permissão Negada, conforme anexo. Tentei utilizar o comando sudo para rodar as instalações mas também não funcionou.

O que fazer para o workflow funcionar?

Seguem os prints e os arquivos para verificar.

Package.json

{
  "name": "websocket_server",
  "version": "1.0.0",
  "description": "",
  "main": "server.js",
  "scripts": {
    "start": "nodemon server",
    "build": "yarn run sucrase server",
    "test": "echo \"Error: no test specified\" && exit 1",
    "lint": "eslint"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "cors": "^2.8.5",
    "dotenv": "^16.0.3",
    "express": "^4.18.2",
    "helmet": "^6.1.5",
    "http": "^0.0.1-security",
    "morgan": "^1.10.0",
    "nodemon": "^2.0.22",
    "react-router-dom": "^6.10.0",
    "socket.io": "^4.6.1",
    "sucrase": "^3.32.0",
    "ws": "^8.13.0"
  },
  "devDependencies": {
    "@typescript-eslint/eslint-plugin": "^5.59.1",
    "eslint": "^8.39.0",
    "eslint-config-standard-with-typescript": "^34.0.1",
    "eslint-plugin-import": "^2.27.5",
    "eslint-plugin-n": "^15.7.0",
    "eslint-plugin-promise": "^6.1.1",
    "typescript": "^5.0.4"
  }
}

pre-push.YAML

name: pre-push
on:
  push:
    branches-ignore:
      - main
jobs:
  test:
    name: Linter
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3![Insira aqui a descrição dessa imagem para ajudar na acessibilidade](https://cdn1.gnarususercontent.com.br/1/1401193/2ab41345-6d68-47b0-9aa4-56f1ffd4d523.png) 
        with:
          node-version: 18
      - name: Instala as dependencias
        run: sudo npm i
      - name: Roda o linter
        run: sudo npm run lint 
1 resposta

Olá Alexandre!

Pelo que pude ver nos arquivos que você enviou, o erro de permissão negada ocorre ao tentar instalar as dependências do projeto. Uma solução para isso é remover o comando "sudo" antes de "npm i" e "npm run lint", pois o uso do "sudo" pode estar causando o erro de permissão negada.

Além disso, verifique se o arquivo "pre-push.yaml" está na pasta ".github/workflows" do seu repositório e se o nome do arquivo está correto, com o hífen entre "pre" e "push".

Por fim, verifique se as configurações do seu workflow estão corretas, como a versão do Node.js e se as dependências necessárias estão presentes no arquivo "package.json".

Espero ter ajudado e bons estudos!