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 "OCL/Dev/Releng/Quiet Week"

< OCL
(Prepare the releases p2 repository)
(Quiet Week)
(42 intermediate revisions by 2 users not shown)
Line 1: Line 1:
In this wiki entry we explain the releng bits that may be done during the ''quiet week'', particularly to the Eclipse OCL project. You may find some general information about the ''quite week'' in the [[ Juno/Final_Daze | Simultaneous Release Final Daze]] documentation (Juno, for the time of writing).
+
In this wiki entry we explain the releng bits that may be done during the ''quiet week'', particularly to the Eclipse OCL project. You may find some general information about the ''quiet week'' in the [[ Juno/Final_Daze | Simultaneous Release Final Daze]] documentation (Juno, for the time of writing).
  
 
The main purpose of the quite week activities is preparing the downloadable zips and the release p2 repository in its final location so that they are properly mirrored across the different mirror servers prior to the final release date, taking into account that the content can't be available for download until that date. The releng tasks to be done are explained in two blocks, the tasks during the [[#Quite Week | Quite Week]] and those tasks which must be done the [[#Final Release Day | Final Release Day]].
 
The main purpose of the quite week activities is preparing the downloadable zips and the release p2 repository in its final location so that they are properly mirrored across the different mirror servers prior to the final release date, taking into account that the content can't be available for download until that date. The releng tasks to be done are explained in two blocks, the tasks during the [[#Quite Week | Quite Week]] and those tasks which must be done the [[#Final Release Day | Final Release Day]].
  
=Quite Week=
+
=Quiet Week=
  
The following are the Eclipse OCL usal releng tasks to be accomplished during the ''quite week''.  
+
The following are the Eclipse OCL usual releng tasks to be accomplished during what was once the ''quiet week''. Since moving to a four release per year cadence, the ''quiet week'' is at best a couple of days. Now that ssh access to build.eclipse.org is more restricted, many of the former ''quiet week'' activities are imporactiocal and what is practical should be performed as late as possible in the final SimRel Release Candidate.
  
==Hide the new release in the downloads web page==
+
==Build the final release==
 +
Perform an R-build with an alias of the release name. Do this as late as practical before the final SimRel build so that the R-build can be contributed to the SimRel aggregator. Do this as late as practical before the final SimRel build so that the R-build can be contributed to the SimRel aggregator. Once built and promoted, disable the Promoter job to prevent any accidental re-builds until the project moves on to a new version number. Then the Promoter Job can be re-enabled.
  
Prior to prepare the downloadable zips of the imminent release in the downloads area, we should ensure that it's not available for downloading. To do that you must follow the following steps:
+
==Archive old releases==
  
*Clone the OCL www repository using the following GIT repository URL: '''ssh://git.eclipse.org/gitroot/www.eclipse.org/modeling/mdt.git'''
+
Older download ZIPs are moved to archive:
*Import the '''mdt''' project into the workspace
+
*Edit the '''/mdt/downloads/hidden.txt''' file and include an entry for the new release to hide, for instance '''modeling/mdt/4.0.2/R201301281158'''
+
    '''note:''' see the hidden.txt file history to find examples of previous modifications
+
*Commit and push the change to the remote repository
+
  
==Prepare the downoadable zips area==
+
*Edit the '''/mdt/downloads/extras-ocl.php''' file to add the redirections for archived releases
We usually will want our last published Release Candidate (''RC'') to be our final version of the release which will be present in the downloads area. To do that we will have to follow the following steps:
+
*Copy the releases to archive
 +
cd ~/downloads/modeling/mdt/ocl/downloads/drops
 +
mv 5.0.5 /home/data/httpd/archive.eclipse.org/modeling/mdt/ocl/downloads/drops
 +
<del>*Make sure the archive is useable
 +
For each new archived R folder that doesn't have an index.php</del>
  
* Copy the '''last''' ''RC'' (''Sxxxxxxxxxxxx'' for ''SR0'' or ''Mxxxxxxxxxxxx'' for ''SR1'' and ''SR0'') from the downloads area taking into account that a release distribution should start with '''R'''. For instance, for the ''Juno SR2'' release you should do the following:
+
<del> cp ../../3.1.0/R201106061427/index.php .</del>
  
~/downloads/modeling/mdt/ocl/downloads/drops/4.0.0> cp -rf M201301281158/ ../4.0.2/R201301281158
+
The default Eclipse Foundation archive.eclipse.org 404 page has a "Show Directory Contents." that provides similar/better functionality than the traditional project index.php.
  
