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 "Ganymede/Build"

(Responsibilities)
(Responsibilities)
Line 71: Line 71:
 
Obviously, each project's own update site must already exist (and be working) at the file location or url specified in the site contribution file.
 
Obviously, each project's own update site must already exist (and be working) at the file location or url specified in the site contribution file.
  
Typically, as projects move from milestone to milestone (or release candidate to release candidate) only the version identifiers in their site contribution file will need to be changed. At other times, features might be added, removed, or renamed:
+
Typically, as projects move from milestone to milestone (or release candidate to release candidate) only the version identifiers (e.g. <code><font color="#CC0066" style="font-weight: bold">1.0.0.v200706250000-77--CYQCCz-CoRPCCCH</font>]</code>) in the site contribution file will need to be changed. At other times, features might be added, removed, or renamed:
* Adding a feature: add the new There might, for some projects, be times when the feature ids themselves have to change or perhaps the URL will change as to where to find the project's update site.
+
* Adding a feature: add new &lt;dependency> and &lt;attribute> nodes
 +
* Removing a feature: remove the corresponding &lt;dependency> and &lt;attribute> nodes
 +
* Renaming a feature: change the feature identifier (in two places) (e.g., <code><font color="#009900" style="font-weight: bold">org.eclipse.jpt.feature</font></code>).
  
After a project's release engineer updates their features-{project}.xml file, they should notify the rest of the Europa team via an email to the eclipse.org-cross-project-issues-dev@ mailing list.
+
TBD: how to trigger a new build and how to sign off that the project M-bits are ready to use.
  
 
===What The Europa-o-Matic Does===
 
===What The Europa-o-Matic Does===

Revision as of 20:32, 1 October 2007

This page is related to the Ganymede Simultaneous Release.

Information on the Gan-o-matic build system is under development.

  • EMF would like Gan-o-matic to retrieve files from a different location than it uses to set up site.xml so that they can have a different url for the site.xml that does download tracking.
  • If this means that we can use paths in our site*.xml files which contain absolute http:// paths instead of relative features/ paths, then yes. This is a request for EMF, MDT, M2T, and EMFT... and anyone who wants to track downloads from the Ganymede Update site as well as our own update sites. --nickb 17:37, 21 September 2007 (EDT)
  • bug 204272 requests that build results be notified by email.
  • Build status reports will be available at http://build.eclipse.org/ganymede/ once I get it working. The reports will include:
    • The most recent build
    • The most recent successful build
    • The N most recent builds
    • The final builds for each of the milestones and release candidates

Explanation

Of course, there really is no "build" of GAnymede, but only a copying of what is already available on each project's update site, to a central site. Plus, there is a "site.xml" file, and index.html, etc., that are authored, and Ganymede projects are (relatively) free to make updates to them.

Ganymatic Code

TBA

Per Project Configuration Files

Where

The pre-project configuration files are stored in the Callisto CVS:

:extssh:<your-committer-id-goes-here>@dev.eclipse.org:/cvsroot/callisto

Or, general "read" access via

:pserver:anonymous@dev.eclipse.org:/cvsroot/callisto

There is one project:

org.eclipse.ganymede.sitecontributions

Syntax and Semantics

<?xml version='1.0'?>
<sc:siteContribution
  xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
  xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
  rmapProviderURL="${downloads}/webtools/milestones/site.xml">
    <sc:cspec name="org.eclipse.wtp">
      <dependencies>
        <dependency name="org.eclipse.jpt.feature" 
                    versionDesignator="[1.0.0.v200706250000-77--CYQCCz-CoRPCCCH]" />
        <dependency name="org.eclipse.jst" 
                    versionDesignator="[2.0.0.v200706110805-7B-18dDQISlz0z0cc-oasolrW8jP]" />
        <dependency name="org.eclipse.wst.common_ui.feature" 
                    versionDesignator="[2.0.0.v200706041905-7C5EGzE9RvTVniSrwnf4TgOPe3e9]" />
      </dependencies>
      <groups>
        <public name="Web and JEE Development">
          <attribute component="org.eclipse.jst" />
          <attribute component="org.eclipse.wst.common_ui.feature" />
        </public>
        <public name="Other Development">
          <attribute component="org.eclipse.jpt.feature" />
        </public>
      </groups>
    </sc:cspec>
</sc:siteContribution>
  1. ${downloads}/webtools/milestones/site.xml: The location of the project's update site. It's more efficient to access the site via a file path than a url, but a url will work.
  2. org.eclipse.jpt.feature: The feature identifier. One per feature (of course). Features are listed one per <dependency .../> node.
  3. 2.0.0.v200706041905-7C5EGzE9RvTVniSrwnf4TgOPe3e9: The feature version. One per feature (of course).
  4. Web and JEE Development: Categories for the Ganymede site.xml file. These are used to group the features into categories.

Responsibilities

Each Ganymede project's PMC and/or Project Leader is responsible to keep its own *.sc (site contribution) file up to date as the project generates new milestones and release candidates. The project's project leader will probably delegate to the project's release engineer(s).

Obviously, each project's own update site must already exist (and be working) at the file location or url specified in the site contribution file.

Typically, as projects move from milestone to milestone (or release candidate to release candidate) only the version identifiers (e.g. 1.0.0.v200706250000-77--CYQCCz-CoRPCCCH]) in the site contribution file will need to be changed. At other times, features might be added, removed, or renamed:

  • Adding a feature: add new <dependency> and <attribute> nodes
  • Removing a feature: remove the corresponding <dependency> and <attribute> nodes
  • Renaming a feature: change the feature identifier (in two places) (e.g., org.eclipse.jpt.feature).

TBD: how to trigger a new build and how to sign off that the project M-bits are ready to use.

What The Europa-o-Matic Does

On a regular schedule (see below), or on specific request from any project, Bjorn does the following:

  1. An ant task uses the update manager's mirror function to pull features from the projects' updates sites, copying them to the Europa staging site.
  2. The log results of this mirroring are published here. (Eventually there may be an automated email notification as well.) Projects are responsible for making their portion go green.
  3. Once the build goes green, the Europa site.xml file is updated with the new feature versions and copied to the staging site http://download.eclipse.org/releases/europa/staging (the site does not work, please update)
  4. After the the staging site has been tested by the projects, to indeed discover and install the right versions, on the right platforms, etc., there will be a "mass delete and mass copy" of the staging site to the release site. The release site is http://download.eclipse.org/releases/europa/site.xml
    • This release is coordinated with the webmaster, so that the mirrors have time to replicate /europa/relases (note that staging is not mirrored, since it is for testing only, and may be created and re-created frequently, which would cause unnecessary noise on the mirror network).

When The Europa-o-Matic Runs

As of 2007/09/24, the Europa builds will run automatically every day at 8pm Eastern. The build takes about two hours and the results are placed in the Europa staging update site. The log is http://dash.eclipse.org/~bfreeman/europa/.

  • 5pm Pacific, 8pm Eastern, 1am Central Europe, 8am China

Back to the top