GitHub action fails on npm ci - github

I have git action to run prettier(Code formatter). Below is the format.yml file of git action.
name: Format code with prettier
on:
push:
branches-ignore:
- master
jobs:
format:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout#v2
# Install NPM dependencies, cache them correctly
- name: Run prettier
run: |
npm ci
npm run prettier-check
The error that I am getting is listed below.
npm WARN old lockfile
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'react-lottie#1.2.3',
npm WARN EBADENGINE required: { npm: '^3.0.0' },
npm WARN EBADENGINE current: { node: 'v16.13.0', npm: '8.1.0' }
npm WARN EBADENGINE }
...
npm ERR! code 1
npm ERR! path /home/runner/work/Web/node_modules/node-sass
npm ERR! command failed
npm ERR! command sh -c node scripts/build.js
npm ERR! Building: /usr/local/bin/node /home/runner/work/Web/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! make: Entering directory '/home/runner/work/Web/node_modules/node-sass/build'
npm ERR! g++ '-DNODE_GYP_MODULE_NAME=libsass' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DLIBSASS_VERSION="3.5.5"' -I/home/runner/.node-gyp/16.13.0/include/node -I/home/runner/.node-gyp/16.13.0/src -I/home/runner/.node-gyp/16.13.0/deps/openssl/config -I/home/runner/.node-gyp/16.13.0/deps/openssl/openssl/include -I/home/runner/.node-gyp/16.13.0/deps/uv/include -I/home/runner/.node-gyp/16.13.0/deps/zlib -I/home/runner/.node-gyp/16.13.0/deps/v8/include -I../src/libsass/include -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -m64 -O3 -fno-omit-frame-pointer -std=gnu++14 -std=c++0x -fexceptions -frtti -MMD -MF ./Release/.deps/Release/obj.target/libsass/src/libsass/src/ast.o.d.raw -c -o Release/obj.target/libsass/src/libsass/src/ast.o ../src/libsass/src/ast.cpp
...
npm ERR! gyp verb extracted file from tarball include/node/uv/os390.h
npm ERR! gyp verb extracted file from tarball include/node/uv/posix.h
npm ERR! gyp verb extracted file from tarball include/node/uv/stdint-msvc2008.h
npm ERR! gyp verb extracted file from tarball include/node/uv/sunos.h
npm ERR! gyp verb extracted file from tarball include/node/uv/threadpool.h
npm ERR! gyp verb extracted file from tarball include/node/uv/unix.h
npm ERR! gyp verb extracted file from tarball include/node/uv/win.h
npm ERR! gyp verb extracted file from tarball include/node/uv/errno.h
npm ERR! gyp verb extracted file from tarball include/node/uv/tree.h
npm ERR!
Error: Process completed with exit code 1.
Git action yml file used to work before. I haven't changed any version/package-lock file. Still, it is failing. Can anyone suggest a solution from the error log?

It seems you are running different node version in your githubAction.
Set up the same node version that you use local(e.g. 14) before to run npm ci:
- uses: actions/setup-node#v2
with:
node-version: '14'
- name: Run prettier
run: |
npm ci
npm run prettier-check
...

Related

Error in github action while installing npm dependencies

I am trying to setup actions for NextJS app using the following yml file
name: Frontend Build
on: push
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout#v3
- uses: actions/setup-node#v3
with:
node-version: "18"
- run: |
cd frontend
npm ci
npm run build
but i get the error every time npm ci or npm install is run
It says :
Run cd frontend
npm ERR! code E401
npm ERR! Incorrect or missing password.
npm ERR! If you were trying to login, change your password, create an
npm ERR! authentication token or enable two-factor authentication then
npm ERR! that means you likely typed your password in incorrectly.
npm ERR! Please try again, or recover your password at:
npm ERR! https://www.npmjs.com/forgot
npm ERR!
npm ERR! If you were doing some other operation then your saved credentials are
npm ERR! probably out of date. To correct this please try logging in again with:
npm ERR! npm login
npm ERR! A complete log of this run can be found in:
npm ERR! /home/runner/.npm/_logs/2023-02-18T16_14_12_437Z-debug-0.log
Error: Process completed with exit code 1.
i did not see anyone setting password for public npm registry.
Thanks in advance
You have to create an .npmrc file with proper authToken when installing a secured dependencies.
name: "Create .npmrc"
run: |
echo "registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> .npmrc
Then you can call npm install.

