Ross Gardler wrote:
> Ferdinand Soethe wrote:
> 
> DISCLAIMER
> 
> I have never done a release so I'm only giving you my interpretation of 
> the document. Authorative answers will come from elsewhere if I have got 
> something wrong.

A bit of background might help. Jeff Turner did the releases up to
forrest-0.5 and many thanks to him for starting this text file.
Then Jeff moved on to other things. For the 0.6 release i practiced
many times beforehand (my first ever release) and Dave Brondsema
helped. We refined thoses notes as we went.

This time it sounds like Ferdinand is offering to help.
That is great, because we need more people to understand it
and not rely on any particular people.

Ferdinand, the procedure assumes that you are familiar
with login to the Apache server, familiar with using SVN,
and building the Forrest website, etc. These notes do not
attempt to describe all the background.

I reckon it would be better that i do the process and that
Ferdinand helps me or at least comes along for part of the ride.

However, if you don't feel comfortable then i will do it by myself
and we can find someone to help next time.  As you can see, it is
quite a big job. I definitely need help at the stage of creating
the Windows .zip and MD5/PGP.

> >>- Create a new file, etc/RELEASE-NOTES-x.y.txt, where x.y is the version
> >>  currently being released.  It is best to copy an earlier RELEASE-NOTES 
> >>  file,
> >>  to keep a common layout.
> >>  In this file, provide a summary of changes, and check for general 
> >>  accuracy.
> >>  Scan the status.xml/changes and the Roadmap via the issues tracker,
> >>  to find the important issues.
> >
> >Ross: Is this the part that you have automated? If so, can you pls
> >provide me with new instructions.
> 
> Yes: http://marc.theaimsgroup.com/?l=forrest-dev&m=111695995215534&w=2
> 
> Be aware of http://issues.apache.org/jira/browse/FOR-514?page=all, 
> however, this patch need not be applied for our release (since the 
> current behaviour is OK for our limited use case).

The new ability might assist, but we still need the RELEASE-NOTES-0.7.txt file. 

> >>- Check out a fresh copy from SVN to make sure you have no local 
> >>modifications,
> >>  especially those that might be hidden by svn:ignore settings.  
> >>  Alternatively,
> >>  run 'svn st --no-ignore' and delete any extra files.
> >
> >I don't understand this step.
> >
> >- Wouldn't this have to come as a very first step before the
> >  I start editing the release numbers?
> 
> yes
> 
> >- When do I commit the changes to the release numbers?
> 
> I didn't read the whole process, doens't it say something about creating 
> a branch? If that is the case then you can commit anytime on the branch. 
> I'd commit the trunk changes when everything has been approved, just 
> before tagging the release (assuming we do that)

The way that we did it last time is what is shown in RELEASE_NOTES.txt
in the specified order. We tweaked the version numbers on the trunk,
(i did a stack of practice runs at this stage before committing anything),
created the branch, rolled the releases, ask people to test those during
the 7-day window, then created the SVN tag.

A dilemma occurs if there need to be fixes during the code-freeze.

I gather that we need to vote on the actual release files, not just
on our own copy of the trunk at the time. So if there are necessary
changes, no matter how small, then i presume we need to patch both
trunk and branch, then roll the releases again.

> >- what exactly is to be done?
> >
> >  = run 'svn st --no-ignore'
> >  = delete any extra files. What extra files?
> 
> this is an alternative approach, but it could be error prone. I'd go 
> with a clean checkout

The "extra files" refers to anything that you might have
added/changed in your local copy. They must not be packed with
the release. It must be a pristine copy of the current trunk.

> >>- Set your Java version to be the lowest specified of our supported 
> >>versions.
> >
> >Where is the definitive info on the supported versions? The FAQ says
> >we need Java 1.4 or better. Does that mean it has to be 1.4.0 or can
> >it be 1.4.x
> 
> 1.4.0

Oooh, glad you asked that question. I was just going to use 1.4.1
Last time i did not use 1.3.0 rather 1.3.1

> >How do I 'set my java' to it? Install and adjust environment settings?
> >Which ones are required?
> 
> JAVA_HOME     
> 
> >>- Run 'build release-dist' to generate the distributions.
> >>  - Two archives are created: apache-forrest-X.Y.tar.gz 
> >>  apache-forrest-X.Y.zip
> >
> >
> >I only have a windows machine. So this step needs to be done on what?
> >Linux, Unix, ???
> 
> Linux is just fins - you'll have to ask someone to do this build for you.

I will do the UNIX build, you can do the Windows build.

> >>- Repeat that on a Windows machine.
> >>  - Use the .tar.gz from the UNIX machine and .zip from the Windows 
> >>  machine.
> >>  - In that way, SVN will ensure correct line-endings on all text files.
> 
> Well you can do this, you will need

Not sure what Ross' unfinished statement is.

> >>- Test the actual distribution on various platforms.
> >>  - Upload the release candidates and signatures to a committer's 
> >>  webspace.
> >>  - Ask all developers to test (command-line, run, and webapp).
> >>  - Each developer can do 'build release- dist' and test locally.
> >>    Coordinate to ensure that each is using the same SVN revision
> >>    and that the MD5 sums match.
> >
> >How is this to be coordinated?
> 
> Via the mail list and JIRA:
> - announce the download availability
> - people download and test
> - OK via mail list
> - problems via JIRA

We would grab the email from the 0.6 release, where we asked people
to test, and tweak it for 0.7 release.

> >>  - Follow the actual user instructions in README.txt and index.html
> >>  - Use it to build some difficult sites.
> >
> >Which sites are difficult? Are we
> 
> certainly the fresh-site and our docs should be tested, but this is 
> really up to the testers, we know which of our sites have lots of tricks 
> in them.

