Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "Releasing Tycho"

Line 10: Line 10:
 
# Create the new version and milestone in the [https://dev.eclipse.org/committers/bugs/bugz_manager.php bugzilla manager]
 
# Create the new version and milestone in the [https://dev.eclipse.org/committers/bugs/bugz_manager.php bugzilla manager]
 
# Make sure you have everything setup (GPG installed!) for deploying to the Nexus OSS repository, see [https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide guide]  
 
# Make sure you have everything setup (GPG installed!) for deploying to the Nexus OSS repository, see [https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide guide]  
# Add your credentials for server <tt>&lt;OSS_ID&gt;</tt> in <tt>~/.m2/settings.xml</tt>  
+
# 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 versions for both <tt>tycho-&lt;VERSION&gt;</tt> (and <tt>tycho-extras-&lt;VERSION&gt;</tt> so current commit is the tag.
 
# Checkout the tag versions for both <tt>tycho-&lt;VERSION&gt;</tt> (and <tt>tycho-extras-&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=&lt;OSS_ID&gt; -DforgeReleaseUrl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -Dgpg.passphrase=&lt;YOUR_GPG_PASSPAHRASE&gt;</tt>  
 
# Sync to release commit and deploy to nexus staging repository: <br/><tt>mvn clean deploy -Prelease -DforgeReleaseId=&lt;OSS_ID&gt; -DforgeReleaseUrl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -Dgpg.passphrase=&lt;YOUR_GPG_PASSPAHRASE&gt;</tt>  

Revision as of 17:09, 22 March 2019

This page describes the steps necessary to create releases of the Tycho project.

  1. Make sure all bugs have the correct target milestone for this release
  2. Schedule a new release and generate the IP log on projects.eclipse.org
  3. Prepare the Tycho/Release Notes which should provide a quick overview of new features and bug fixes
  4. Link the N&N to the release review and send email to technology-pmc@eclipse.org to review the release docs. *# # Steps below apply to both tycho and tycho-extras git repositories as these should normally be released together and with the same version
  5. Update versions using
    mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=...
  6. Commit version change, and create a git tag tycho-<VERSION> (and tycho-extras-<VERSION> respectively) on this commit
  7. Update versions (same as above) to next -SNAPSHOT development version and push commit to master branch
  8. Create the new version and milestone in the bugzilla manager
  9. Make sure you have everything setup (GPG installed!) for deploying to the Nexus OSS repository, see guide
  10. 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>
  1. Checkout the tag versions for both tycho-<VERSION> (and tycho-extras-<VERSION> so current commit is the tag.
  2. Sync to release commit and deploy to nexus staging repository:
    mvn clean deploy -Prelease -DforgeReleaseId=<OSS_ID> -DforgeReleaseUrl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -Dgpg.passphrase=<YOUR_GPG_PASSPAHRASE>
  3. Close the staging repository and 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>
  1. Generate site docs for both tycho and tycho-extras using mvn clean install site site:stage and check the result in to tycho homepage site docs
  2. ... Wait until review date (usually a week later)...
  3. After ~1 week of testing, promote the stage repository on https://oss.sonatype.org/
    1. Only drop the staging repository once the artifacts have reached Maven central.
  4. Push the release tags to git: git push origin --tags
  5. Browse the Tycho wiki pages to update any hardcoded tycho versions to the latest version
  6. Update tycho-demo projects to the latest release
  7. Find out who contributed to the release:
git log --pretty=format:%an tycho-0.<n>..tycho-0.<n+1> | sort | uniq
git log --grep="Also-[bB]y:" tycho-0.<n>..tycho-0.<n+1> | grep -i also-by | sed -e 's/.*Also-[bB]y:\s*\(.*\)/\1/' | sort | uniq
  1. 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.

See the release notes [1] 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,
Tycho team

[1] http://wiki.eclipse.org/Tycho/Release_Notes/<n>
  1. Update the tycho homepage new and noteworthy section

Back to the top