Testing workflow, branching and tags

In order to make things as easy as possible for both developers & QA the E2E test suite must follow the same branching strategy as the product code.

Workflow:

main          -> create feature/ | quickfix/
              -> E2E authoring & running on the branch
              -> approval for main merge
main          <- merge all features (this is release)
main          <- ready to release
main          <- tag with version number
main          -> create release/{tag} branch
release/{tag} <- quickfix(es) are merged into release branch

main branch

This branch represents a test suite covering and matching the same state as the respective product main branch. The test suite must cover the features on the main branch and be ready for the feature or quickfix branches to be created.

Feature & Quickfix branches should be merged to main after the feature has been approved and fully tested, one by one. This will propagate and merge the changes in steps allowing for testing at each point.

feature|quickfix branch

Feature or Quickfix branch is dedicated to a specific feature on the product side. Having feature branches on the E2E side allows us to independently develop tests for multiple features while keeping the main test suite ready.

Feature branches must have feature/*** or quickfix/*** naming format in order to be deployable.

version tag/branch

When the release happens for the product the test suite main branch shall be tagged with the same version tag.

This allows us to run the test suite retrospectively for each release.