expo / expo/eas-cli

Builds fails on EAS when using `transcrypt` and decrypting files in a pre install hook

Open
#2,866 18 comments 0 reactions 1 assignee Claimed by @sjchmiela View on GitHub
bug eas build
Dominant language
TypeScript
Stars
1.4k
Forks
236
Avg merge
3d 1h
Merged PRs (30d)
91

Description

### Build/Submit details page URL

https://expo.dev/accounts/finaryapp/projects/finary-app/builds/4edd010d-2817-4ea8-a642-dfc695bb30d9

### Summary

We are using [transcrypt](https://github.com/elasticdog/transcrypt) to encrypt & decrypt files on our repository. This is done in `eas-build-pre-install` which installs `transcrypt` and decrypt some files.

About 2 hours ago, our builds started to fail on EAS for the same reason: `transcrypt: the repo is dirty; commit or stash your changes before running transcrypt`.

After some investigation, it looks like we don't need to decrypt our files anymore due to a change on EAS build system. I think this could be related to the [recent v15 release](https://github.com/expo/eas-cli/releases/tag/v15.0.0).

We can remove the decrypt step and let EAS manage everything with Git, but I wanted to open an issue to let you know that this change caused a lot of build errors on our side and to ask what are the next steps required to fix this.

### Managed or bare?

Managed

### Environment

```
expo-env-info 1.2.2 environment info:
System:
OS: macOS 15.2
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.18.2 - ~/.local/state/fnm_multishells/53599_1738320923047/bin/node
Yarn: 1.22.22 - /opt/homebrew/bin/yarn
npm: 10.8.2 - ~/.local/state/fnm_multishells/53599_1738320923047/bin/npm
Watchman: 2024.12.02.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.16.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 24.2, iOS 18.2, macOS 15.2, tvOS 18.2, visionOS 2.2, watchOS 11.2
Android SDK:
API Levels: 31, 34
Build Tools: 33.0.1, 34.0.0
System Images: android-34 | Google APIs ARM 64 v8a, android-34 | Google Play ARM 64 v8a
IDEs:
Android Studio: 2024.2 AI-242.23726.103.2422.12816248
Xcode: 16.2/16C5032a - /usr/bin/xcodebuild
npmPackages:
expo: ~51.0.39 => 51.0.39
react: 18.2.0 => 18.2.0
react-dom: 18.2.0 => 18.2.0
react-native: 0.74.5 => 0.74.5
Expo Workflow: bare
```

### Error output

_No response_

### Reproducible demo or steps to reproduce from a blank project

1. Initialize an Expo project with a git repository and `transcrypt`
2. Encrypt some files and add an `eas-build-pre-install` to install `transcrypt` and decrypt the files
3. Run the build on EAS servers

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.