name: evo-release-workflow description: Step-by-step guide for versioning and releasing packages using Changesets in the evo-web monorepo.
Evo-Web Release Workflow
Step-by-step guide for versioning and releasing packages using Changesets.
Changesets Workflow
1. Make Changes to Packages
Edit code in one or more packages as needed.
2. Create a Changeset
Create a new file in .changeset/ with a unique name (e.g., word1-word2-word3.md) with random words in the following format:
---
"@package/name": patch | minor | major
"@another/package": patch | minor | major
---
Brief description of the changes
File naming convention:
- Use random words separated by hyphens in lowercase, like
big-breads-jog.md
Version bump types:
patch- Bug fixes, minor updates (0.0.x)minor- New features, non-breaking changes (0.x.0)major- Breaking changes (x.0.0)
Example changeset file (.changeset/big-breads-jog.md):
---
"@ebay/ui-core-react": minor
"@ebay/ebayui-core": minor
"@ebay/skin": minor
---
feat(module): adding a new feature
Package inclusion rules:
- Include all packages that were directly modified by your changes.
- Do not include packages that were not affected.
- If a package depends on another package that changed, include it only if the changes affect its public API.
Common package names:
@ebay/skin- markup CSS/SCSS changes@ebay/ebayui-core- legacy Marko 5 components@evo-web/marko- new Marko 6 components@ebay/ui-core-react- legacy React components@evo-web/react- new React components
3. Commit the Changeset File
git add .changeset/*.md
git commit -m "Add changeset for [feature/fix description]"
4. Merge to Main
Push your branch and create a PR. Once merged to main:
- Changesets bot automatically creates a "Version Packages" PR
- This PR updates package.json versions and CHANGELOG.md files
5. Release to npm
Merge the "Version Packages" PR. GitHub Actions will automatically publish updated packages to npm.
Important Notes
- Packages version independently (no monorepo version linking)
- Breaking changes: Only allowed in major version releases
- Changeset required for all PRs (unless docs-only under
/src/routes/) - Must document breaking changes clearly in changeset description