Skip to content

Release_Preparation

Bernd Hufmann edited this page Dec 9, 2024 · 14 revisions

Simultaneous Release participation

  • If Trace Compass did participate in the previous simultaneous release, do milestone 1 (M1) to announce participation in incoming simultaneous release
  • If Trace Compass did not participate in the previous simultaneous release, please announce the participation on the cross-project-issue-dev mailing list before M1:

Title: Trace Compass Participation in 2019-06 release

Hi,

The Trace Compass project will participate in the 2019-06 simultaneous release train with a offset of +3 and version 5.0.0.

https://projects.eclipse.org/projects/tools.tracecompass/releases/5.0.0

Regards

Preparing for a release

  • The release train is composed of 3 milestones build (M1, M2, M3), 2 release candidates (RC1, RC2), and the final release build
  • Create a release record well in advance to announce the release. Go to the project page and while logged in, use "Committer Tools"-> "Create new release" on the right. This can be done even before the preceding release is done. It is used to indicate our intention.
  • About 2 months before the release, probably around but before M2, make sure the corresponding release record is properly completed and ready for review.
  • Prepare the New&Noteworthy page, e.g. NewIn20
    • Make sure the page is listed in NewInTraceCompass
      • If this is a service release, you can add a section on the page of the major version, see for example: NewIn201
  • Deal with IP. Now that we only accept contribution through Gerrit, there really shouldn't be much to do.
    1. Generate the IPLog. Go to the project page and while logged in, use "Committer Tools" -> "Generate IPLog (project)" on the right to generate the IPLog.
    2. Review the IPLog created. There shouldn't be much to change, if anything at all.
    3. Submit the IPLog using the button at the bottom of the IPLog page. This will automatically create a CQ in IPZilla.
    4. Once the IP team finishes the review they will approved the IP log.
    • Request Tools PMC approval for the release by sending an email to "tools-pmc at eclipse.org" of the form
Title: PMC Approval for Trace Compass 2.0

Dear PMC Members,

We'd like PMC approval for the Trace Compass 2.0 major release that is scheduled to coincide with Eclipse Neon. The release contains bug fixes, new features and API changes [1].

The project's IP Log has been submitted and is awaiting approval. The release review can be found at [2].

Regards

[1] <https://github.com/eclipse-tracecompass/org.eclipse.tracecompass/wiki/NewIn20>
[2] <https://projects.eclipse.org/projects/tools.tracecompass/releases/2.0.0/review>
  • Schedule a release review. From the release review page e.g., review for 2.0.0, there should be a green link at the top that says "Schedule a review". Once pressed the review will be available but to make it public an email must be sent to the EMO (emo at eclipse.org) like this:
Title: Please schedule Trace Compass 2.0.0 Release Review

Hi,

could we please schedule a release review [1] for the next major release of Trace Compass 2.0 scheduled to coincide with Neon, on June 22th, 2016? PMC approval has been requested [2]`

Regards

[1] <https://projects.eclipse.org/projects/tools.tracecompass/releases/2.0.0/review>
[2] <Add link to email on tools-pmc mailing list that request PMC approval>

Preparing milestone/release candidate builds

  • (not always) run the 'mvn plugin update' script
  • Before making the build
    • For each milestone (M1, M2, M3)
      • Update the staging target with the the most up-to-date milestone update sites (Do not forget to increment the sequence number), and create a new target for the upcoming release with the same content. For example, if preparing the build for M2, make sure the update sites uses CDT M2, Platform M2, etc. This will help to detect early dependency problem.
      • Set up a separate patch where the main pom.xml uses the new target file as target-platform, and push it to gerrit. This will test the build with the new dependencies and validate the targets. However, mark this gerrit patch as not-to-be-merged-yet. It is only to be merged in master branch after the final release.
      • For Release candidates (RC1, RC2)
      • Make sure the currently used target file points to the most up-to-date update sites (Do not forget to increment the sequence number). For example, if preparing the build for RC2, make sure the update sites uses CDT RC2, Platform RC2, etc. Release candidate must not have any dependency issues.
  • Create milestones (release candidate) update site for the simultaneous release, e.g. M2
    1. Only for RC1
      • Announce release plan on Trace Compass mailing list well advance before actual release branch is created
      • Run "releng/scripts/update_version.sh"
      • Run "releng/script/check_plugins_changes.sh"
      • Run "mvn org.eclipse.tycho:tycho-versions-plugin:update-pom". This will align the version in the pom.xml file to version of the corresponding MANIFEST.MF file (i.e. ctf.core.tests, ctf.parser, pcap.core.tests, alltests).
      • Run "releng/script/update_rcp_year.sh" to update the copyright year for the RCP. It will only update the year if needed.
    2. Test the milestone (release candidate) nightly build
    3. Run https://ci.eclipse.org/tracecompass/job/org.eclipse.tracecompass-simrel-publish/ with the right parameters. It will do the following
      • Goto to sub-directory downloads/tracecompass
      • If needed, create directory <release-name>/milestones, e.g. mkdir neon/milestones
      • Goto sub-directory <release-name>/milestones
      • Create milestone directory, e.g. mkdir m2
      • Copy update site content to milestone directory (e.g. m2)
      • Copy compositeArtifacts.xml and compositeContent.xml from previous release (e.g. neon)
      • Update both files for current milestone build (e.g. <child location="m2"/>)
    4. Test the milestone update site on browser and try to install it in eclipse
    5. Update simultaneous release aggregator file (tracecompass.aggrcon)
      • Clone repository git://git.eclipse.org/gitroot/simrel/org.eclipse.simrel.build.git and setup Gerrit
      • Update tracecompass.aggrcon file in master branch to point to the milestones directory (e.g. 2019-06/milestones).
      • Push Gerrit for code review
    6. Additional steps for RC1
      • Create locally and then push the new stable (e.g. stable-5.0) branch, based on the build revision (e.g. 8a8d14a28d020ea899bc558bf5cc956d06f6a04e).
      • Modify root pom.xml to use the latest target and push to the new stable branch
      • Run releng/scripts/master_to_stable_release.sh and push to the new stable branch
        • It will update the update site to stable in tracing.product
        • It will enable automatic updates for the RCP in plugin_customization.ini
      • Update and enable https://ci.eclipse.org/tracecompass/job/tracecompass-stable-release-nightly-new/ job to build on new stable branch. Update the destination paths in the Maven build step's Advanced properties.
      • Execute manual test cases for the release (see Test Reports) and fix bugs found. This should be a team effort.
      • Create the New&Notheworthy page and add a link to it in NewInTraceCompass
    7. Additional steps for RC1 (building compatible incubator updatesite)
      • Run skeleton/scripts/update_version.sh with new incubator minor version
      • Run skeleton/scripts/check_plugins_changes.sh with baseline stable branch name (note: do not upgrade skeleton template plug-ins version, leave 0.1.0)
      • Run "mvn org.eclipse.tycho:tycho-versions-plugin:update-pom" to align pom.xml files with corresponding manifest plug-in version
      • Commit these changes and create and push the new incubator stable branch
      • Update configuration with new stable update site and run job https://ci.eclipse.org/tracecompass/view/Main/job/tracecompass-incubator-stable/
      • In Trace Compass stable branch, commit changes to point incubator documentation and plug-ins to new incubator stable update site
    8. Email Trace Compass mailing list to inform about the milestone build
Title: Trace Compass 5.0/2019-06 M3 posted`

