Skip to content

Establish versioned GitHub Releases for the LPP contract #18

Description

@Teakowa

Goal

Establish the same lightweight Release Please lifecycle already used by Wright, adapted to LPP's repository-only GitHub Releases.

Scope

  • Track the LPP repository release version in version.txt.
  • Align repository release SemVer with the protocol line: v1.1.0 corresponds to LPP 1.1, additive LPP 1.2 starts at v1.2.0, and a breaking LPP 2.0 starts at v2.0.0.
  • Allow patch repository releases such as v1.1.1 for spec/conformance/release fixes that do not define a new wire version.
  • Use Release Please to maintain release PRs, tags, changelog, and GitHub Releases from main.
  • Reuse Wright's GH_TOKEN-based release workflow pattern so generated release PRs participate in normal repository CI.
  • Keep the existing Rust/conformance CI as the release PR gate.

Non-goals

  • Publishing any crate to crates.io.
  • Building or publishing binary artifacts.
  • Changing LPP wire semantics or conformance behavior as part of the release plumbing.
  • Coupling the Cargo package versions of conformance tooling to the protocol release version.

Acceptance Criteria

  • Release Please can maintain a SemVer release PR and create a Git tag/GitHub Release after merge.
  • Repository release major/minor matches the corresponding LPP wire major/minor.
  • Patch repository releases can fix the published contract/tooling without implying a new wire version.
  • Existing Rust and conformance CI remains unchanged and gates release PRs normally.
  • No crates.io or binary distribution workflow is introduced.

Ownership

Owning repository: wrightkit/language-provider-protocol.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions