mi6 / mi6/ic-ui-kit

Implement fixed versioning for the react/web-component packages in stable and canary

Open
#3,201 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
53
Forks
63
Avg merge
2d 4h
Merged PRs (30d)
15

Description

## Summary
Implement fixed versioning for the react/web-component packages in stable and canary.

## 💬 Description
Currently, lerna uses "independent" mode which means that the react and web/component packages (and those in canary) can get out of sync, as we want some packages to be "fixed" and the rest "independent".

As far as I can see, there is no functionality to have a mix of fixed and independent versioning in lerna.

A workaround could be to run a script during both the release-check command and the publishing pipeline, that gets the current package versions, determines the highest and updates them all to have the same version (depending on if this works in the process). This solution has not been tested, so some exploration may be needed, as the versions might only change after it has been published, in which case this will not work.

## Why do we need it?
To make the release run smooth, and ensure that it never fails due to the packages not being in sync with each other. Currently we have to add a "feat" commit to the package that needs a bump, which works, but causes delays in the release and means the release notes are not accurate.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the release-check command and publishing pipeline for the stable and canary packages, and inspect how Lerna currently applies independent versioning. Determine how the React and web-component package versions can remain fixed without disrupting the other independent packages; done means releases complete smoothly with those package versions in sync and accurate release notes.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.