Hi,

I posted the Trace Compass 5.0/2019-06 M3 build:
<https://download.eclipse.org/tracecompass/2019-06/milestones/m3>

It is based on commit: 8a8d14a28d020ea899bc558bf5cc956d06f6a04e

2019-06 RC1 build will be Wednesday, June 5, 2019.
Reminder: RC1 will be API and feature freeze for this release.

Regards

Finalizing release on release day

  • Update stable branch with latest e4.x and eStaging targets to use the various projects' release repositories
  • Create release update sites
    • Do steps 2 to 5 of Preparing milestone/release candidate builds with the right parameters
  • Update the Trace Compass download page at 1.
  • Update the nightly stable build
    • Disable the tracecompass-stable-release-nightly-new job on CI.
    • Update the trigger job tracecompass-stable-nightly-base on CI to build stable branch (e.g. stable-6.2). This trigger job is scheduled every night to check if there are changes in the repository. It will trigger tracecompass-stable-nightly, if there are changes.
    • Update the job tracecompass-stable-nightly on CI to build stable branch (e.g. stable-6.2) . For that update the job parameters GERRIT_REFSPEC and GERRIT_BRANCH_NAME.
  • In Eclipse, tag commit with release tag, e.g. v2.0.0 and push to the main repository
  • Cherry-pick the latest e4.x and eStaging targets from stable branch to master branch
  • Update the Trace Compass baseline in master branch
    1. Add a new tracecompass-baseline-x.y.x.target file with the new released version
    2. Copy the Trace Compass baseline contents by setting the new target name, resetting the sequence number, incorporating the result of releng/scripts/generate_api_baseline_unit_ids.sh, and updating the repository locations to the new release URLs
    3. Remove the previous release baseline target file
    4. Fix invalid @since tags if necessary
    5. Remove any obsolete API filters
  • Update the TraceCompass.setup file for Oomph, by adding a new target platform version, and updating the Trace Compass baseline
  • Update master branch main pom.xml to build using the latest e4.x target
  • Cherry-pick the Trace Compass baseline and Oomph setup patches from master to stable branch
  • Upload test report to the Trace Compass wiki by cloning the Trace Compass wiki git repository and update see Test Reports page. Note: use SSH for pushing directly to the git.
  • Add a new milestone for next release (https://github.com/eclipse-tracecompass/org.eclipse.tracecompass/milestones)
  • Update Marketplace entry (https://marketplace.eclipse.org/content/trace-compass)
  • Update Trace Compass web-page using git repository: ssh://[email protected]:29418/www.eclipse.org/tracecompass.git
  • Update simultaneous release aggregator file (tracecompass.aggrcon) to the Trace Compass release URL
  • Once tracecompass-master-nightly job has run with latest target, update tracecompass-incubator-master target
  • Update configuration of tracecompass-master-nightly-staging job if necessary
  • Send email to Trace Compass developer mailing list to announce release.
Title: Trace Compass 2.0.0 is released

  Hi,

  The Trace Compass team is pleased to announce that the release 2.0.0 for Neon is now available
  from the project's download page [1]. Details are available on the New & Noteworthy page [2].

  The Trace Compass p2 repository is up at `<https://download.eclipse.org/tracecompass/releases/2.0.0/repository/>

  The Trace Compass standalone RCP is available from: `<https://download.eclipse.org/tracecompass/releases/2.0.0/rcp/>

  The tag v2.0.0 maps to the commit 9319ce1f588bb814c4cb6da158542479faff087b

  Congratulations and thanks to everyone!

  Regards

  [1] <https://projects.eclipse.org/projects/tools.tracecompass/downloads>
  [2] <https://github.com/eclipse-tracecompass/org.eclipse.tracecompass/wiki/NewIn20>

Update Trace Compass on new Year

  • Please update the year ex: from 2018 to 2019
Clone this wiki locally