Feature: Deployment As a developer I want automated GitOps deployments to environments So that container versions are deployed consistently and the chain is traceable Background: Given a container image has been built and pushed And a Helm configuration repository exists # --------------------------------------------------------------------------- # Ticket 0007: deploy.yml — GitOps deployment workflow # --------------------------------------------------------------------------- @ticket-0007 @mock @wip @real Scenario: Deploy a container version to a staging environment When a deployment is dispatched to the staging environment with a new version Then the Helm configuration is updated with the new container version And the change is committed and pushed to the configuration repository @ticket-0007 @mock @wip @real Scenario: Deploy a container version to the production environment When a deployment is dispatched to the production environment with a new version Then the Helm configuration is updated with the new container version And the change is committed and pushed to the configuration repository @ticket-0007 @mock @wip @real Scenario: Deployment reports its source back to the originating commit When a deployment completes successfully Then the originating commit shows a deployed status with a link to the deployment commit @ticket-0007 @mock @wip @real Scenario: Deployment configuration commit shows where the deploy came from When a deployment commit is created in the configuration repository Then the configuration commit shows a trace status linking back to the source commit @ticket-0007 @mock @wip @real Scenario: Developer navigates from source commit to deployment commit and back When a developer views the source commit Then they can click a deploy status to navigate to the deployment commit And from the deployment commit they can navigate back to the source commit @ticket-0007 @mock @wip Scenario: Only one deployment runs at a time for the same environment When a new deployment is dispatched to an environment that already has one in progress Then the existing deployment continues and the new one waits