Skip to content

Multiple Products - Same Version #115

Description

@7tupel

As a Developer I would like to be able to have multiple products defined in one repo but all use the same version.

Rationale
In some cases a repo might be structured to use multiple products to organize components of a system i.e. a webapp and a backend. While both reside in their own product directory to isolated responsibilities (i.e. different configurations and automations specific to the need of the component) they form an entangled system where changes in one product will come with related changes in another product. For example a new view in a webapp requires new endoints in the backend. In those cases it is neither necessary nor beneficial to track version increments of products independently. Instead it is preferred to keep a single version for all products and in turn only provide a single release for all products at the same time.

Technical Details
A new configuration option for clci in the repo.edn file should be added that is taken into account when a new version is derived.

  • The new attribute for the repo configuration is named :clci.repo.semver/tracking with the possible values of #{:distinct :combined}.
  • Releases don't use the default naming of <product-prefix>-<version> but just <version>
  • The latest release tag uses the naming of latest without including the product-prefix

Acceptance Criteria

  • A new configuration option exists in the repo.edn file to specify combined version increments
  • The configuration option is used when a new version is derived
  • The version is incremented and set for all products in the repo.edn configuration

Stakeholder
Developer

Metadata

Metadata

Assignees

Labels

storyA new functionality the library provides

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions