Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Releasing Tycho"
Line 59: | Line 59: | ||
# Wait for artifacts to be available on Maven central. | # Wait for artifacts to be available on Maven central. | ||
# Push the release tags to git: <tt>git push origin --tags</tt> | # Push the release tags to git: <tt>git push origin --tags</tt> | ||
− | # | + | # Update http://wiki.eclipse.org/Tycho/Release_Notes/x.y.z to remove reference to staging repo |
# Browse the [[:Category:Tycho|Tycho wiki pages]] to update any hardcoded tycho versions to the latest version | # Browse the [[:Category:Tycho|Tycho wiki pages]] to update any hardcoded tycho versions to the latest version | ||
# Merge the update to <tt>org.eclipse.tycho-demo</tt> and website in Gerrit | # Merge the update to <tt>org.eclipse.tycho-demo</tt> and website in Gerrit | ||
Line 65: | Line 65: | ||
## Find out who contributed to the release: | ## Find out who contributed to the release: | ||
<pre> | <pre> | ||
− | git log --pretty=format:%an tycho- | + | git log --pretty=format:%an tycho-<previousVersion>..tycho-<newVersion> | sort | uniq |
− | git log --grep="Also-[bB]y:" tycho- | + | git log --grep="Also-[bB]y:" tycho-<previousVersion>..tycho-<newVersion> | grep -i also-by | sed -e 's/.*Also-[bB]y:\s*\(.*\)/\1/' | sort | uniq |
</pre> | </pre> | ||
## Announce the release on tycho-user@eclipse.org, tycho-dev@eclipse.org, thanking the contributors: | ## Announce the release on tycho-user@eclipse.org, tycho-dev@eclipse.org, thanking the contributors: | ||
Line 85: | Line 85: | ||
</pre> | </pre> | ||
## Optionally, announce on other medias (Twitter) | ## Optionally, announce on other medias (Twitter) | ||
+ | ## Create, push and merge patch changing the bootstrap Tycho version for Tycho build (eg https://git.eclipse.org/r/c/tycho/org.eclipse.tycho/+/174964 ) | ||
[[Category:Tycho]] | [[Category:Tycho]] |
Revision as of 04:23, 18 January 2021
This page describes the steps necessary to create releases of the Tycho project.
- Make sure all bugs have the correct target milestone for this release
- Schedule a new release and generate the IP log on projects.eclipse.org
- Prepare the Tycho/Release Notes which should provide a quick overview of new features and bug fixes
- Link the N&N to the release review
- At least once per year, a review is required. In that case, send email to technology-pmc@eclipse.org to review the release docs.
- Update versions using
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=... - Commit version change, and create a git tag tycho-<VERSION> on this commit
- Update versions (same as above) to next -SNAPSHOT development version and push commit to master branch
- Create the new version and milestone in the bugzilla manager
- Make sure you have everything setup (GPG installed!) for deploying to the Nexus OSS repository, see guide
- Add your credentials for server sonatype-nexus-staging in ~/.m2/settings.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!-- ... --> <servers> <server> <id>sonatype-nexus-staging</id> <username>mickael.istria</username> <password>securePassword</password> <!-- use `mvn --encrypt-password` to not store plain text --> </server> <!-- ... --> </servers> </settings>
- Checkout the tag version tycho-<VERSION> so current commit is the tag.
- Sync to release commit and deploy to nexus staging repository:
mvn clean deploy -Prelease -DforgeReleaseId=sonatype-nexus-staging -DforgeReleaseUrl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ - In parallel of previous mvn command, prepare update tycho-demo projects to the latest release and push the change as a review to Gerrit
- When previous mvn command is complete, generate site docs using mvn install site site:stage -DskipTests and check the result from target/staging seems viable.
- On https://oss.sonatype.org/#stagingRepositories , Close the staging repository, get the staging repo URL from Nexus
- Update http://wiki.eclipse.org/Tycho/Release_Notes/x.y.z to replace reference to snapshot build to reference to staging repo
- Announce the temporary stage URL on tycho-user@eclipse.org:
Subject: please test staged tycho <VERSION> Tycho release <VERSION&> has been staged. For details of new features and bugfixes, see release notes [1]. Please help by testing the staged build. To use it, change your tycho version to <VERSION> and add snippet [2] to your pom. We plan to promote this release in one week unless major regressions are found. Regards, Tycho team [1] http://wiki.eclipse.org/Tycho/Release_Notes/<VERSION> [2] <pluginRepositories> <pluginRepository> <id>tycho-staged</id> <url><NEXUS_OSS_STAGING_URL></url </pluginRepository> </pluginRepositories>
- Prepare documentation on the webite, using git repo https://git.eclipse.org/c/www.eclipse.org/tycho.git/ : copy the local site docs folders target/staging/sitedocs to the existing sitedocs folder and then submit as Gerrit review (don't merge yet)
... Wait until review date (usually a week later)...
- After ~1 week of testing, promote the stage repository on https://oss.sonatype.org/
- Wait for artifacts to be available on Maven central.
- Push the release tags to git: git push origin --tags
- Update http://wiki.eclipse.org/Tycho/Release_Notes/x.y.z to remove reference to staging repo
- Browse the Tycho wiki pages to update any hardcoded tycho versions to the latest version
- Merge the update to org.eclipse.tycho-demo and website in Gerrit
- Announce the release
- Find out who contributed to the release:
git log --pretty=format:%an tycho-<previousVersion>..tycho-<newVersion> | sort | uniq git log --grep="Also-[bB]y:" tycho-<previousVersion>..tycho-<newVersion> | grep -i also-by | sed -e 's/.*Also-[bB]y:\s*\(.*\)/\1/' | sort | uniq
- Announce the release on tycho-user@eclipse.org, tycho-dev@eclipse.org, thanking the contributors:
Subject: Tycho <n> released Tycho <n> has been released and is available from Maven Central repository. See the release notes [1] http://wiki.eclipse.org/Tycho/Release_Notes/<n> for details of enhancements and bug fixes in this release. Thanks to <contributors> who contributed patches for this release, and thanks and to everyone who helped us with testing the staged version. Regards,
- Optionally, announce on other medias (Twitter)
- Create, push and merge patch changing the bootstrap Tycho version for Tycho build (eg https://git.eclipse.org/r/c/tycho/org.eclipse.tycho/+/174964 )