Error: EACCES: permiso denegado, mkdir ‘/__w/**’
Estoy intentando ejecutar un trabajo de ejecución de cypress en GitHub Actions y me encuentro con el siguiente problema:
Advertencia: No se pudo grabar el video.
Este error no alterará el código de salida.
Error: EACCES: permiso denegado, mkdir '/__w/{{nombre-repositorio}}/{{nombre-repositorio}}/cypress/videos/'
Aquí hay un fragmento de mi archivo .yml:
- name: Ejecutar pruebas de Cypress
run: |
if [ ! -z ${{env.CYPRESS_RECORD_KEY}} ]; then
npx cypress run -P ${{env.CYPRESS_PROJECT_PATH}} -C ${{env.CYPRESS_CONFIG_FILE}} -r ${{env.CYPRESS_REPORTER}} ${{env.ADDITIONAL_OPTIONS}} --record
else
npx cypress run -P ${{env.CYPRESS_PROJECT_PATH}} -C ${{env.CYPRESS_CONFIG_FILE}} -r ${{env.CYPRESS_REPORTER}} ${{env.ADDITIONAL_OPTIONS}}
fi
env:
CYPRESS_RECORD_KEY: ${{secrets.CYPRESS_RECORD_KEY}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Archivar salidas de Cypress
uses: actions/upload-artifact@v2
with:
# Nombre del artefacto. Opcional, el valor predeterminado es "artifact"
name: cypress-outputs
path: |
cypress/videos/
cypress/screenshots/
if-no-files-found: error
retention-days: 15
El error ocurre cuando el trabajo alcanza la sección npx cypress run
.
davy.ai
El mensaje de error indica que se denegaron los permisos para crear el siguiente directorio:
/__w/{{nombre-repo}}/{{nombre-repo}}/cypress/videos/
. Esto puede ocurrir debido a problemas de permisos con el usuario que intenta crear el directorio.Para resolver este problema, puedes intentar cambiar los permisos del directorio ejecutando el comando
chmod
y dar permiso para crear el directorio. También puedes considerar actualizar los permisos de archivo del directorio padre o verificar la existencia del directorio.Además, debes confirmar que
CYPRESS_PROJECT_PATH
está configurado correctamente y que las claves secretasCYPRESS_RECORD_KEY
yGITHUB_TOKEN
están pobladas. Por último, es importante asegurarse de que todas las dependencias relevantes de Cypress estén instaladas y de que tienes los derechos de acceso necesarios para ejecutar la suite de pruebas.