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 "WTP Releng Processes"

(Created page with "Draft doc where I plan to put all the release process docs for getting an I or M build published as an S or R build. -- Nick Boldt ------------")
 
 
(39 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Draft]] doc where I plan to put all the release process docs for getting an I or M build published as an S or R build. -- Nick Boldt
+
Doc locating all release process docs (or links to release process docs) for publishing I/M builds as an S/R builds.
 +
 
 +
See also [[WTP Release Tasks]].
  
 
------------
 
------------
 +
 +
=== Configuration ===
 +
 +
In order to send mail, you must create a ~/.buildermailrc file on build.eclipse.org, with contents like this:
 +
 +
set from="\"WTP Releng\"<nboldt@redhat.com>"
 +
  or
 +
set from="\"The WTP Build guy\"<ccc@us.ibm.com>"
 +
 +
=== Publish I build ===
 +
 +
Use this job: https://hudson.eclipse.org/webtools/job/WTP-Publish/
 +
 +
Or, ssh to build.eclipse.org, then:
 +
 +
# for http://build.eclipse.org/webtools/committers/wtp-R3.10.0-I/20180201205936/I-3.10.0-20180201205936/
 +
timestamp=20180201205936
 +
 +
# 1/4. move old/new builds out of the promote folder
 +
cd /shared/webtools/committers/wtp-R3.10.0-I/
 +
mkdir ../wtp-tmp; mv * ../wtp-tmp
 +
mv ../wtp-tmp/${timestamp} . # just include the one build we want to promote
 +
 +
# 2/4. delete old I-latest contents
 +
