I'm trying to integrate cypress with concourse. I was referring to these steps. mentioned here, https://notes.dmitriydubson.com/testing/e2e-testing/cypress-and-concourse/ . However, I'm getting this error. Any help is much appreciated.
> cypressAutomation@1.0.0 testHeadless /tmp/build/ae3c03f4/cypressgit
> cypress run
No version of Cypress is installed in: /root/.cache/Cypress/7.3.0/Cypress
Please reinstall Cypress by running: cypress install
----------
Cypress executable not found at: /root/.cache/Cypress/7.3.0/Cypress/Cypress
----------
Platform: linux (Debian - 8.11)
Cypress Version: 7.3.0
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! cypressAutomation@1.0.0 testHeadless: `cypress run`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the cypressAutomation@1.0.0 testHeadless 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/2022-01-03T05_27_23_867Z-debug.log
This is my yaml file.
pipeline.yml
resources:
- name: cypressgit
type: git
icon: github
source:
uri: https://github.com/Sparsh79/LearningCypress.git
branch: master
jobs:
- name: test
serial: true
plan:
- get: cypressgit
trigger: true
- task: runtests
privileged: true
file: cypressgit/test.yml
test.yml
platform: linux
image_resource:
type: docker-image
source:
repository: ddubson/cypress-e2e
inputs:
- name: cypressgit
outputs:
- name: npm-output
run:
path: /bin/bash
args:
- cypressgit/ci/e2e.sh
e2e.sh
cd cypressgit/
npm run testHeadless
test command in package.json
"scripts": {
"testHeadless": "node_modules/.bin/cypress run",
"withHeadTest": "npm run testHeadless -- --headed",
"chromeTest": "npm run testHeadless -- --browser chrome"
}
Quick fix: if you want to push the job to completion, amend the e2e.sh
file to install cypress in the container along with its dependency:
# new e2e.sh
cd cypressgit/
apt install -y libgbm1
npx cypress install
npm run testHeadless
It will work, however, it will reinstall cypress every time you run the container. So...
Proper fix:
ddubson/cypress-e2e
; install cypress
and libgbm1
on it and publish it to docker.repository
in test.yml
to your freshly published container handle in dockerhub.test
and profit!