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 "WTP Releng Processes"
(38 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | 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]]. | ||
------------ | ------------ | ||
− | == Release latest stable build to /webtools/repository == | + | === 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.
Contents
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: