|
|
(18 intermediate revisions by the same user not shown) |
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.md |
− | | + | |
− | # Make sure all bugs have the correct target milestone for this release
| + | |
− | # Schedule a new release and generate the IP log on [https://projects.eclipse.org/projects/technology.tycho 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 [https://projects.eclipse.org/projects/technology.tycho release review] and send [mailto:technology-pmc@eclipse.org?subject=release%20review%20docs%20for%20Eclipse%20Tycho&body=Hi%20PMC%20members,%0A%0Aplease%20approve%20release%20review%20docs%20for%20Tycho%20VERSION%0A%0Ahttps://projects.eclipse.org/projects/technology.tycho/releases/VERSION%0A%0ABest%20Regards,%0ATycho%20team email to technology-pmc@eclipse.org] to review the release docs. *# # Steps below apply to both [http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/ tycho] and [http://git.eclipse.org/c/tycho/org.eclipse.tycho.extras.git/ tycho-extras] git repositories as these should normally be released together and with the same version
| + | |
− | # 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-<VERSION></tt> (and <tt>tycho-extras-<VERSION></tt> respectively) on this commit
| + | |
− | # Update versions (same as above) to next <tt>-SNAPSHOT</tt> development version and push commit to <tt>master</tt> branch
| + | |
− | # 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]
| + | |
− | # 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-<VERSION></tt> (and <tt>tycho-extras-<VERSION></tt> so current commit is the tag.
| + | |
− | # Sync to release commit and deploy to nexus staging repository: <br/><tt>mvn clean deploy -Prelease -DforgeReleaseId=<OSS_ID> -DforgeReleaseUrl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -Dgpg.passphrase=<YOUR_GPG_PASSPAHRASE></tt>
| + | |
− | # 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
| + | |
− | # Generate site docs for both tycho and tycho-extras using <tt>mvn clean install site site:stage</tt> and check the result in to [http://www.eclipse.org/tycho/sitedocs tycho homepage site docs]
| + | |
− | # On https://oss.sonatype.org/#stagingRepositories , Close the staging repository and 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] http://wiki.eclipse.org/Tycho/Release_Notes/<VERSION>
| + | |
− | [2]
| + | |
− | <pluginRepositories>
| + | |
− | <pluginRepository>
| + | |
− | <id>tycho-staged</id>
| + | |
− | <url><NEXUS_OSS_STAGING_URL></url
| + | |
− | </pluginRepository>
| + | |
− | </pluginRepositories>
| + | |
− | </pre>
| + | |
− | # ... Wait until review date (usually a week later)...
| + | |
− | # After ~1 week of testing, promote the stage repository on https://oss.sonatype.org/
| + | |
− | ## Only drop the staging repository once the artifacts have reached Maven central.
| + | |
− | # Push the release tags to git: <tt>git push origin --tags</tt>
| + | |
− | # 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> in Gerrit ( https://git.eclipse.org/r/#/q/project:tycho/org.eclipse.tycho-demo+status:open )
| + | |
− | # Update the webite (using <tt>www.eclipse.org/tycho</tt> Git repo)
| + | |
− | ## Update the [http://www.eclipse.org/tycho tycho homepage new and noteworthy section]
| + | |
− | ## Copy the local site docs folders target/staging/sitedocs and target/staging/sitedocs-extras to the website
| + | |
− | # Prepare next stream
| + | |
− | ## Set versions in <n+1>-SNAPSHOT
| + | |
− | ## Commit to Gerrit
| + | |
− | ## When green, merge <tt>org.eclipse.tycho</tt> change
| + | |
− | ## Then build https://ci.eclipse.org/tycho/job/tycho-build/
| + | |
− | ## (Re)build Gerrit trigger for <tt>org.eclipse.tycho.extras</tt>
| + | |
− | ## Then buld https://ci.eclipse.org/tycho/job/tycho.extras<
| + | |
− | -build/
| + | |
− | # Find out who contributed to the release:
| + | |
− | <pre>
| + | |
− | 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
| + | |
− | </pre>
| + | |
− | # Announce the release on tycho-user@eclipse.org, tycho-dev@eclipse.org, thanking the contributors:
| + | |
− | <pre>
| + | |
− | 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>
| + | |
− | </pre>
| + | |
− | | + | |
− | | + | |
− | [[Category:Tycho]]
| + | |