Skip to content

Adding new pipelines deploy command#3107

Merged
andrewnester merged 25 commits intomainfrom
pipelines-deploy
Jul 8, 2025
Merged

Adding new pipelines deploy command#3107
andrewnester merged 25 commits intomainfrom
pipelines-deploy

Conversation

@alyssa-db
Copy link
Copy Markdown
Contributor

@alyssa-db alyssa-db commented Jun 23, 2025

Changes

Adds pipelines deploy command with:

  • --auto-approve flag for non-interactive deployments
  • --force-lock flag to override deployment locks
  • --var flag for runtime variable substitution
  • --verbose flag for detailed output (VSCode integration)

Why

Enables direct pipeline deployment from CLI with safety controls and CI/CD support, eliminating need to switch tools for deployment workflows.

Tests

Added acceptance tests covering:

  • Auto-approve behavior for destructive operations
  • Force lock functionality and concurrent deployment handling
  • Variable substitution with special characters, unicode, and precedence rules
  • Error cases for undefined variables and invalid formats
  • Basic deployment and recreation scenarios

All tests run against Terraform backend with proper cleanup.

@andrewnester andrewnester requested a review from kanterov June 24, 2025 10:04
Copy link
Copy Markdown
Collaborator

@kanterov kanterov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree with Andrew on not reusing the implementation as-is. I think as a principle we want to duplicate CLI commands, and customize which options they accept instead of reusing. We can extract sensible pieces of code to be shared, for example, mutator pipeline for deployment.

@alyssa-db alyssa-db temporarily deployed to test-trigger-is June 25, 2025 17:05 — with GitHub Actions Inactive
@alyssa-db alyssa-db requested a review from andrewnester June 25, 2025 18:47
@alyssa-db alyssa-db temporarily deployed to test-trigger-is June 26, 2025 18:27 — with GitHub Actions Inactive
@alyssa-db alyssa-db temporarily deployed to test-trigger-is June 26, 2025 23:11 — with GitHub Actions Inactive
@alyssa-db alyssa-db temporarily deployed to test-trigger-is June 27, 2025 04:00 — with GitHub Actions Inactive
Copy link
Copy Markdown
Collaborator

@kanterov kanterov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, makes sense. I've left a few comments, let's simplify where we can.

Once we merge #3170 we can further simplify, that can be done as a follow-up

@@ -0,0 +1,31 @@
bundle:
name: test-pipeline-recreate
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We assume that all tests are local, let's specify it explicitly in acceptance/pipelines/test.toml

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is just about adding the test.toml flie, not about this line correct?

@alyssa-db alyssa-db temporarily deployed to test-trigger-is July 3, 2025 14:04 — with GitHub Actions Inactive
@alyssa-db alyssa-db temporarily deployed to test-trigger-is July 3, 2025 18:42 — with GitHub Actions Inactive
@alyssa-db alyssa-db temporarily deployed to test-trigger-is July 3, 2025 19:42 — with GitHub Actions Inactive
@alyssa-db alyssa-db temporarily deployed to test-trigger-is July 3, 2025 19:43 — with GitHub Actions Inactive
Copy link
Copy Markdown
Collaborator

@jefferycheng1 jefferycheng1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jefferycheng1 jefferycheng1 requested a review from kanterov July 4, 2025 07:25
@jefferycheng1
Copy link
Copy Markdown
Collaborator

@kanterov seems like alyssa resolved the comments, forgot to re-request, mind taking another look?

@alyssa-db alyssa-db temporarily deployed to test-trigger-is July 5, 2025 05:53 — with GitHub Actions Inactive
## Changes
Added acceptance test for rendering diagnostics warnings when unknown
properties are encountered during pipeline deployment.

## Why
Follow-up to [PR #3107](#3107) -
ensures the diagnostics system correctly identifies and reports unknown
properties in pipeline configurations, providing users with helpful
feedback about potential configuration issues.

## Tests
Added acceptance test case `render-diagnostics-warning` that verifies
warning messages are properly displayed for unknown bundle configuration
properties.
@alyssa-db alyssa-db temporarily deployed to test-trigger-is July 5, 2025 05:56 — with GitHub Actions Inactive
@alyssa-db alyssa-db temporarily deployed to test-trigger-is July 5, 2025 06:14 — with GitHub Actions Inactive
@alyssa-db alyssa-db temporarily deployed to test-trigger-is July 7, 2025 13:22 — with GitHub Actions Inactive
@alyssa-db alyssa-db temporarily deployed to test-trigger-is July 7, 2025 14:45 — with GitHub Actions Inactive
@alyssa-db alyssa-db temporarily deployed to test-trigger-is July 7, 2025 20:59 — with GitHub Actions Inactive
@andrewnester andrewnester merged commit 4ce207e into main Jul 8, 2025
21 of 23 checks passed
@andrewnester andrewnester deleted the pipelines-deploy branch July 8, 2025 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants