Skip to content

Spike: automated release process #2302

@bajtos

Description

@bajtos

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-push to 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-git to publish packages to the npm registry

@strongloop/loopback-maintainers thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions