expo / eas-cli

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

Channel fails to match the required pattern: /^[a-z\d][a-z\d._-]*$/ #2082

Open cdgmx opened 11 months ago

cdgmx commented 11 months ago

Summary

While attempting a build under the "development-release" profile, an error is encountered due to a pattern mismatch with the specified channel name "feature/custom-build-channel". The error message received is: fails to match the required pattern: /^[a-z\d][a-z\d._-]*$/.

Despite the channel "feature/custom-build-channel" being present in the channel list, direct builds with this channel name result in the mentioned error. This channel name is automatically generated during the eas update process based on the branch title. The current pattern validation seems to restrict the use of forward slashes (/), which are part of the automatically generated channel names, thus preventing the build from proceeding

Managed or bare?

bare

Environment

expo-env-info 1.0.5 environment info: System: OS: macOS 13.5 Shell: 5.9 - /bin/zsh Binaries: Node: 16.16.0 - ~/.nvm/versions/node/v16.16.0/bin/node Yarn: 1.22.19 - ~/.nvm/versions/node/v16.16.0/bin/yarn npm: 9.9.0 - ~/Documents/vitable-mobile/node_modules/.bin/npm Managers: CocoaPods: 1.12.0 - /Users/[redacted]/.rvm/gems/ruby-2.7.6/bin/pod SDKs: iOS SDK: Platforms: DriverKit 22.1, iOS 16.1, macOS 13.0, tvOS 16.1, watchOS 9.1 IDEs: Android Studio: 2021.2 AI-212.5712.43.2112.8609683 Xcode: 14.1/14B47b - /usr/bin/xcodebuild npmPackages: expo: ^48.0.0 => 48.0.20 react: 18.2.0 => 18.2.0 react-dom: 18.2.0 => 18.2.0 react-native: 0.71.3 => 0.71.3 react-native-web: ~0.18.9 => 0.18.12 npmGlobalPackages: eas-cli: 3.9.1 expo-cli: 6.0.2 Expo Workflow: bare

Error output

eas.json is not valid.

Reproducible demo or steps to reproduce from a blank project

create eas.json create development-release profile on build property set channel to "feature/custom-build-channel" eas build --profile "development-release" --platform ios --non-interactive --no-wait;

szdziedzic commented 10 months ago

I believe this regex validation rule is here to stay, what I think we can do is to improve this automatic channel name generation algorithm so it doesn't generate invalid channel names. What do you think @quinlanj?