-
Tag the current
mainbranch locally.
git tag v2.31.0.M3orgit tag v2.31.0 -
Run the Full Deploy Job
- For milestones run the xtext-monorepo-full-deploy-milestone job and select the milestone postfix (M1, M2, ...) as the
RELEASE_TYPEparameter. - For releases run the xtext-monorepo-full-deploy-release Job.
- For milestones run the xtext-monorepo-full-deploy-milestone job and select the milestone postfix (M1, M2, ...) as the
-
Wait for the job to finish
Check the Update Site and Drop dirs to contain the new Milestone or Release -
Publish milestone/release Maven artifacts on Maven Central Repository. Can only be done by Xtext release engineer with the right credentials at sonatype
- Go to https://central.sonatype.com/ and log in with your sonatype user.
- Navigate to https://central.sonatype.com/publishing/deployments, and publish both groups.
- For each of them, wait for the validation and press "Publish".
- The publishing takes several minutes.
-
Contribute milestone / release to Simrel Aggregation Build
- Clone / pull
git@github.com:eclipse-simrel/simrel.build.git - Edit
tmf-xtext.aggrconand enter new repo path and version numbers. - Create a commit
- Create a pr at github
- Submit the pr
- Clone / pull
-
Update and publish Release Notes (for Releases only)
- Create and review release notes (https://github.com/eclipse-xtext/xtext-website/tree/main/xtext-website/_posts/releasenotes and https://github.com/eclipse-xtext/xtext-website/tree/main/xtend-website/_posts/releasenotes)
- For committer activity count
git shortlog -s -n -e v<PREV_RELEASE>..v<NEW_RELEASE> - Remove published: false from release post
- Create PR to merge branch main into published
- Merge the PR
- Wait for the website-deploy to finish. Shortly after the new Release Notes should pop up on the Xtext website and the Xtend website.
-
Update Marketplace entries (for Releases only)
-
Check availability of artifacts on Maven Central
- It can take some hours until the artifacts are mirrored to Maven Central. Note: search.maven.org might not show the new release immediately when it is available. Check the availability of the artifacts for example with
mvn dependency:get -U -DgroupId=org.eclipse.xtext -DartifactId=org.eclipse.xtext -Dversion=<VERSION>
- It can take some hours until the artifacts are mirrored to Maven Central. Note: search.maven.org might not show the new release immediately when it is available. Check the availability of the artifacts for example with
-
Push the tag.
git push origin <tag_name> -
As soon as Maven Central is updated - send notifications
- GitHub discussions https://github.com/eclipse-xtext/xtext/discussions/categories/milestones-and-releases
- Mailing list
-
Bump the version number (for Releases only)
- run the
scripts/fixVersions.sh -f '<old-version>e.g./scripts/fixVersions.sh -f '2.31.0'. - commit and pull request the changed files
- run the
-
Bootstrap the main branch against new release (for Releases only)
- Edit the
xtend-maven-plugin-versionproperty inpom.xmlto contain the created release/milestone version and commit and pr the change.
- Edit the
-
xtext-apidiff (for Releases only)
- adapt https://github.com/xtext/xtext-apidiff/blob/master/create-api-diff.sh
- adapt Jenkins Configuration https://github.com/xtext/xtext-apidiff/blob/master/Jenkinsfile
-
Add / Update xtext-reference-projects (for Releases only)
- should be done in the days after the release
- import the root (only) into your Xtext dev env
- adapt the current versions to use the current release in poms/build.gradle/target files.
- commit and pr these changes.
- edit and run the scripts in the
launchfolder. - create new scripts in the
scriptsfolder. - adapt the Jenkins files and the Github action to make use of the new scripts.
- commit and pr the adaptations
-
TODOs
- create new target for the current eclipse release once it is out
- adapt latest target to use new orbit / I-builds / eclipse release alias once available
- prepare release notes and website changes for next release