Comments (10)
Let me know if we can help out with this, if publishing from CI we can provide an NPM_TOKEN for the carbon-bot.
Similarly, we can create a group of users under the @carbon
scope and give them access to the relevant packages.
Lerna is a great tool for publishing, especially with the conventional commit flag. Let me know if you want to chat about it at all!
from ibm-products.
@SimonFinney very nice, lerna version
has a --conventional-commits
option for this: https://github.com/lerna/lerna/tree/master/commands/version#--conventional-commits
Similarly, you can use --conventional-prerelease
and --conventional-graduate
for a prerelease workflow.
It should help generate relevant tags and release changelogs (and CHANGELOG.md files) too!
from ibm-products.
There's also the option to use lerna publish
, which includes a call to lerna version
from the command line to publish to npm.
from ibm-products.
@SimonFinney if it helps out, we simplified a bit from that end game process to basically the following:
- We follow 2 week sprints
- We're on a time-based release cycle
- Every other week (the second and fourth of each month) we do a minor release
- In between minor releases, we can still patch or do hotfixes in a patch release
- Before every minor release, we ship a Release Candidate for a sample of teams to verify
One flow that we used before (that unfortunately is busted because of a lerna challenge we have) is a nightly release flow (published under the nightly
tag) that is a nice complement to the time-based cycle for teams that want to stay up-to-date (or if we want teams to help with experimented with stuff)
The last part of this process is that our "release team" cycles every month. The release team has two members, a lead and a side-kick. The lead owns the release along with training the side-kick. They are also on-deck for handling any release-related problems reported on GH or Slack, alongside determining release scope (what should / should not go into a release)
from ibm-products.
Thanks @joshblack ! That certainly helps simplify it - So far, my current thinking is:
- Time-based minor releases at a minimum once a month
- Hotfix and patch releases in-between minor releases where necessary
- A release candidate cut the week before a minor release for verification
For the short-term, I was thinking we could just publish on every merge to master
and figure out any additional channels, configuration, and steps when required.
from ibm-products.
Acceptance criteria to be defined in GitHub by owner in collaboration with group
from ibm-products.
Publishing/modifying npm packages is restricted to owners. There is only one level of access.
https://docs.npmjs.com/cli/owner
A list of owners for carbon-components-react, for instance, is as follows. It is of note that they have a carbon-bot email address which I suspect is for automated publishing. Confirmation will be sort from @joshblack
$npm owner ls carbon-components-react
abbeyhrt [email protected]
adavila [email protected]
carbon-bot [email protected]
dakahn [email protected]
emyarod [email protected]
jnm2377 [email protected]
joshblack [email protected]
tjegan [email protected]
vpicone [email protected]
from ibm-products.
Without an automated build (as is the case for @carbon/vue) 'lerna publish' can be used to manage the publication of multiple packages from a repo.
https://www.npmjs.com/package/@lerna/publish
from ibm-products.
For the first release, I'd be happy with enough configuration that enables us to automate the publishing of a package and tag based on conventional commits.
from ibm-products.
@carbon-design-system/ibm-cloud-paks See https://github.com/carbon-design-system/carbon/blob/master/docs/guides/endgame.md for how we might want to model our release process
from ibm-products.
Related Issues (20)
- index-without-carbon.min.css breaks left/right aligned tooltips for OverflowMenus and IconButtons
- Data table extensions, scrolling: Code and Figma border colors for frozen column are incorrect HOT 1
- Explore: Add and select
- [Bug]: FullPageError has keys mismatch in version 2.35.0 and 2.39.0
- Fix border color in Datagrid frozen columns (code) HOT 1
- Fix border color in Datagrid frozen columns (Figma) HOT 1
- [DataSpreadsheet]: Hitting enter on a cell does new line instead of entering edit mode on same line
- Explore: Delete and remove
- [GuideBanner]: styles not included in `ibm-products-styles`
- Deprecation warnings generated by IBM-Products SCSS
- Explore: Edit and update
- Explore: Import and upload
- Explore: MSCP components and patterns
- Explore: Creating a Utility section in Storybook
- Explore: Adding PLG tags in left hand navigation
- Create new content for Contributing section
- Alignment on Product PAL website roadmap
- [Feature Request]: port DatagridSelectAllWithToggle labelText prop fix to v1
- Decorator is missing layering tokens
- Style Issue: Style Issue with EditUpdateCard Component After Recent Update
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ibm-products.