expo / expo/eas-cli

Unable to set eas version on eas workflows

Open
#3,016 16 comments 0 reactions 2 assignees Claimed by @sjchmiela View on GitHub
needs review
Dominant language
TypeScript
Stars
1.4k
Forks
236
Avg merge
3d 1h
Merged PRs (30d)
91

Description

### Build/Submit details page URL

_No response_

### Summary

Hi guys,

im following your docs suggestions to set explicit eas version for my project.

There are three places where i need to fill the version in order to eas not complain when a new version is released

eas.json

```json
{
"cli": {
"version": "16.6.1",
},
}
```

GIthub actions

```yml
- name: Setup EAS
uses: expo/expo-github-action@v8
with:
eas-version: 16.6.1
token: ${{ secrets.EXPO_TOKEN }}
```

Eas workflows

```yml
jobs:
publish_preview_update:
name: Publish preview update
type: update
environment: preview
version: 16.6.1
params:
branch: ${{ github.ref_name || 'test' }}
```

This is the one that is not working for me. I tried the same key property from github actions and eas.json but didnt work. I cant find anything related to that here https://docs.expo.dev/eas/workflows/syntax/

And each time a eas cli version is released this last workflow fails until i upgrade the version. So is forcing me instead of leave me the choice when to upgrade.

Could you provide some help here and maybe update the docs for eas workflows?

My other guess was to setup up here https://docs.expo.dev/eas/workflows/syntax/#defaultstools but no single mention to eas cli

Thank you

### Managed or bare?

Managed

### Environment

expo-env-info 1.3.3 environment info:
System:
OS: macOS 15.4.1
Shell: 3.2.57 - /bin/sh
Binaries:
Node: 20.18.0 - ~/.nvm/versions/node/v20.18.0/bin/node
Yarn: 1.22.22 - ~/.nvm/versions/node/v20.18.0/bin/yarn
npm: 10.8.2 - ~/.nvm/versions/node/v20.18.0/bin/npm
Watchman: 2025.04.28.00 - /opt/homebrew/bin/watchman
SDKs:
iOS SDK:
Platforms: DriverKit 24.4, iOS 18.4, macOS 15.4, tvOS 18.4, visionOS 2.4, watchOS 11.4
IDEs:
Android Studio: 2024.3 AI-243.24978.46.2431.13208083
Xcode: 16.3/16E140 - /usr/bin/xcodebuild
npmPackages:
expo: 53.0.9 => 53.0.9
expo-router: ~5.0.7 => 5.0.7
expo-updates: ~0.28.13 => 0.28.13
react: 19.0.0 => 19.0.0
react-dom: 19.0.0 => 19.0.0
react-native: 0.79.2 => 0.79.2
react-native-web: 0.20.0 => 0.20.0
Expo Workflow: bare

12/15 checks passed. 3 checks failed. Possible issues detected:
Use the --verbose flag to see more details about passed checks.

✖ Check that native modules use compatible support package versions for installed Expo SDK
Expected package metro@^0.82.0
Found invalid:
metro@0.81.4
(for more info, run: npm why metro)
Expected package metro-resolver@^0.82.0
Found invalid:
metro-resolver@0.81.4
metro-resolver@0.81.4
(for more info, run: npm why metro-resolver)
Expected package metro-config@^0.82.0
Found invalid:
metro-config@0.81.4
(for more info, run: npm why metro-config)
Advice:
Upgrade dependencies that are using the invalid package versions.

✖ Check native tooling versions
Cocoapods version check failed. Cocoapods may not be installed or there may be an issue with your Cocoapods installation. Installing version 1.15.2 or higher is recommended.
Advice:
Update your native tooling to the recommended versions.

✖ Validate packages against React Native Directory package metadata
The following issues were found when validating your dependencies against React Native Directory:
Untested on New Architecture: i18next
No metadata available: @gluestack-ui/actionsheet, @gluestack-ui/button, @gluestack-ui/checkbox, @gluestack-ui/form-control, @gluestack-ui/icon, @gluestack-ui/input, @gluestack-ui/nativewind-utils, @gluestack-ui/overlay, @gluestack-ui/select, @gluestack-ui/textarea, @gluestack-ui/themed, @gluestack-ui/toast, @hookform/resolvers, @legendapp/motion, es-toolkit, i18next-browser-languagedetector, i18next-http-backend, inversify, luxon, mobx-react, neverthrow, reflect-metadata, rxjs, tailwind-variants, uuid, zod-i18n-map, zod_utilz
Advice:
Use libraries that are actively maintained and support the New Architecture. Find alternative libraries with https://reactnative.directory.
Add packages to expo.doctor.reactNativeDirectoryCheck.exclude in package.json to selectively skip validations, if the warning is not relevant.
Update React Native Directory to include metadata for unknown packages. Alternatively, set expo.doctor.reactNativeDirectoryCheck.listUnknownPackages in package.json to false to skip warnings about packages with no metadata, if the warning is not relevant.

3 checks failed, indicating possible issues with the project.

### Error output

_No response_

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

Just asking for docs

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.