-
Notifications
You must be signed in to change notification settings - Fork 1
/
PROMOTING_A_BUILD.txt
253 lines (209 loc) · 10.9 KB
/
PROMOTING_A_BUILD.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
Instructions on promoting a build:
Engineering finishes JSF2.0 code.
Ensure all tests pass via:
ant clean main test.with.container.refresh
Engineering verifies QL passes
checkout v3 workspace.
cd v3/tests/quicklook
mvn -Dglassfish.home=$GLASSFISH test
Do this first with a pristine Glassfish build, without the new jsf jars
added in. If the quicklook tests pass, you may proceed. If not, you
need to get this resolved before proceeding.
Once you have a successful quicklook test, add in the new jsf jars, and
re-run with the new jars in place.
Engineering updates updatecenter2/conf/jsf_proto.py to correct version #. (ex: 2.0.1-0,1)
If doing a new maven release, be sure to update the pom.xml files in each demo directory.
MAKE SURE TO BUILD WITH the minimum required Java SE version. For JSF
2.0 and 2.1 this is Java SE 5.
Tag build.
Currently, we're using a tag format of
2.0.1-bXX - where "XX" is a monotonically increasing number, incremented with every build.
sample tagging command:
svn copy https://mojarra.dev.java.net/svn/mojarra/trunk \
https://mojarra.dev.java.net/svn/mojarra/tags/2.0.1-b01 \
-m "Tag 2.0.1 Build 01"
RE (Terena) promotes the build, with maven.deploy.promoted (ex: 2.0.1-b01)
Engineering needs to give RE the tag name, build.type, and build.number
RE changes variables found in common.xml (build.type, etc) via -D as part of build
build.type will be set to a value such as BETA, RC, FCS, etc.
build.number will be a monotonically increasing integer, incremented for each build (i.e., b01, b02)
After the push to maven, check (it can take a while to show up, up to 30 minutes)
http://download.java.net/maven/2/com/sun/faces/jsf-impl/
http://download.java.net/maven/2/com/sun/faces/jsf-api/
After testing, engineering integrates to v3 (including UC), see integration instructions.
The integration pushes the new build bits to repine.
QE runs qualification tests against repine (current GFv3), comfirms they pass.
QE gives go-ahead.
For a release, RE will then do a maven.deploy.release for a released build (ex: 2.0.1)
Engineering then needs to once again integrate v3.
RELEASING TO JAVA.NET
=========================================
NOTE: we currently don't push every promoted build to java.net. These instructions
are for pushing a release to the public. The steps above are valid in
all cases.
- Copy the downloaded binary and source bundles promoted from RE to a local
directory. These bundles are what will be made available to the public.
(You can download them by ftp from rindge.sfbay.sun.com, cd to the provided directory
(currently /net/jws-sparc.sfbay/bld1/BUILD_AREA/jsf2.0/bundles/latest), and then
mget * - it's also possible to get these bundles via http, by visiting a site such as:
http://javaweb.sfbay/java/re/jsf/2.0.1/promoted/FCS/b02/archive/bundles/ )
- Prepare release notes:
+ check out the website: cvs -d :pserver:<j.net uid>@cvs.dev.java.net:/cvs co -P -d jsf-web javaserverfaces
+ if releasing a new patch release:
* copy the directory structure of an existing version to the new version
(e.g. rsync -r -C 1.2_12/* 1.2_13). If this is another cut
* replace the old version numbers with the new version numbers
* update changelog.html with:
- outline of new features (if any)
- new context init parameters (if any - see older release notes for examples)
- issues resolved
+ To get the list of issues, use the report tool to generate a report
and gather a list of all issues resolved for this patch release
(this may span several builds). The table for the resolved
issues should be two columns for the issue ID and description.
Ensure the ID is a hyperlink. I use a FireFox addon called
Scrapbook to copy a selection of issues into a separate
html document and then cut/paste into changelog.html. Don't forget
to update the row styles (again, see older changelogs for examples)
* check in the new directory structure and files
+ if releasing an update to an existing version (i.e. 2.0.0 BETA1 to 2.0.0 BETA2)
* update the version in the existing release notes
* append the issues resolved between the two versions in changelog.xhtml
(Use the 2.0.0 release notes for an example)
- Upload the binary and source bundles to java.net. The new directory
should be placed under: Downloads->Release->Version
- In the same directory, add a link that refers to the Release Notes (see
previous versions for an example)
- Update download.html:
+ If necessary move the version being replaced to Archived Releases
+ Add the new version using the existing format
- Create a new download button for the new version using
images/downloadbackground.png. I use gimp to do the image manipulation.
Add the new version to the template using Sans Bold font. Adjust the
font weight to fill the button. Save the image as download<version>.png
(e.g. download1212.png). Check the image in to CVS.
- Update index.html to reference the new download button. Have the link
the image refers to point to the folder containing the new build (should
display the source, binary, and release notes).
- Add a new announcement using the project's news facility. Use existing
announcements as a template.
SECTION: Notes from the last time Roger promoted a build:
From: Roger Kitain <[email protected]>
To: Barbara Louis <[email protected]>
CC: Ed Burns <[email protected]>,
Ryan Lubke <[email protected]>,
"VARTAK,SHEETAL" <[email protected]>,
Jill Sato <[email protected]>,
dougd <[email protected]>,
Roger Kitain <[email protected]>
Subject: Re: Need To Do Another JSF Promotion
Date: Wed, 30 Jun 2010 21:25:50 -0400
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
MIME-Version: 1.0
Ok Folks -
Looks like we are making progress...
It appears that I now have privileges to push artifacts to our java.net
maven repository.
So here's what I've done:
1. Ryan recommended I create a new tag so I created:
https://mojarra.dev.java.net/svn/mojarra/tags/2.0.3-b03
from the previous tag (2.0.3-b02).
2. Built the new tag locally using the build.type and build.number
parameters:
ant -Dbuild.type=FCS -Dbuild.number=b03 clean main
3. Tests the new jars locally with my GlassFish v3.1 install:
ant container.deploy
fired up GlassFish and Admin console; checked logs to make sure
the correct JSF build string was displayed:
Initializing Mojarra 2.0.3 (FCS b03) ....
4. Tested the maven deploy targets locally (for jsf-api and jsf-ri):
cd jsf-api; ant mvn.deploy.promoted.local -Dbuild.number=b03
cd jsf-ri; ant mvn.deploy.promoted.local -Dbuild.number=b03
5. Pushed the jars out to maven repo:
cd jsf-api; ant mvn.deploy.promoted -Dbuild.number=b03
cd jsf-ri; ant mvn.deploy.promoted.local -Dbuild.number=b03
Now I am integrating into GlassFish v3.1 locally (first)...
-roger
From: Roger Kitain <[email protected]>
To: Barbara Louis <[email protected]>
CC: Ed Burns <[email protected]>,
Ryan Lubke <[email protected]>,
"VARTAK,SHEETAL" <[email protected]>,
Roger Kitain <[email protected]>,
Jill Sato <[email protected]>
Subject: Re: Need To Do Another JSF Promotion
Date: Wed, 30 Jun 2010 11:42:28 -0400
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
MIME-Version: 1.0
Folks -
Maybe it's just me - but I ran into some issues with the last JSF
promotion (2.0.3-b02) when I was attempting to
do a test integration into my local GlassFish 3.1 install. Jill helped
me get the Mojarra artifacts out in the Maven repository.
Apparently, I missed (and misunderstood) this step in our Mojarra
PROMOTING_A_BUILD.txt file:
"RE (Terena) promotes the build, with maven.deploy.promoted (ex: 2.0.1-b01)
Engineering needs to give RE the tag name, build.type, and build.number
RE changes variables found in common.xml (build.type, etc) via -D as
part of build
build.type will be set to a value such as BETA, RC, FCS, etc.
build.number will be a monotonically increasing integer,
incremented for each build (i.e., b01, b02)
After the push to maven, check (it can take a while to show up, up to 30
minutes)
http://download.java.net/maven/2/com/sun/faces/jsf-impl/
http://download.java.net/maven/2/com/sun/faces/jsf-api/"
Terena is no longer with us, so Barbara suggested we have Ryan do a
brief TOI for us so we can all synch up on
the correct process - as Ed, myself and Sheetal (working wth Jill) will
be doing these frequently.
This may be a review for some, but I feel this is necessary to get
everyone on the same page.
If possible I would like to do today (if not tomorrow) sometime. Please
let me know your
availability (I know Ed is traveling to Philadelphia today and will be
available sometime later today).
Thanks, Roger.
From: Roger Kitain <[email protected]>
To: [email protected], Barbara Louis <[email protected]>,
Ryan Lubke <[email protected]>
Subject: Need To Do Another JSF Promotion
Date: Wed, 30 Jun 2010 05:52:32 -0400
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
MIME-Version: 1.0
In my attempts to do a test integration of JSF into GlassFish trunk
(locally), I discovered
that the version of Mojarra displayed in the logs was:
Mojarra 2.0.3 (SNAPSHOT 20100618).
I asked Ryan about this and apparently a step was missed outlined in the
mojarra PROMOTING_A_BUILD.txt file. In that file, we say:
"RE (Terena) promotes the build, with maven.deploy.promoted (ex: 2.0.1-b01)
Engineering needs to give RE the tag name, build.type, and build.number
RE changes variables found in common.xml (build.type, etc) via -D as
part of build
build.type will be set to a value such as BETA, RC, FCS, etc.
build.number will be a monotonically increasing integer,
incremented for each build (i.e., b01, b02)
After the push to maven, check (it can take a while to show up, up to 30
minutes)
http://download.java.net/maven/2/com/sun/faces/jsf-impl/
http://download.java.net/maven/2/com/sun/faces/jsf-api/
"
Actually, Terena is no longer with us, so I was trying to work with Jill
Saito.
Jill, was not familiar with the process Terena used for JSF.
After attempting to push the artifacts myself - (only to discover I did
not have privileges),
I worked with Jill to get the artifacts pushed.
I also noticed that the pom artifacts out on the maven repo for the
recently pushed
2.0.3-b02 promotion (under http://download.java.net/maven/2/com/sun/faces/)
do not have the copyright header.
Ryan suggested we cut a new tag (2.0.3-b03) and do another promotion. I
really would like
to get someone's undivided attention to nail down the process and update
the
PROMOTING_A_BUILD.txt file if necessary before I do another promotion.
Perhaps Jill (or whoever has taken over for Terena needs to be involved
as well).
-roger