* Giving that the zips usually have the ''RCx'' suffix of the last built Release Candidate, we need to manually remove them. The following bash script does it automatically:
+
Older P2 repos are moved to archive:
#!/bin/bash
+
# Copyright (c) 2013 Willink Transformations, University of York and others.
+
# All rights reserved. This program and the accompanying materials
+
# are made available under the terms of the Eclipse Public License v1.0
+
# which accompanies this distribution, and is available at
+
# http://www.eclipse.org/legal/epl-v10.html
+
#
+
# Contributors:
+
#              Adolfo Sanchez-Barbudo Herrera (Univerisity of York) - Initial API and implementation
+
if [ $# -ne 1 ]
+
then
+
    echo "usage example: ./renameZips.sh RC1"
+
    exit;
+
fi
+
+
for i in *.zip
+
do
+
  newName=${i/$1/}
+
  echo "Renaming $i to $newName"
+
  mv "$i" "$newName"
+
done
+
  
* Similarly, the ''MD5'' files need to be changed:
+
*Copy the repo to archive
  #!/bin/bash
+
  cd ~/downloads/modeling/mdt/ocl/updates/releases
  # Copyright (c) 2013 Willink Transformations, University of York and others.
+
  ant -f /shared/modeling/tools/promotion/manage-composite.xml remove -Dchild.repository=5.0.5
# All rights reserved. This program and the accompanying materials
+
  mv 5.0.5 /home/data/httpd/archive.eclipse.org/modeling/mdt/ocl/updates/releases
  # are made available under the terms of the Eclipse Public License v1.0
+
  cd /home/data/httpd/archive.eclipse.org/modeling/mdt/ocl/updates/releases
# which accompanies this distribution, and is available at
+
  ant -f /shared/modeling/tools/promotion/manage-composite.xml add -Dchild.repository=5.0.5
# http://www.eclipse.org/legal/epl-v10.html
+
#
+
# Contributors:
+
#              Adolfo Sanchez-Barbudo Herrera (Univerisity of York) - Initial API and implementation
+
if [ $# -ne 1 ]
+
then
+
    echo "usage example: ./renameMD5.sh RC1"
+
    exit;
+
fi
+
+
for i in *.md5
+
do
+
  iContent=`cat $i`
+
  newName=${i/$1/}
+
  newContent=${iContent/$1/}
+
  echo "Introducing $newContent into $newName"
+
  echo "$newContent" > "$newName"
+
  rm $i
+
  done
+
* Finally, a small script to verify the ''MD5'' checksum
+
#!/bin/bash
+
# Copyright (c) 2013 Willink Transformations, University of York and others.
+
# All rights reserved. This program and the accompanying materials
+
# are made available under the terms of the Eclipse Public License v1.0
+
# which accompanies this distribution, and is available at
+
# http://www.eclipse.org/legal/epl-v10.html
+
  #
+
# Contributors:
+
#              Adolfo Sanchez-Barbudo Herrera (Univerisity of York) - Initial API and implementation
+
for i in *.md5
+
do
+
  md5sum -c $i
+
done
+
  
==Prepare the releases p2 repository==
+
==Update the Help Info Center==
Likewise, the p2 repository corresponding to the new release needs to be in place to further be composed by the ''updates/releases'' composite repo. To do that we will have to follow the following steps:
+
The Help Info Center is now populated automatically.
* Copy the last '''tools''' p2 repository contributed to the simultaneous release train (the last ''milestones/x.y.z/tools'' repository for ''SR0'' or the last ' maintenance/x.y.z/tools'' repository for SR1 and SR2) into the corresponding ''updates/releases/x.y.z'' repository.
+
'''note:''' Look at ''updates/releases'' repository content and follow the layout.
+
* The contributed repository usually specifies a category name for the repository content which correspond to the alias of the build, hence, some undesirable ''RCx'' information. To remove that simply edit the ''content.jar/content.xml'' file and look for the specific ''RCx'' string. For the Juno SR2 p2 repository you should find the following:
+
  
<property name='org.eclipse.equinox.p2.name' value='OCL-4.0.2RC2'/>
+
<del>With every release a bugzilla is created so that every project can publish where the doc plugin is located in the new release repository. We will usually need to keep an eye to the cross-project-issues mailing list to catch the proper bugzilla up (Following the cross-project dot inbox @at eclipse dot org bugzilla account may also help). In the corresponding ''Juno'' release bugzilla [https://bugs.eclipse.org/bugs/show_bug.cgi?id=379598 379598] , you may find different examples about how to provide the required information.</del>
<property name='org.eclipse.equinox.p2.description' value='Eclipse OCL-4.0.2RC2 features.'/>
+
  
Simply edit the values and remove the ''RC2'' bits.
+
=Final Release Day=
 +
The R-build is automatically published, so no immediate action is required.
  
* Finally, verify that the content is properly accessible by an Eclipse installation. You could check that by trying to install new software and using the corresponding new releases repository. For the Juno SR2 release you'd use the following URL: http://download.eclipse.org/modeling/mdt/ocl/updates/releases/4.0.2
+
==Update Eclipse Market Entry==
 
+
The Eclipse OCL entry in the Eclipse MarketPlace requires to be updated with the final R-build:
=Final Release Day=
+
In the final release day, as it's specified by the [[Kepler/Simultaneous_Release_Plan#Milestones_and_Release_Candidates | Simulatenous Release Planning]] (Kepler by the tome of writing), we need to activate our final release to be downloaded from our public downloads area and from our public releases p2 repository. To accomplish that you the following tasks need to be undertaken.
+
  
==Show the new release in the downloads web page==
+
[http://marketplace.eclipse.org/content/eclipse-ocl#.UT2sXhzJT2s Eclipse OCL at Market Place]
Basically, we have to follow similar steps to those we did to hide the release. Providing you have previously imported the '''mdt''' project from the cloned the OCL www GIT repository, the steps to do are the following:
+
*Edit the '''/mdt/downloads/hidden.txt''' file and remove the entry for the new release to make it visible.
+
*Commit and push the change to the remote repository
+
  
==Make the new release p2 repository be available==
+
==Next Version==
During the ''quite week'', we prepared the p2 repository under the ''updates/releases'' folder. However the new release repository needs to be activated by including it as a children of our public ''updates/releases'' (composite) repository. To do that we will simply have to use the [[Modeling_Project_Builds/Utilities#manage-composite.xml | Manage Composite Utility]]. For instance for the Juno SR2 release:
+
The Eclipse OCL entry in the Eclipse MarketPlace requires to be updated with the final R-build:
 +
The project should be moved onto the next release number by editing the many version numbers in MANIFEST.MF, pom.xml, feature.xml. Once this has been debugged using a local Tycho build, the Promoter job can be re-enabled.
  
~/downloads/modeling/mdt/ocl/updates/releases> ant -f /shared/modeling/tools/promotion/manage-composite.xml add -Dchild.repository=4.0.2
+
==Announcement==
 +
Remember to announce the new release in our public [http://www.eclipse.org/forums/index.php?t=thread&frm_id=26 forum].

Revision as of 07:18, 10 September 2019

In this wiki entry we explain the releng bits that may be done during the quiet week, particularly to the Eclipse OCL project. You may find some general information about the quiet week in the Simultaneous Release Final Daze documentation (Juno, for the time of writing).

The main purpose of the quite week activities is preparing the downloadable zips and the release p2 repository in its final location so that they are properly mirrored across the different mirror servers prior to the final release date, taking into account that the content can't be available for download until that date. The releng tasks to be done are explained in two blocks, the tasks during the Quite Week and those tasks which must be done the Final Release Day.

Quiet Week

The following are the Eclipse OCL usual releng tasks to be accomplished during what was once the quiet week. Since moving to a four release per year cadence, the quiet week is at best a couple of days. Now that ssh access to build.eclipse.org is more restricted, many of the former quiet week activities are imporactiocal and what is practical should be performed as late as possible in the final SimRel Release Candidate.

Build the final release

Perform an R-build with an alias of the release name. Do this as late as practical before the final SimRel build so that the R-build can be contributed to the SimRel aggregator. Do this as late as practical before the final SimRel build so that the R-build can be contributed to the SimRel aggregator. Once built and promoted, disable the Promoter job to prevent any accidental re-builds until the project moves on to a new version number. Then the Promoter Job can be re-enabled.

Archive old releases

Older download ZIPs are moved to archive:

  • Edit the /mdt/downloads/extras-ocl.php file to add the redirections for archived releases
  • Copy the releases to archive
cd ~/downloads/modeling/mdt/ocl/downloads/drops
mv 5.0.5 /home/data/httpd/archive.eclipse.org/modeling/mdt/ocl/downloads/drops

*Make sure the archive is useable For each new archived R folder that doesn't have an index.php

cp ../../3.1.0/R201106061427/index.php .

The default Eclipse Foundation archive.eclipse.org 404 page has a "Show Directory Contents." that provides similar/better functionality than the traditional project index.php.

Older P2 repos are moved to archive:

  • Copy the repo to archive
cd ~/downloads/modeling/mdt/ocl/updates/releases
ant -f /shared/modeling/tools/promotion/manage-composite.xml remove -Dchild.repository=5.0.5
mv 5.0.5 /home/data/httpd/archive.eclipse.org/modeling/mdt/ocl/updates/releases
cd /home/data/httpd/archive.eclipse.org/modeling/mdt/ocl/updates/releases
ant -f /shared/modeling/tools/promotion/manage-composite.xml add -Dchild.repository=5.0.5

Update the Help Info Center

The Help Info Center is now populated automatically.

With every release a bugzilla is created so that every project can publish where the doc plugin is located in the new release repository. We will usually need to keep an eye to the cross-project-issues mailing list to catch the proper bugzilla up (Following the cross-project dot inbox @at eclipse dot org bugzilla account may also help). In the corresponding Juno release bugzilla 379598 , you may find different examples about how to provide the required information.

Final Release Day

The R-build is automatically published, so no immediate action is required.

Update Eclipse Market Entry

The Eclipse OCL entry in the Eclipse MarketPlace requires to be updated with the final R-build:

Eclipse OCL at Market Place

Next Version

The Eclipse OCL entry in the Eclipse MarketPlace requires to be updated with the final R-build: The project should be moved onto the next release number by editing the many version numbers in MANIFEST.MF, pom.xml, feature.xml. Once this has been debugged using a local Tycho build, the Promoter job can be re-enabled.

Announcement

Remember to announce the new release in our public forum.

Back to the top