expo / eas-cli

Fastest way to build, submit, and update iOS and Android apps
https://docs.expo.dev/eas/
MIT License
726 stars 79 forks source link

eas build fails when using .yarnrc.yml that contains relative path to files #2386

Open okkes opened 1 month ago

okkes commented 1 month ago

Build/Submit details page URL

https://expo.dev/accounts/jinbu/projects/my-demo-expo-app/builds/e024d779-333e-4f13-87a9-83468cfc0d1d

Summary

eas build fails when using .yarnrc.yml that contains relative path to files (yarn install step)

image

Managed or bare?

Managed

Environment

not applicable

Error output

No response

Reproducible demo or steps to reproduce from a blank project

Not necessarily reproducing steps, but more context on the project that could help.

The .yarnrc.yml is pointing to specific yarn file as well as a plugin using relative path.

nodeLinker: node-modules

plugins:
  - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
    spec: '@yarnpkg/plugin-interactive-tools'

yarnPath: .yarn/releases/yarn-3.5.1.cjs

Folder structure:

.yarn
│
├───plugins
│   └───@yarnpkg
│           plugin-interactive-tools.cjs
│
└───releases
        yarn-3.5.1.cjs

.yarnrc.yml

node_modules
|....

.gitignore file

!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
.DS_Store
.env
.expo/
.idea
.idea/
.pnp.*
.yarn/*
*.jks
*.key
*.mobileprovision
*.orig.*
*.p12
*.p8
dist/
node_modules/
npm-debug.*
web-build/
okkes commented 1 month ago

when using build with --local via github actions, I get similar error. When I replace the relative path with full path (to the checked out code directory), then it works. I might be able to get around with this issue within expo pipelines too, but I couldn't figure out where the files are stored in the agent.

Preferably, I wouldn't want to hardcode the path to these files