Why am I getting an error message when I try to deploy my Gatsby website?

I have a Gatsby app.
When I build it locally, it works fine, but when I try to deploy it to Netlify or Gitlab, I get the below error message:
Netlify error message:
8:44:20 PM: npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
8:44:20 PM: npm WARN config location in the cache, and they are managed by
8:44:20 PM: npm WARN config [`cacache`](http://npm.im/cacache).
8:44:20 PM: npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
8:44:20 PM: npm WARN config location in the cache, and they are managed by
8:44:20 PM: npm WARN config [`cacache`](http://npm.im/cacache).
8:44:23 PM: npm ERR! code ERESOLVE
8:44:23 PM: npm ERR! ERESOLVE could not resolve
8:44:23 PM: npm ERR!
8:44:23 PM: npm ERR! While resolving: #mdx-js/react#1.6.22
8:44:23 PM: Creating deploy upload records
8:44:23 PM: npm ERR! Found: react#18.1.0
8:44:23 PM: npm ERR! node_modules/react
8:44:23 PM: npm ERR! react#"^18.1.0" from the root project
8:44:23 PM: npm ERR! peer react#"15.x || 16.x || 17.x || 18.x" from #gatsbyjs/reach-router#1.3.7
8:44:23 PM: npm ERR! node_modules/#gatsbyjs/reach-router
8:44:23 PM: npm ERR! #gatsbyjs/reach-router#"^1.3.6" from gatsby#4.17.1
8:44:23 PM: npm ERR! node_modules/gatsby
8:44:23 PM: npm ERR! gatsby#"^4.17.1" from the root project
8:44:24 PM: Failed during stage 'building site': Build script returned non-zero exit code: 1 (https://ntl.fyi/exit-code-1)
8:44:23 PM: npm ERR! 13 more (babel-plugin-remove-graphql-queries, ...)
8:44:23 PM: npm ERR! peer #gatsbyjs/reach-router#"^1.3.5" from gatsby-link#4.17.0
8:44:23 PM: npm ERR! node_modules/gatsby-link
8:44:23 PM: npm ERR! gatsby-link#"^4.17.0" from gatsby#4.17.1
8:44:23 PM: npm ERR! node_modules/gatsby
8:44:23 PM: npm ERR! gatsby#"^4.17.1" from the root project
8:44:23 PM: npm ERR! 13 more (babel-plugin-remove-graphql-queries, ...)
8:44:23 PM: npm ERR! 1 more (gatsby-react-router-scroll)
8:44:23 PM: npm ERR! 9 more (gatsby, gatsby-link, gatsby-plugin-image, ...)
8:44:23 PM: npm ERR!
8:44:23 PM: npm ERR! Could not resolve dependency:
8:44:23 PM: npm ERR! peer react#"^16.13.1 || ^17.0.0" from #mdx-js/react#1.6.22
8:44:23 PM: npm ERR! node_modules/#mdx-js/react
8:44:23 PM: npm ERR! #mdx-js/react#"^1.6.22" from the root project
8:44:23 PM: npm ERR! peer #mdx-js/react#"^1.0.0" from gatsby-plugin-mdx#3.17.0
8:44:23 PM: npm ERR! node_modules/gatsby-plugin-mdx
8:44:23 PM: npm ERR! gatsby-plugin-mdx#"^3.17.0" from the root project
8:44:23 PM: npm ERR!
8:44:23 PM: npm ERR! Conflicting peer dependency: react#17.0.2
8:44:23 PM: npm ERR! node_modules/react
8:44:23 PM: npm ERR! peer react#"^16.13.1 || ^17.0.0" from #mdx-js/react#1.6.22
8:44:23 PM: npm ERR! node_modules/#mdx-js/react
8:44:23 PM: npm ERR! #mdx-js/react#"^1.6.22" from the root project
8:44:23 PM: npm ERR! peer #mdx-js/react#"^1.0.0" from gatsby-plugin-mdx#3.17.0
8:44:23 PM: npm ERR! node_modules/gatsby-plugin-mdx
8:44:23 PM: npm ERR! gatsby-plugin-mdx#"^3.17.0" from the root project
8:44:23 PM: npm ERR!
8:44:23 PM: npm ERR! Fix the upstream dependency conflict, or retry
8:44:23 PM: npm ERR! this command with --force, or --legacy-peer-deps
8:44:23 PM: npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
8:44:23 PM: npm ERR!
8:44:23 PM: npm ERR! See /opt/buildhome/.npm/eresolve-report.txt for a full report.
8:44:23 PM: npm ERR! A complete log of this run can be found in:
8:44:23 PM: npm ERR! /opt/buildhome/.npm/_logs/2022-06-25T17_44_20_693Z-debug-0.log
8:44:23 PM: Error during NPM install
8:44:23 PM: Build was terminated: Build script returned non-zero exit code: 1
8:44:23 PM: Failing build: Failed to build site
8:44:24 PM: Finished processing build request in 11.866525747s
Gitlab erro message:
$ npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: #mdx-js/react#1.6.22
npm ERR! Found: react#18.1.0
npm ERR! node_modules/react
npm ERR! react#"^18.1.0" from the root project
npm ERR! peer react#"15.x || 16.x || 17.x || 18.x" from #gatsbyjs/reach-router#1.3.7
npm ERR! node_modules/#gatsbyjs/reach-router
npm ERR! #gatsbyjs/reach-router#"^1.3.6" from gatsby#4.17.1
npm ERR! node_modules/gatsby
npm ERR! gatsby#"^4.17.1" from the root project
npm ERR! 13 more (babel-plugin-remove-graphql-queries, ...)
npm ERR! peer #gatsbyjs/reach-router#"^1.3.5" from gatsby-link#4.17.0
npm ERR! node_modules/gatsby-link
npm ERR! gatsby-link#"^4.17.0" from gatsby#4.17.1
npm ERR! node_modules/gatsby
npm ERR! gatsby#"^4.17.1" from the root project
npm ERR! 13 more (babel-plugin-remove-graphql-queries, ...)
npm ERR! 1 more (gatsby-react-router-scroll)
npm ERR! 9 more (gatsby, gatsby-link, gatsby-plugin-image, ...)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react#"^16.13.1 || ^17.0.0" from #mdx-js/react#1.6.22
npm ERR! node_modules/#mdx-js/react
npm ERR! #mdx-js/react#"^1.6.22" from the root project
npm ERR! peer #mdx-js/react#"^1.0.0" from gatsby-plugin-mdx#3.17.0
npm ERR! node_modules/gatsby-plugin-mdx
npm ERR! gatsby-plugin-mdx#"^3.17.0" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: react#17.0.2
npm ERR! node_modules/react
npm ERR! peer react#"^16.13.1 || ^17.0.0" from #mdx-js/react#1.6.22
npm ERR! node_modules/#mdx-js/react
npm ERR! #mdx-js/react#"^1.6.22" from the root project
npm ERR! peer #mdx-js/react#"^1.0.0" from gatsby-plugin-mdx#3.17.0
npm ERR! node_modules/gatsby-plugin-mdx
npm ERR! gatsby-plugin-mdx#"^3.17.0" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See /root/.npm/eresolve-report.txt for a full report.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-06-25T18_16_56_033Z-debug-0.log
Cleaning up project directory and file based variables 00:01
ERROR: Job failed: exit code 1
I have deployed gatsby sites before and have not done anything differently this time. And the site is just a simple page with some CSS.
What could be the reason for there errors?
The error is a peer dependency conflict relating to versions of react, which provides guidance on how you can attempt to resolve it:
npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this
command with --force, or --legacy-peer-deps npm ERR! to accept an
incorrect (and potentially broken) dependency resolution.
To do this on Netlify you can use the NPM_FLAGS environment variable.

GitHub action in GitHub Enterprise giving 401 and 404s on npm packages

I am using semantic version action on my GitHub enterprise repository. It was working fine until recently, where it started failing with this error
Error: Command failed: npm ci --only=prod
npm ERR! code E401
npm ERR! Unable to authenticate, need: Basic realm="GitHub Package Registry"
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-08-23T10_41_00_344Z-debug.log
at ChildProcess.exithandler (child_process.js:295:12)
at ChildProcess.emit (events.js:210:5)
at maybeClose (internal/child_process.js:1021:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5) {
killed: false,
code: 1,
signal: null,
cmd: 'npm ci --only=prod',
stdout: '',
stderr: 'npm ERR! code E401\n' +
'npm ERR! Unable to authenticate, need: Basic realm="GitHub Package Registry"\n' +
'\n' +
'npm ERR! A complete log of this run can be found in:\n' +
'npm ERR! /root/.npm/_logs/2021-08-23T10_41_00_344Z-debug.log\n'
The action I use is not expected to publish anything to GitHub Package Registry, maybe only read from Package Registry. So after googling I found this on SO and elsewhere - https://stackoverflow.com/a/63243950/1182982
So I updated my action to look like this now (I added the step: Setup node, it wasn't there before)
#===============================================================================
#=========================== Semamtic Version ==========================
#===============================================================================
semver:
name: Semantic Versioning
runs-on: [self-hosted, linux, x64]
steps:
- name: Setup node
run: |
echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUBCOM_TOKEN }}" >> ~/.npmrc
echo "#yrshaikh:registry=https://npm.pkg.github.com" >> ~/.npmrc
echo 'registry "https://registry.yarnpkg.com"' >> ~/.yarnrc
- uses: actions/checkout#v2
- name: Semantic Release
id: semantic
# https://github.com/cycjimmy/semantic-release-action
uses: internal-front-end/semantic-release-action#v2
outputs:
new_release_published: ${{ steps.semantic.outputs.new_release_published }}
new_release_version: ${{ steps.semantic.outputs.new_release_version }}
Note, the GITHUBCOM_TOKEN I created using my github.com personal profile (And gave read packages/repo access) and OWNER_NAME in #yrshaikh:registry=https://npm.pkg.github.com I have filled in github.com user id.
After doing these changes the 401 authentication error has gone.
But I see a different error, which I have not been able to resolve -
Error: Command failed: npm --loglevel error ci --only=prod
npm ERR! code E404
npm ERR! 404 Not Found - GET https://npm.pkg.github.com/#actions%2fcore - npm package "core" does not exist under owner "actions"
npm ERR! 404
npm ERR! 404 '#actions/core#1.2.7' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-08-25T05_40_28_115Z-debug.log
at ChildProcess.exithandler (child_process.js:295:12)
at ChildProcess.emit (events.js:210:5)
at maybeClose (internal/child_process.js:1021:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5) {
killed: false,
code: 1,
signal: null,
cmd: 'npm --loglevel error ci --only=prod',
stdout: '',
stderr: 'npm ERR! code E404\n' +
'npm ERR! 404 Not Found - GET https://npm.pkg.github.com/#actions%2fcore - npm package "core" does not exist under owner "actions"\n' +
'npm ERR! 404 \n' +
"npm ERR! 404 '#actions/core#1.2.7' is not in the npm registry.\n" +
'npm ERR! 404 You should bug the author to publish it (or use the name yourself!)\n' +
'npm ERR! 404 \n' +
'npm ERR! 404 Note that you can also install from a\n' +
'npm ERR! 404 tarball, folder, http url, or git url.\n' +
'\n' +
'npm ERR! A complete log of this run can be found in:\n' +
'npm ERR! /root/.npm/_logs/2021-08-25T05_40_28_115Z-debug.log\n'
}
Any help or direction will be appreciated.
There doesn't seem to be anything wrong about the ~/.npmrc:
#${OWNER}:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${TOKEN}
Have you tried to regenerate that personal access token? Be aware that these secrets also have scopes, so they may resolve in a private repository, but not necessarily a public repository.
$GITHUB_TOKEN may not have sufficient permissions; try adding a personal access token instead.
What does npm login --scope=#yrshaikh --registry=https://npm.pkg.github.com give?

react-scrips: not found - Azure DevOps build pipeline

I am trying to create a build pipeline in Azure DevOps for my create-react-app project. However, when I run it I am getting the below error message during the npm install and build job.
2020-11-16T16:38:47.9641910Z npm ERR! Only absolute URLs are supported
2020-11-16T16:38:47.9906864Z
2020-11-16T16:38:47.9908747Z npm ERR! A complete log of this run can be found in:
2020-11-16T16:38:47.9910292Z npm ERR! /home/vsts/.npm/_logs/2020-11-16T16_38_47_983Z-debug.log
2020-11-16T16:38:48.2879019Z
2020-11-16T16:38:48.2879989Z > allpointsui#1.0.0 build /home/vsts/work/1/s
2020-11-16T16:38:48.2881040Z > react-scripts build
2020-11-16T16:38:48.2881441Z
2020-11-16T16:38:48.2927383Z sh: 1: react-scripts: not found
2020-11-16T16:38:48.2967162Z npm ERR! code ELIFECYCLE
2020-11-16T16:38:48.2968631Z npm ERR! syscall spawn
2020-11-16T16:38:48.2969062Z npm ERR! file sh
2020-11-16T16:38:48.2971442Z npm ERR! errno ENOENT
2020-11-16T16:38:48.2983381Z npm ERR! allpointsui#1.0.0 build: `react-scripts build`
2020-11-16T16:38:48.2983876Z npm ERR! spawn ENOENT
2020-11-16T16:38:48.2984513Z npm ERR!
2020-11-16T16:38:48.2984827Z npm ERR! Failed at the allpointsui#1.0.0 build script.
2020-11-16T16:38:48.2985278Z npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2020-11-16T16:38:48.3029598Z
2020-11-16T16:38:48.3032027Z npm ERR! A complete log of this run can be found in:
2020-11-16T16:38:48.3033461Z npm ERR! /home/vsts/.npm/_logs/2020-11-16T16_38_48_298Z-debug.log
2020-11-16T16:38:48.3150378Z ##[error]Bash exited with code '1'.
2020-11-16T16:38:48.3205602Z ##[section]Finishing: npm install and build
Here is my YAML file for the pipeline.
trigger:
-master
pool:
`vmImage: 'ubuntu-latest`
steps:
- task: NodeTool#0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- script: |
npm install
npm run build
displayName: 'npm install and build'
- task: ArchiveFiles#2
inputs:
rootFolderOrFile: '$(Build.BinariesDirectory)'
includeRootFolder: true
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
replaceExistingArchive: true
- task: PublishBuildArtifacts#1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
To resolve the error, I have tried doing npm i and npm audit fix which installed react-scripts4.0 but the error is still occurring. I have also seen a lot of people suggesting in other posts to delete the package-lock.json but we would prefer not do do that. Just another note: I can successfully run a build of the project on my local computer. Any suggestions or ideas of how to resolve this issue? Thank you in advance!
react-scrips: not found - Azure DevOps build pipeline
First, try to check if node_modules directory exists in the Azure repo, if yes, remove it and then run npm install and build.
Second, add the entire path in the package.json to invoke react-scripts:
"start": "node_modules/react-scripts/bin/react-scripts.js start"
Instead of just: "start": "react-scripts start".
If above not resolve your question, try to share your package.json in your question.

Ionic deployment build error with cypress in gitlab ci

I have a CI/CD process with gitlab ci for ionic app deployment for auto content update using this gitlab-ci.yml
image: cypress/base:10
stages:
- build
before_script:
- rm -rf node_modules
- npm install
- npm install -g tslint typescript
build_app:
stage: build
artifacts:
paths:
- /myApp/myApp-app/cypress/screenshots/
- /myApp/myApp-app/cypress/videos/
expire_in: 1 week
when: always
script:
# run tslint
- tslint --project tsconfig.json --config tslint.json
- npm run e2e
The above step is used for build. But build is getting failed with the below error.
starting server using command "ionic:serve"
and when url "http-get://localhost:8100" is responding
running tests using command "npm run cypress:run"
/bin/sh: 1: ionic:serve: not found
Error: server closed unexpectedly
at ChildProcess.onClose (/builds/myApp-ai/myApp-app/node_modules/start-server-and-test/src/index.js:68:14)
at ChildProcess.emit (events.js:182:13)
at maybeClose (internal/child_process.js:962:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! mapsit-app#0.0.1 e2e: `start-server-and-test ionic:serve http-get://localhost:8100 cypress:run`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the mapsit-app#0.0.1 e2e script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-09-08T05_50_39_435Z-debug.log
Uploading artifacts...
WARNING: /myApp/myApp-app/cypress/screenshots/: no matching files
WARNING: /myApp/myApp-app/cypress/videos/: no matching files
ERROR: No files to upload
ERROR: Job failed: exit code 1