-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Labels
Internal ToolingIssues related to our tooling and monorepo infrastructoreIssues related to our tooling and monorepo infrastructoreneeds groomingspike
Description
At the moment, our process for releasing and publishing new versions is based on manual invocation of lerna CLI on a local developer machine, which comes with few issues:
- it requires admin permissions on GitHub because it pushes directly to
master - we are publishing from "dirty" git checkout that may contain extra files when compared to what is committed to git
- the releases are not peer-reviewed, only the person making the release can preview the changes
I would like us to improve this process and make it more automated. I am envisioning the following setup:
- The person initiating the release:
- creates a new feature branch
- runs
lerna version --no-git-tag-version --no-pushto bump up versions, update changelogs and create the release commit. - pushes the feature branch to GitHub and opens a new pull request.
- When the PR is approved, the release commit is merged to master in the usual way. No admin permissions are required.
- A build pipeline (powered e.g. by Azure Pipelines or GitHub Actions) detects a release commit and
- Creates appropriate git tags (unfortunately, this is not supported by Lerna as of 2018-01-29)
- Runs
lerna publish from-gitto publish packages to the npm registry
@strongloop/loopback-maintainers thoughts?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Internal ToolingIssues related to our tooling and monorepo infrastructoreIssues related to our tooling and monorepo infrastructoreneeds groomingspike