Skip to content

LSP4J 0.24.0 #834

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
35 tasks done
jonahgraham opened this issue May 14, 2024 · 7 comments
Closed
35 tasks done

LSP4J 0.24.0 #834

jonahgraham opened this issue May 14, 2024 · 7 comments
Labels
endgame Checklist of TODO lists to finish a release
Milestone

Comments

@jonahgraham
Copy link
Contributor

jonahgraham commented May 14, 2024

This is the Release plan and TODO list for LSP4J release v0.24.0.

Steps for Release

Items at the beginning of development

  • Create an Endgame Issue to track the release. As a starting point use documentation/releasing.md.
  • Ensure all previous Endgame issues are done.
  • Create a New milestone for the release
  • Check CHANGELOG.md is up to date. The changelog should have a version entry, release date, API Breakages and other information consistent with current entries in the changelog.
  • Check README.md is up to date. In particular that the planned release and which versions of DAP and LSP are support is listed.
  • Increment version of all feature.xml, pom.xml and any other place full version is used. (Easiest way is global find and replace, e.g. s/0.23.0/0.24.0/g, s/0.22.0/0.23.0/g and review changes.) Ensure that -SNAPSHOT is restored in the gradle/versions.gradle and releng/pom.xml
  • Enable sh './releng/deploy-build.sh' in releng/build.Jenkinsfile
  • Ensure the CI build is stable - it is always better to release a "Green Dot" build

Items in the days ahead of Release day:

  • Create release on PMI
  • Schedule the release and if needed schedule a release review on the PMI. A release review is needed every 12 months, not with each release.
  • Check CHANGELOG.md is up to date. The changelog should have a version entry, release date, API Breakages and other information consistent with current entries in the changelog.
  • Check README.md is up to date. In particular that the planned release and which versions of DAP and LSP are support is listed.
  • Check all closed PRs and Issues to make sure their milestone is set. (Note: this was not until after 0.10.0 release so many old PRs and Issues have no milestone, therefore only consider items back to approx 5 Nov 2020). This search may be useful to identify such closed issues
  • Create and analyse a japicmp report and publish it as part of the build. Ensure that the API versions are incremented accurately based on the report. The reports are part of the build in japicmp-report and generated by releng/runjapicmp.sh
  • Update links in changelog for japicmp from the nightly to the final location

Items on Release day:

  • Prepare the repo for release by:
  • Push the above change
  • Run the CI build
  • Mark the build as Keep Forever and add to the description v0.24.0
  • Deploy the release by running the Release CI job with parameters:
    • LSP4J_PUBLISH_LOCATION -> updates/releases/0.24.0 ( <-- check version number)
    • PROJECT -> lsp4j-multi-build/job/main
    • LSP4J_BUILD_NUMBER -> the build that was just run above
    • DRY_RUN -> false
  • Add to the deploy job description v0.24.0
  • Promote the staged repository to maven central
    • Login to Nexus
    • go to Staging Repositories, after a short delay the staged LSP4J release should appear (you may need to press Refresh)
    • click the staged LSP4J repo
    • press the Close button located in the toolbar. This runs activities, including checking various rules
    • once the rules are done (if successful), press the Release button (you may need to press Refresh to enable the Release button)
    • check https://search.maven.org/search?q=g:org.eclipse.lsp4j to make sure the latest release has arrived - this takes a while, 15 minutes for the files to be on the server and even longer for the search indexes to update
  • Update the meta-data on PMI downloads page
  • Tag the release. Example: git tag -a v0.24.0 HEAD -m"LSP4J 0.24.0" && git push origin v0.24.0
  • Contribute to Simrel. See Simrel contribution example
  • Create a release page on github
  • Link the Changelog to the release page
  • Make an announcement on lsp4j-dev based on the release page on github. Example on lsp4j-dev archives
  • Update documentation/releasing.md with any changes that may have been made to the release process.
  • Create the endgame for the next release right away, especially as version numbers and restoring -SNAPSHOT need to be done right away.
@jonahgraham
Copy link
Contributor Author

Once #862 is done that will call for a new release. At the latest it should line up with 2025-03 release schedule, but we can do it earlier than that if useful. Comments/thoughts? Please share.

@jonahgraham
Copy link
Contributor Author

jonahgraham commented Jan 8, 2025

Note that #830 (assigned to the 0.24.0 milestone) is a blocker for release.

@sebthom
Copy link
Contributor

sebthom commented Jan 27, 2025

@jonahgraham I am trying to implement inlineValue support for the next LSP4E release and need #867. So it would be extremely helpful if an lsp4j release could be cut some time before the 2025-03 RC1 deadline and not last minute.

Maybe you can revert #843 for now to resolve the documented regression #830 and remove it as a blocker from a 0.24.0 release it does not look like anyone is actually working on it.

@jonahgraham
Copy link
Contributor Author

@sebthom I think we should do a release this week and do as you suggest (revert #843) for that release. I have pinged @Thihup to give a last chance but I will look to progress the release later this week (Thursday after I am done working on M2) if I don't hear back.

@jonahgraham
Copy link
Contributor Author

I have preliminarly scheduled LSP4J's next release, 0.24.0 for late this week. PMI entry and GitHub milestone

If there is the need we can have an additional release as soon as it is needed.

@jonahgraham
Copy link
Contributor Author

I'm working on this now. Assuming no blockers (like IT issues) I should have the release out later today.

@jonahgraham
Copy link
Contributor Author

v0.24.0 is complete. Onto 1.0.0 in #871 and progress + graduation review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
endgame Checklist of TODO lists to finish a release
Projects
None yet
Development

No branches or pull requests

2 participants