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
This PR fixes several UI → backend mismatches in the CI/CD configuration wizard by making pipeline options template-, stage-, and provider-aware. The result is a more accurate, predictable, and user-friendly pipeline configuration experience.
What Changed
🧩 Frontend (ConfigurePage)
• Template dropdown now only exposes backend-supported templates
• Pipeline options dynamically update when the template changes
• Runtime, install, test, and build inputs render only when relevant:
• Based on selected template
• Based on enabled stages (build/test/deploy)
• AWS deployment fields are hidden unless:
• Provider is AWS and
• Deploy stage is enabled
• Option labels and placeholders adapt to the selected template (Node vs Python)
🧠 State Management (Zustand)
• Template changes now rehydrate pipeline options with safe defaults
• Provider-specific fields (AWS/GCP) are preserved across template switches
• Prevents invalid combinations like npm commands on Python pipelines
⚙️ Backend (pipeline_generator)
• Runtime setup steps are now template-specific:
• actions/setup-node only for Node pipelines
• actions/setup-python only for Python pipelines
• Eliminates Node.js setup from Python-generated GitHub Actions YAML