Skip to main content
K
Last modified: 24/Jun/2024

Working in Stratus

The changes that happens in Stratus are initiated either by the Design team or by reporting an error in a Slack channel.

If you discover a bug or just have an idea you can submit an GitHub issue any time.

We will turn every issue into a JIRA ticket. You will find all the tickets we are working on our JIRA board.

When you begin to work on a ticket assign it to yourself.

#Let's jump in

These are the steps from the beginning to a new Stratus release:

#1. Create a new feature branch

We use GitFlow. - so you need to create every feature branch from develop.

$ git checkout -b 'feature/STR-12345-my-feature'

#2. Make your change.

You can use the Stratus CLI to scaffold a new component or package. Please don't forget to lint and test your code before committing. (Running these tests: npm run lint && npm run test)

Don't forget to document your changes. Here's a guide for that.

#3. Commit your changes.

It's exceptionally important to do this step exactly.

We have a strict commit message format. In the commit messages you must use the conventional commit standard, because of the semantic release process. We lint the commits with commitlint, and reject all the commits with improper message.

If you aren't familiar with this concept, you can use commitizen, by running:

$ npm run commit

Please always provide the corresponding package's name as a namespace when it's possible, e.g. feat(icons): added new icons (SocialTwitter, SocialGoogle). Please note that after the colon, the first letter must be lowercase.

If you have breaking changes, visit the docs on how to handle those here

#4. Submit a pull request to the develop branch

Wait for the review. You can assign any Stratus team member to the reviewers. We try to review your change as soon as possible.

#5. Wait for the checks

If you have all the green lights (changes on Chromatic, building on Vercel, reviews) on the PR, you are ready to go.

#6. Merge the PR

From here everything will happen automatically.

  • Lerna will determine the new version of all the packages
  • GitHub Actions will release the versioned packages to GitHub Packages
  • Another pipeline will merge back the changes into develop
  • A webhook will create an announcement into #project-stratus Slack channel

Congratulations, you did it! 🎉


#Going deeper