mi6 / mi6/ic-ui-kit

Version 4: Set up the release process

Open
#4,167 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
53
Forks
63
Avg merge
2d 4h
Merged PRs (30d)
15

Description

### Summary
Set up the process for doing v4 NPM releases.

Can only be done after #4166, i.e. once the v4 develop and main branches have been set up.

### 💬 Description
There needs to be a process in place for releasing v4 features. However, between the time when we start adding features to the v4 main branch and doing the public announcement for v4 (stable), we don't want v4 to be installed by default when customers install our packages.

Actions:
- Create the release workflows for v4 by duplicating the v3 ones - **both in the ic-ui-kit and ic-design-system repos**
- Ensure that v4 won't be installed by default when customers try to install our `@ukic` packages
- I believe we did this for v3 by using a custom tag e.g. `next` instead of the default `latest` (`npx lerna publish --dist-tag next`)
- One suggestion we've discussed is maybe adding some sort of check to the pipeline that fails if the NPM publish is being run for v4 without the tag, or with the `latest` tag
- Set up the deployments for the v4 develop branches of the ic-ui-kit and ic-design-system repos, and also the v4 main branch of the ic-design-system repo

Contributor guide

Open the contributing guide

Research direction

Start by comparing the existing v3 release workflows in the ic-ui-kit and ic-design-system repositories, after confirming that #4166 has established the v4 branches. Trace how the workflows publish packages and deploy branches, then verify that v4 uses a non-default NPM tag and that the requested v4 branch deployments are configured.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, typescript
Domain
ci-cd, devops, release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.