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
"build.development-release.channel" with value "feature/custom-build-channel" fails to match the required pattern: /^[a-z\d][a-z\d._-]*$/
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;
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?
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;