Giter VIP home page Giter VIP logo

Comments (10)

joshblack avatar joshblack commented on May 28, 2024 1

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.

joshblack avatar joshblack commented on May 28, 2024 1

@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.

lee-chase avatar lee-chase commented on May 28, 2024 1

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.

joshblack avatar joshblack commented on May 28, 2024 1

@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.

SimonFinney avatar SimonFinney commented on May 28, 2024 1

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.

SimonFinney avatar SimonFinney commented on May 28, 2024

Acceptance criteria to be defined in GitHub by owner in collaboration with group

from ibm-products.

lee-chase avatar lee-chase commented on May 28, 2024

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.

lee-chase avatar lee-chase commented on May 28, 2024

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.

SimonFinney avatar SimonFinney commented on May 28, 2024

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.

SimonFinney avatar SimonFinney commented on May 28, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.