tiketit ja featuret vaihe 1
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
Feature: CI pipeline
|
||||
As a developer
|
||||
I want automated CI pipelines for feature and master branches
|
||||
So that every commit is tested and master builds produce deployable artifacts
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Ticket 0006: ci-feature.yml — Feature branch CI workflow
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
Background:
|
||||
Given the project has a CI configuration file in its repository
|
||||
|
||||
@ticket-0006 @mock @wip @real
|
||||
Scenario: Feature branch runs unit tests and publishes reports
|
||||
When a commit is pushed to a feature branch
|
||||
Then the unit tests are executed
|
||||
And the test reports are published
|
||||
And each step reports its status to the commit
|
||||
|
||||
@ticket-0006 @mock @wip @real
|
||||
Scenario: Feature branch reports failure when tests do not pass
|
||||
When tests fail on a feature branch
|
||||
Then the commit shows a failure status with a link to the test results
|
||||
|
||||
@ticket-0006 @mock @wip @real
|
||||
Scenario: Feature branch does not build a container image
|
||||
Given a commit is pushed to a feature branch
|
||||
When the CI pipeline runs
|
||||
Then no container image is built or pushed
|
||||
|
||||
@ticket-0006 @mock @wip
|
||||
Scenario: Only one pipeline runs at a time for the same feature branch
|
||||
When a new commit is pushed to a feature branch while a pipeline is already running
|
||||
Then the existing pipeline continues and the new one waits
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Ticket 0009: ci-master.yml — Master branch CI workflow
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
@ticket-0009 @mock @wip @real
|
||||
Scenario: Master branch builds and pushes a container image
|
||||
When a commit is pushed to the master branch
|
||||
Then the container image is built with version labels
|
||||
And the image is pushed to the container registry
|
||||
And the commit is tagged with the build version
|
||||
|
||||
@ticket-0009 @mock @wip @real
|
||||
Scenario: Master branch skips container build if already built
|
||||
When a commit on the master branch is already tagged with a build version
|
||||
And a new pipeline is triggered for the same commit
|
||||
Then the container build is skipped
|
||||
And the pipeline proceeds to reporting and test flow
|
||||
|
||||
@ticket-0009 @mock @wip @real
|
||||
Scenario: Master branch runs the full test flow chain after a successful build
|
||||
When the container build and push succeed on the master branch
|
||||
Then the deployment to the first environment is dispatched
|
||||
And after deployment succeeds the integration tests are dispatched
|
||||
And the end-to-end tests run as the final step in the chain
|
||||
|
||||
@ticket-0009 @mock @wip @real
|
||||
Scenario: Master branch stops the test flow chain when a step fails
|
||||
When a step in the test flow chain fails
|
||||
Then the remaining steps are not executed
|
||||
And the commit shows a failure status pointing to the failed step
|
||||
|
||||
@ticket-0009 @mock @wip
|
||||
Scenario: Only one master pipeline runs at a time for the same project
|
||||
When a new commit is pushed to master while a pipeline is already running
|
||||
Then the existing pipeline continues and the new one waits
|
||||
Reference in New Issue
Block a user