Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Releasing Tycho"

(Replaced content with "This is now moved to https://github.com/eclipse/tycho/blob/master/devdoc/Releasing_Tycho.mediawiki")
Line 1: Line 1:
This page describes the steps necessary to create releases of the Tycho project.
+
This is now moved to https://github.com/eclipse/tycho/blob/master/devdoc/Releasing_Tycho.mediawiki
 
+
# Make sure all fixed issues and merged PRs have the correct milestone for this release
+
# Declare release on [https://projects.eclipse.org/projects/technology.tycho projects.eclipse.org]
+
# Prepare the [https://github.com/eclipse/tycho/blob/master/RELEASE_NOTES.md release notes] which should provide a quick overview of new features and bug fixes
+
# Link the N&N to the [https://projects.eclipse.org/projects/technology.tycho release review]
+
# Update versions using <br/><tt>mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=...</tt>
+
# Commit version change, and create a git tag <tt>tycho-&lt;VERSION&gt;</tt> on this commit 
+
# Update versions (same as above) to next <tt>-SNAPSHOT</tt> development version and push commit to <tt>master</tt> branch
+
# Make sure you have everything setup (GPG installed!) for deploying to the Nexus OSS repository, see [https://central.sonatype.org/pages/ossrh-guide.html guide]
+
# Add your credentials for server <tt>sonatype-nexus-staging</tt> in <tt>~/.m2/settings.xml</tt>
+
<source lang="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>
+
</source>
+
# Checkout the tag version <tt>tycho-&lt;VERSION&gt;</tt> so current commit is the tag.
+
# Sync to release commit and deploy to nexus staging repository: <br/><tt>mvn clean deploy -Prelease -DforgeReleaseId=sonatype-nexus-staging -DforgeReleaseUrl=https://oss.sonatype.org/service/local/staging/deploy/maven2/</tt>
+
# In parallel of previous <tt>mvn</tt> command, prepare update [http://git.eclipse.org/c/tycho/org.eclipse.tycho-demo.git/ tycho-demo projects] to the latest release and push the change as a review to Gerrit
+
# When previous <tt>mvn</tt> command is complete, generate site docs using <tt>mvn install site site:stage -DskipTests</tt> and check the result from <tt>target/staging</tt> seems viable.
+
# On https://oss.sonatype.org/#stagingRepositories , Close the staging repository, get the staging repo URL from Nexus
+
# Update [https://github.com/eclipse/tycho/blob/master/RELEASE_NOTES.md release notes] to replace reference to snapshot build to reference to staging repo
+
# Announce the temporary stage URL on tycho-user@eclipse.org:
+
<pre>
+
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] https://github.com/eclipse/wildwebdeveloper/blob/master/RELEASE_NOTES.md
+
[2]
+
  <pluginRepositories>
+
    <pluginRepository>
+
      <id>tycho-staged</id>
+
      <url><NEXUS_OSS_STAGING_URL></url
+
    </pluginRepository>
+
  </pluginRepositories>
+
</pre>
+
# Prepare documentation on  the webite, using git repo https://git.eclipse.org/c/www.eclipse.org/tycho.git/ : copy the local site docs folders <tt>target/staging/sitedocs</tt> to the existing <tt>sitedocs</tt> 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: <tt>git push origin --tags</tt>
+
# Update [https://github.com/eclipse/tycho/blob/master/RELEASE_NOTES.md release notes] to remove reference to staging repo
+
# 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
+
# Announce the release
+
## Find out who contributed to the release:
+
<pre>
+
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
+
</pre>
+
## Announce the release on tycho-user@eclipse.org, tycho-dev@eclipse.org, thanking the contributors:
+
<pre>
+
Subject: Tycho &lt;n&gt; released
+
 
+
Tycho &lt;n&gt; has been released and is available from Maven Central repository.
+
 
+
See the release notes
+
[1] https://github.com/eclipse/tycho/blob/master/RELEASE_NOTES.md#n for details of enhancements and bug fixes in this release.
+
 
+
Thanks to
+
&lt;contributors&gt;
+
who contributed patches for this release, and thanks and to everyone who helped us with testing the staged version.
+
 
+
Regards,
+
 
+
</pre>
+
## 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]]
+

Revision as of 06:50, 9 July 2021

This is now moved to https://github.com/eclipse/tycho/blob/master/devdoc/Releasing_Tycho.mediawiki

Back to the top