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.
Difference between revisions of "Releasing Tycho"
m |
|||
(45 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | This page describes the steps necessary to create releases of the Tycho project. | + | 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 [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] | ||
+ | # At least once per year, a review is required. In that case, 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. | ||
+ | # 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> 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 version <tt>tycho-<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=sonatype-nexus-staging -DforgeReleaseUrl=https://oss.sonatype.org/service/local/staging/deploy/maven2/</tt> | ||
+ | # Generate site docs using <tt>mvn clean install site site:stage</tt> and check the result from <tt>target/staging</tt> | ||
+ | # 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> | ||
+ | # 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 | ||
+ | # Prepare Update yo the webite, using git repo https://git.eclipse.org/c/www.eclipse.org/tycho.git/ | ||
+ | ## Change versions on main page | ||
+ | ## Update the New and Noteworthy section | ||
+ | ## Prepare sitedocs: Copy the local site docs folders <tt>target/staging/sitedocs</tt> to the existing <tt>sitedocs</tt> folder | ||
+ | ## Submit those change 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/ | ||
+ | ## 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> and website in Gerrit | ||
+ | # 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/ | ||
+ | # Announce the release | ||
+ | ## 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> | ||
+ | ## Optionally, announce on other medias (Twitter) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Category:Tycho]] | [[Category:Tycho]] |
Revision as of 05:58, 7 November 2019
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/ - Generate site docs using mvn clean install site site:stage and check the result from target/staging
- On https://oss.sonatype.org/#stagingRepositories , 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>
- Prepare update tycho-demo projects to the latest release and push the change as a review to Gerrit
- Prepare Update yo the webite, using git repo https://git.eclipse.org/c/www.eclipse.org/tycho.git/
- Change versions on main page
- Update the New and Noteworthy section
- Prepare sitedocs: Copy the local site docs folders target/staging/sitedocs to the existing sitedocs folder
- Submit those change 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/
- Only drop the staging repository once the artifacts have reached Maven central.
- Push the release tags to git: git push origin --tags
- 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
- Prepare next stream
- Set versions in <n+1>-SNAPSHOT
- Commit to Gerrit
- When green, merge org.eclipse.tycho change
- Then build https://ci.eclipse.org/tycho/job/tycho-build/
- Announce the release
- 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
- 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>
- Optionally, announce on other medias (Twitter)