Skip to content

Release Management Legend Engine

Ephrim Stanley edited this page Aug 23, 2022 · 11 revisions

Overview

  • legend-engine is the workhorse of the Legend ecosystem. A change to this project generally tends to impact other Legend projects

Contributor workflow

  • Contributors submit PRs for review. See contribution guidelines below.
  • PRs should be labelled appropriately (e.g feature, bug fix, protocol release)
  • PRs should provide additional detail such as whether the PR is backwards compatible, requires release of another Legend project etc
  • For now, reach out to legend-engine/CODEOWNERs to get your PRs reviewed and merged
  • (Eventually we can auto assign or have a process for assigning reviewers)

Reviewer workflow

  • Reviewers review and merge PRs. Where automated controls (like mvn enforcer/checkstyle) do not exist, reviewers are expected to verify that the PR conforms to the contribution guidelines.
  • Reviewers are encouraged to review and merge PRs as soon as possible
  • But some PRs might not be able to avoid a backwards incompatible change or by necessity introduce a change that impacts other Legend projects. If you are merging such a change, you are responsible for coordinating the merging and (potentially) release of other Legend projects with the maintainers of the impacted projects

Release workflow

  • A release of legend-engine requires tagging, building and publishing binaries to Maven Central and Docker Hub
  • All of the above are automated via the "Release" Github Action - https://github.com/finos/legend-engine/actions/workflows/release.yml
  • If the "Run workflow" button is visible and enabled, you have the ability to make a release
  • A release of legend-engine should be followed by a release of the following projects
    • legend-sdlc
    • legend-depot

Reviewer workflow - Project dashboard

Contribution Guidelines

See https://github.com/finos/legend/wiki/Release-Management----Legend-Engine---Coding-Guidelines