Yep that is up to the users/developers.

> >>Upload and announcement
> >>-----------------------
> >>
> >>- Upload the tarballs, the *.asc and *.md5 files, **and the 
> >>RELEASE-NOTES**
> >>  to www.apache.org at /www/www.apache.org/ dist/forrest/
> >
> >how to I upload (technically)
> 
> scp (it's in your Cygwin download, ask nearer the time for exact commands)

I will go through the steps with you. We could use email at the time
or skype or IRC.

> >what are tarballs? The tar-archves.
> 
> Yes
> 
> >why not also upload the zip-files?
> 
> that's an oversight I think

Sorry, it is a term used to denote both the *.tar.gz and the *.zip

> >>  Each PMC member has a server account and belongs to the forrest group.
> >>  The process is documented at http://www.apache.org/~bodewig/mirror.html
> >>  Ensure correct file permissions: chgrp forrest; chmod 664
> >
> >I guess this means 'issue these commands'?
> 
> Yes

You would need to understand how to use those commands.
Actually, if you have followed the instructions at w.a.o/dev/
then your account should be set up properly, and so files that
are created by you should have the correct group and permissions.
Again i will guide you. We could do a prior login together and
test your setup.

> >Create a new directory and then?
> 
> No, that will already be there, see the doc linked to above.
> 
> >>  Leave the previous dist there as well, until after the announcement.
> >>
> >>  Note: The other files there (HEAD.html README.html LICENSE.txt KEYS)
> >>  are all automatically updated from the SVN:forrest/dist/ repository.
> >>
> >>- If necessary, re-arrange stuff at the Archives site
> >>  http://archive.apache.org/dist/forrest/
> >>  You should not need to touch anything, the artifacts are automatically
> >>  copied from the main /dist/forrest/
> >
> >     How do I know it is 'necessary'?
> >     How is it to be rearranged.
> 
> See the end of the above linked document ("How to deal with old releases")

Last time i needed to create a "pre-0.6" directory because
our license changed to Apache License 2.0

This time i reckon that there is not need to touch anything in "archives".

> >>- Wait for the various mirrors to pick up the new files.
> >>  For some mirrors, this takes only a few hours. However others are slow.
> >>  How long to wait is a tradeoff.
> >>  See "Status of mirrors" http://www.apache.org/mirrors/
> >>
> >>- Edit the forrest/site-author/content/xdocs/mirrors.ihtml
> >
> >     doing what?
> 
> Pass (its mirror.html now)

Obviously changing the URLs to be 0.7 instead of 0.6

> >>- Edit the Forrest home page in the "News and events" section.
> >
> >     doing what?
> 
> Announcing the new release

Too many questions :-)

> >>- Rebuild and publish the Forrest website as normal.
> >
> >     doing what?
> 
> See /etc/var/publishing_our_site.txt

Sorry that is not up-to-date any more. I will practice it and
try to fix it.

In the meantime, you need to do the following manual methods.
Try practice in the next few days ...

You need to checkout the forrest/site repository.
This is what i have locally
/svn/asf/forrest ... our forrest/trunk
/svn/asf/forrest-site ... our forrest/site

cd /svn/asf/forrest/site-author
... edit some files
forrest clean
forrest
diff -rq build/site /svn/asf/forrest-site/0.7
... is the diff what you expect?
cp -Rf build/site/* /svn/asf/forrest-site/0.7
cd /svn/asf/forrest-site
svn status; svn diff
svn commit

> >>FIXME: There is a bug (FOR-300) in the forrest build which generates
> >>to main/site/mirrors.html instead of build/site/mirrors.html
> >>
> >>- On the server, remove the top-level files and "docs" and "howtwo"
> >>  directories using 'svn rm', then checkout the new release docs, e.g.
> >>  cd /www
> >>  svn co http://svn.apache.org/repos/asf/forrest/site/0.7 
> >>  forrest.apache.org
> >
> >     which server, which directory?
> 
> ssh cvs.apache.org -l USERNAME
> cd /www/forrest

You need to practice logging in to the server and wander around,
get familiar. It is better to use the server name "people.apache.org"
... same place, just more reliable name.

> >>- Edit xml-site/src/documentation/content/xdocs/news.xml and record the
> >>  announcement, and then commit the new HTML to xml-site/targets/forrest
> >>  Note that they use forrest-0.6 to build their website.
> >
> >     I don't understand this part at all.
> 
> My guess is that it refers to http://xml.apache.org/

Yes, i tweaked our RELEASE_NOTES.txt and added link to their
website build guidelines.

> as a forrest committer you have access to their SVN, check it out and 
> add an announcement for the new release (you can still see the Forrest 
> 0.6 announcement on the page http://xml.apache.org/news.html)
> 
> >>- Remove the old dist files from the dist/forrest/ directory.
> >>  It has already been archived at archives.apache.org
> >
> >     where is this dist directory?
> >     What does 'It has already been archived at archives.apache.org'
> >     want to tell me?
> 
> See the Upload section above
>
> >>- Tweak the "release" versions via "admin" interface at our Jira.
> >
> >   What is the goal, how is it done?
> 
> 0.7-dev is renamed 0.7 and 0.8 becomes 0.8-dev
> 
> I'm not sure who has the karma to do this.

Only me at the moment. I just added "f.soethe" user to the "jira-administrators"
group. You should now see an extra "tab" Administration. If any other
Forrest committers want to help with our Jira admin, then ask.

> I hope my answers go some way to helping you. I'm sure David will hold 
> your/our hands through the process since he has done this before.

I was working in the dark last time.

--David

Reply via email to