rm -fr /home/data/httpd/download.eclipse.org/webtools/downloads/drops/R3.10.0/I-latest/*
 +
 +
# 3/4. promote the build with email send
 +
cd /shared/webtools/releng.control && ./promote.sh -vrdscap wtp-R3.10.0-I # add -r flag to update I-latest
 +
 +
# 4/4. put back the other builds
 +
cd /shared/webtools/committers/wtp-R3.10.0-I/
 +
mv ../wtp-tmp/* .
 +
rmdir ../wtp-tmp
 +
 +
=== Publish M build ===
 +
 +
Use this job: https://hudson.eclipse.org/webtools/job/WTP-Publish/
 +
 +
Or, ssh to build.eclipse.org, then:
 +
 +
# for http://build.eclipse.org/webtools/committers/wtp-R3.9.3-M/20180125030226/M-3.9.3-20180125030226/
 +
 +
timestamp=20180125030226
 +
 +
# 1/3. move old/new builds out of the promote folder
 +
cd /shared/webtools/committers/wtp-R3.9.3-M/
 +
mkdir ../wtp-tmp; mv * ../wtp-tmp
 +
mv ../wtp-tmp/${timestamp} . # just include the one build we want to promote
 +
 +
# 2/3. promote the build with email send
 +
cd /shared/webtools/releng.control && ./promote.sh -vdscap wtp-R3.9.3-M
 +
 +
# 3/3. put back the other builds
 +
cd /shared/webtools/committers/wtp-R3.9.3-M/
 +
mv ../wtp-tmp/* .
 +
rmdir ../wtp-tmp
 +
 +
=== Publish M build as S build ===
 +
 +
Use this job: https://hudson.eclipse.org/webtools/job/WTP-Publish/
 +
 +
Or, ssh to build.eclipse.org, then:
 +
 +
# for http://build.eclipse.org/webtools/committers/wtp-R3.9.3-M/20180209112900/M-3.9.3-20180209112900/
 +
 +
timestamp=20180209112900
 +
build_alias=S-3.9.3RC1
 +
 +
# 1/5. move old/new builds out of the promote folder
 +
cd /shared/webtools/committers/wtp-R3.9.3-M/
 +
mkdir ../wtp-tmp; mv * ../wtp-tmp
 +
mv ../wtp-tmp/${timestamp} . # just include the one build we want to promote
 +
 +
# 2/5. promote the build without email send
 +
cd /shared/webtools/releng.control && ./promote.sh -vdcap wtp-R3.9.3-M # no -s flag
 +
 +
# 3/5. now rename & promote again
 +
cd /shared/webtools/committers/wtp-R3.9.3-M/${timestamp}
 +
cp /shared/webtools/releng.control/renameBuild.sh .
 +
./renameBuild.sh M-3.9.3-${timestamp} ${build_alias}-${timestamp}
 +
rm -f renameBuild.sh
 +
cd /shared/webtools/releng.control && ./promote.sh -vdscap wtp-R3.9.3-M
 +
 +
# 4/5. put back the other builds
 +
cd /shared/webtools/committers/wtp-R3.9.3-M/
 +
mv ../wtp-tmp/* .
 +
rmdir ../wtp-tmp
 +
 +
# 5/5. release this new build into to the simrel aggregation (see below).
 +
 +
==== Legend ====
 +
 +
# -v = verbose
 +
# -d = delete old builds
 +
# -s = send mail
 +
# -c = copy from committers to downloads
 +
# -a = add properties
 +
# -p = projectName/folder
 +
 +
=== (Deprecated) Manually Publish bits ===
 +
 +
At the end of a Jenkins build, you could do this:
 +
 +
project=jsdt
 +
# Clean previous snapshot
 +
rm -rf  /home/data/httpd/download.eclipse.org/webtools/${project}/snapshots/
 +
mkdir -p /home/data/httpd/download.eclipse.org/webtools/${project}/snapshots/
 +
 +
# Publish new build
 +
cp -r site/target/repository/* /home/data/httpd/download.eclipse.org/webtools/${project}/snapshots/
 +
cd /home/data/httpd/download.eclipse.org/webtools/${project}/snapshots/
 +
 +
 +
=== Release latest build to simrel ===
 +
 +
For R and S (milestones, RCs) builds only:
 +
 +
First, you must [https://bugs.eclipse.org/bugs/show_bug.cgi?id=530340 request permission to push to the simrel repo]
 +
 +
Next, check out the code.
 +
 +
git clone ssh://USERNAME@git.eclipse.org:29418/simrel/org.eclipse.simrel.build.git
 +
 +
Submit your change as a [https://git.eclipse.org/r/#/c/116052/ gerrit request].
 +
 +
Wait until you see the verification job has passed.
 +
 +
Finally, push your change to the repo, either via git commandline, egit, or with the blue buttons on the gerrit request itself.
 +
 +
=== Release latest stable build to /webtools/repository ===
 +
 +
For S builds before the initial .0, and all R builds after that:
 +
 +
Run this job: https://hudson.eclipse.org/webtools/job/WTP-Publish-Repo/
 +
 +
==== Manual Method ====
 +
 +
Or, by hand:
 +
 +
To update http://download.eclipse.org/webtools/repository/oxygen/ create an ant script like this:
 +
 +
$ vim /shared/webtools/apps/antrunner/antrunner-b/makeOxygen2Composite.xml
 +
<project
 +
    default="createcomposite"
 +
    basedir=".">
 +
    <target name="createcomposite">
 +
        <p2.composite.repository>
 +
            <repository
 +
                location="file:/home/data/httpd/download.eclipse.org/webtools/repository/oxygen/"
 +
                name="The Eclipse Web Tools Platform (WTP) software repository"/>
 +
            <add>
 +
                <repository location="http://download.eclipse.org/webtools/downloads/drops/R3.9.0/R-3.9.0-20170613094504/repository/"/>
 +
                <repository location="http://download.eclipse.org/webtools/downloads/drops/R3.9.1/R-3.9.1-20170912000144/repository/"/>
 +
                <repository location="http://download.eclipse.org/webtools/downloads/drops/R3.9.1a/R-3.9.1a-20171004113814/repository/"/>
 +
                <repository location="http://download.eclipse.org/webtools/downloads/drops/R3.9.2/R-3.9.2-20171201000141/repository/"/>
 +
            </add>
 +
        </p2.composite.repository>
 +
    </target>
 +
</project>
 +
 +
Run the script to regenerate the composite site:
 +
 +
cd /shared/webtools/apps/antrunner/antrunner-b/
 +
./runAntRunner.sh makeOxygen2Composite.xml
 +
 +
Generated contents will be here:
 +
 +
ls -la /home/data/httpd/download.eclipse.org/webtools/repository/oxygen/
 +
 +
==== Verify using p2 browser ====
 +
 +
Then check the [http://download.eclipse.org/webtools/repository/oxygen/ site] with [https://github.com/nickboldt/p2-browser p2 browser] or Eclipse:
 +
 +
[[File:Wtp-composite-repo.png|frame|border|none|||link=https://github.com/nickboldt/p2-browser|alt=p2 browser of wtp repo|lang=en|p2 browser view of wtp repo]]
 +
 +
[[Category:Eclipse Web Tools Platform Project]]
 +
[[Category:WTP Releng]]

Latest revision as of 13:28, 17 July 2018

Doc locating all release process docs (or links to release process docs) for publishing I/M builds as an S/R builds.

See also WTP Release Tasks.


Configuration

In order to send mail, you must create a ~/.buildermailrc file on build.eclipse.org, with contents like this:

set from="\"WTP Releng\"<nboldt@redhat.com>"
  or
set from="\"The WTP Build guy\"<ccc@us.ibm.com>"

Publish I build

Use this job: https://hudson.eclipse.org/webtools/job/WTP-Publish/

Or, ssh to build.eclipse.org, then:

# for http://build.eclipse.org/webtools/committers/wtp-R3.10.0-I/20180201205936/I-3.10.0-20180201205936/
timestamp=20180201205936

# 1/4. move old/new builds out of the promote folder
cd /shared/webtools/committers/wtp-R3.10.0-I/
mkdir ../wtp-tmp; mv * ../wtp-tmp
mv ../wtp-tmp/${timestamp} . # just include the one build we want to promote

# 2/4. delete old I-latest contents
rm -fr /home/data/httpd/download.eclipse.org/webtools/downloads/drops/R3.10.0/I-latest/*
# 3/4. promote the build with email send
cd /shared/webtools/releng.control && ./promote.sh -vrdscap wtp-R3.10.0-I # add -r flag to update I-latest

# 4/4. put back the other builds
cd /shared/webtools/committers/wtp-R3.10.0-I/
mv ../wtp-tmp/* .
rmdir ../wtp-tmp

Publish M build

Use this job: https://hudson.eclipse.org/webtools/job/WTP-Publish/

Or, ssh to build.eclipse.org, then:

# for http://build.eclipse.org/webtools/committers/wtp-R3.9.3-M/20180125030226/M-3.9.3-20180125030226/

timestamp=20180125030226

# 1/3. move old/new builds out of the promote folder
cd /shared/webtools/committers/wtp-R3.9.3-M/
mkdir ../wtp-tmp; mv * ../wtp-tmp
mv ../wtp-tmp/${timestamp} . # just include the one build we want to promote

# 2/3. promote the build with email send
cd /shared/webtools/releng.control && ./promote.sh -vdscap wtp-R3.9.3-M

# 3/3. put back the other builds
cd /shared/webtools/committers/wtp-R3.9.3-M/
mv ../wtp-tmp/* .
rmdir ../wtp-tmp

Publish M build as S build

Use this job: https://hudson.eclipse.org/webtools/job/WTP-Publish/

Or, ssh to build.eclipse.org, then:

# for http://build.eclipse.org/webtools/committers/wtp-R3.9.3-M/20180209112900/M-3.9.3-20180209112900/

timestamp=20180209112900
build_alias=S-3.9.3RC1

# 1/5. move old/new builds out of the promote folder
cd /shared/webtools/committers/wtp-R3.9.3-M/
mkdir ../wtp-tmp; mv * ../wtp-tmp
mv ../wtp-tmp/${timestamp} . # just include the one build we want to promote

# 2/5. promote the build without email send
cd /shared/webtools/releng.control && ./promote.sh -vdcap wtp-R3.9.3-M # no -s flag

# 3/5. now rename & promote again
cd /shared/webtools/committers/wtp-R3.9.3-M/${timestamp}
cp /shared/webtools/releng.control/renameBuild.sh .
./renameBuild.sh M-3.9.3-${timestamp} ${build_alias}-${timestamp}
rm -f renameBuild.sh
cd /shared/webtools/releng.control && ./promote.sh -vdscap wtp-R3.9.3-M

# 4/5. put back the other builds
cd /shared/webtools/committers/wtp-R3.9.3-M/
mv ../wtp-tmp/* .
rmdir ../wtp-tmp

# 5/5. release this new build into to the simrel aggregation (see below).

Legend

# -v = verbose
# -d = delete old builds
# -s = send mail
# -c = copy from committers to downloads
# -a = add properties
# -p = projectName/folder

(Deprecated) Manually Publish bits

At the end of a Jenkins build, you could do this:

project=jsdt
# Clean previous snapshot
rm -rf  /home/data/httpd/download.eclipse.org/webtools/${project}/snapshots/
mkdir -p /home/data/httpd/download.eclipse.org/webtools/${project}/snapshots/
# Publish new build
cp -r site/target/repository/* /home/data/httpd/download.eclipse.org/webtools/${project}/snapshots/
cd /home/data/httpd/download.eclipse.org/webtools/${project}/snapshots/


Release latest build to simrel

For R and S (milestones, RCs) builds only:

First, you must request permission to push to the simrel repo

Next, check out the code.

git clone ssh://USERNAME@git.eclipse.org:29418/simrel/org.eclipse.simrel.build.git

Submit your change as a gerrit request.

Wait until you see the verification job has passed.

Finally, push your change to the repo, either via git commandline, egit, or with the blue buttons on the gerrit request itself.

Release latest stable build to /webtools/repository

For S builds before the initial .0, and all R builds after that:

Run this job: https://hudson.eclipse.org/webtools/job/WTP-Publish-Repo/

Manual Method

Or, by hand:

To update http://download.eclipse.org/webtools/repository/oxygen/ create an ant script like this:

$ vim /shared/webtools/apps/antrunner/antrunner-b/makeOxygen2Composite.xml
<project
   default="createcomposite"
   basedir=".">
   <target name="createcomposite">
       <p2.composite.repository>
           <repository
               location="file:/home/data/httpd/download.eclipse.org/webtools/repository/oxygen/"
               name="The Eclipse Web Tools Platform (WTP) software repository"/>
           <add>
               <repository location="http://download.eclipse.org/webtools/downloads/drops/R3.9.0/R-3.9.0-20170613094504/repository/"/>
               <repository location="http://download.eclipse.org/webtools/downloads/drops/R3.9.1/R-3.9.1-20170912000144/repository/"/>
               <repository location="http://download.eclipse.org/webtools/downloads/drops/R3.9.1a/R-3.9.1a-20171004113814/repository/"/>
               <repository location="http://download.eclipse.org/webtools/downloads/drops/R3.9.2/R-3.9.2-20171201000141/repository/"/>
           </add>
       </p2.composite.repository>
   </target>
</project>

Run the script to regenerate the composite site:

cd /shared/webtools/apps/antrunner/antrunner-b/
./runAntRunner.sh makeOxygen2Composite.xml

Generated contents will be here:

ls -la /home/data/httpd/download.eclipse.org/webtools/repository/oxygen/

Verify using p2 browser

Then check the site with p2 browser or Eclipse:

p2 browser of wtp repo
p2 browser view of wtp repo

Back to the top