Repository navigation
Fix manifest.yml variable substitution error in Rails72 multibuildpack test - #1180
Merged
Merged
Conversation
Build #25 failed with "Expected to find variables: name" because the manifest.yml used ((name)) variable syntax which cf push doesn't automatically substitute. Switchblade provides the app name via the -n flag when calling cf push, so the manifest should not specify a name attribute at all. This fixes the "failed to push: exit status 1" error that was failing all nodejs multibuildpack tests in 12-20 seconds.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes the manifest variable substitution error that caused build #25 to fail immediately with "Expected to find variables: name".
This is a follow-up fix to PR #1179 which added the manifest.yml file but incorrectly used
name: ((name))variable syntax.Problem
Build #25 failed with:
The manifest.yml file contained:
The
name: ((name))syntax tellscf pushto expect a variable callednameto be defined, but switchblade doesn't use CF's variable substitution mechanism.Root Cause
Switchblade provides the app name via command-line arguments, not manifest variables:
When CF sees
name: ((name))in the manifest, it expects a variable definition that doesn't exist, causing the push to fail.Solution
Remove the
nameattribute from the manifest entirely:Let switchblade provide the app name via the
-nflag as it already does.Why This Matters
This fix is required for the timeout fix in PR #1179 to work. The manifest.yml exists to set the
timeout: 180value (extending CF's app start timeout from 60s to 180s), but the variable substitution error preventedcf pushfrom even starting.Testing
The manifest now:
timeout: 180to allow Rails 7.2 + Webpacker app to boot (takes >60s)memory: 1Gfor explicit memory allocationhealth-check-type: portfor CF health checkingnameattribute, letting switchblade provide it via CLIComplete Fix
This PR combines with PR #1178 and PR #1179 to fully fix the multibuildpack test failures:
timeout: 180All three are needed:
Verification
Build #26 is running with this fix. Expected outcome:
cf pushsucceeds without variable errors ✅Related
Timeline