[NOT READY] Versioning Strategy for digital-land-frontend
#385
DilwoarH
started this conversation in
Open design proposal
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Versioning Strategy for
digital-land-frontendSummary
Introduce a proper versioning and release strategy for the
digital-land-frontendpackage to prevent downstream breakages caused by consuming themainbranch directly.Background
Nearly all consumers of the
digital-land-frontendpackage are currently using themainbranch rather than referencing a specific version or tag. As a result, any changes merged intomainare immediately reflected in all consuming repositories - often without adequate testing or preparation — leading to unexpected breakages and unstable builds.Motivation
digital-land-frontend.Proposal
We propose to adopt semantic versioning and publish the
digital-land-frontendpackage with version tags for bothnpmandpip.For
npmConsumersUse semantic versioning (
MAJOR.MINOR.PATCH) for all releases.Publish all new versions to the public or internal NPM registry.
Add
npm versioncommands in the CI/CD pipeline to create release tags.Consumers should update their
package.jsonto reference a specific version (e.g.,^1.2.0) instead of pointing tomain:Consider publishing pre-release versions (e.g., 1.3.0-beta.1) for early feedback.
For pip Consumers
Package should be distributed via an internal or public PyPI repository.
Add proper setup.py or pyproject.toml metadata to define version.
Use GitHub releases or tags to mark official versions.
Consumers should install via a versioned release, not via Git URLs:
Consider automating releases using tools like twine, poetry, or GitHub Actions.
Implementation Plan
Alternatives Considered
Risks
Conclusion
Introducing versioning will make digital-land-frontend a more stable and maintainable package. This discussion proposes a structured release process that aligns with best practices and safeguards consumers against unintentional changes.
Beta Was this translation helpful? Give feedback.
All reactions