Difference between revisions of "Release Template"
From Free Pascal wiki
Jump to navigationJump to search (* Moved test-section to testers_template page) |
(* Added info about fpc.ist) |
||
Line 39: | Line 39: | ||
## Ask in fpc-devel list for volunteers interested in testing the individual platforms / builds and list them on the newly created page (they can add themselves) | ## Ask in fpc-devel list for volunteers interested in testing the individual platforms / builds and list them on the newly created page (they can add themselves) | ||
# Update path and file names in /install/macosx/*.info for the new version | # Update path and file names in /install/macosx/*.info for the new version | ||
+ | # Update path and file names in /install/fpc.ist for the new version | ||
# Finish all source file updates | # Finish all source file updates | ||
# convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt | # convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt |
Revision as of 15:06, 2 January 2009
Release Issues
The issues page is Issues x.x.x
Release preparations
- Agree on deadline for changes and date for release candidate building
- #FPC-x.x.xrc1 deadline :
- #FPC-x.x.x deadline :
- Check the Detailed 2.2.2 Todo list for the particular release (should be linked from To Do lists) for status of individual todo items
- Check status of bugs assigned to that particular release in the bugtracker
- New page in Wiki named "Release_X.Y.Z" for release procedure with steps needed and their status (based on Release Template), at the beginning consisting of (at least) RC1 and final release sections
- Create new page in Wiki with issue log for documentation of issues encountered in release candidates and their status ("Issues_X.Y.Z" based on Issues Template)
- Ask platform maintainers and external maintainers about including their platforms/builds in the new release
- Release-like building procedure should be performed in the appropriate branch (trunk or fixes depending on basis for the release)
- Check and update all .msg files
- errore.msg
- errord.msg
- errorf.msg
- errorn.msg
- errorr.msg
- errorrw.msg
- errorues.msg
- errores.msg
- errorct.msg
- errorhe.msg
- errorheu.msg
- errorptd.msg
- errorptw.msg
- errorpli.msg
- errorpl.msg
- errorid.msg
- Check tools
- Check version of the above mentioned tools (GNU tools, helper DLLs, UPX, etc.), and decide whether it isn't time to update some of these tools
- Repackage and upload additional tools where needed
- Update whatsnew.txt (/install/doc/whatsnew.txt)
- Find testers
- Create a testers page in Wiki (based on Testers Template)
- Ask in fpc-devel list for volunteers interested in testing the individual platforms / builds and list them on the newly created page (they can add themselves)
- Update path and file names in /install/macosx/*.info for the new version
- Update path and file names in /install/fpc.ist for the new version
- Finish all source file updates
- convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt
RC1
-- Below is a template for every version
- New directories
- Create new directories on ftp (/pub/fpc/beta/X.Y.Z-rcN or /pub/fpc/dist/X.Y.Z and cpu-os under that)
- Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
- Add new section for the upcoming build in /install/debian/changelog
- Create new branch in SVN (release_X_Y_Z_rcN or release_X_Y_Z)
- Update version number in release branch (and, if necessary also in main branch (trunk or fixes))
- /compiler/version.pas
- /install/doc/readme.txt
- /installer/install.dat (header)
- /installer/install.pas (installer version)
- /install/fpc.spec
- /docs/fpc.sty (macro fpcversion)
- All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
- Create and upload exported fpcbuild
- fpcbuild-%{version}.zip
- fpcbuild-%{version}.tar.gz
- Create and upload the documentation (more info)
- doc-pdf.zip
- doc-html.zip
- doc-htm.zip (not included)
- doc-txt.zip
- doc-ps.zip
- doc-pdf.tar.gz
- doc-html.tar.gz
- doc-ps.tar.gz
- Create and upload source zips
- short name version for binary packages
- docs source (including link for short name version)
- long name version for binary packages
- Create and upload binary releases (place the bame of the person who aggreed to build a release behind the name of the target below)
- i386-go32v2/basic zip (just binaries)
- i386-go32v2/full zip (including docs and sources)
- i386-os2/basic zip (just binaries)
- i386-os2/full zip (including docs and sources)
- i386-win32/exe
- x86_64-win32/exe
- arm-wince/exe (cross-release)
- i386-freebsd/tgz
- i386-linux/tar (more info)
- i386-linux/deb (more info)
- i386-linux/rpm (more info)
- x86_64-linux/tar (more info)
- x86_64-linux/deb (more info)
- x86_64-linux/rpm (more info)
- powerpc-linux/tar (more info)
- powerpc-macosx/dmg
- i386-macosx/dmg
- i386-macosx/.info for fink
- powerpc-macos
- powerpc-morphos
- powerpc-amiga
- i386-netware
- i386-netwlibc
- sparc-linux/tar (more info)
- sparc-sunos/tar
- arm-linux/tar (cross-release)
- Get it tested
- Ask dedicated testers for testing their platforms
- Consider announcing availability of the new RC in fpc-devel list
- Keep track of testing in the wiki
-- End of template for every version
RC2
- Section for new RC on release pages in Wiki
- Release procedure
- Issue log
- Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release
-- Template from above
Final release
- Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release (only cosmetic changes should be included, otherwise a new RC is needed instead of final release)
-- Template from above
Going public
- Make new version numbers (release plus next odd patch number for continuing fixes) available in bug tracker
- Make new version numbers (release plus next odd patch number for continuing fixes) available in testsuite db
- Make new files on FTP available to wide public
- update symlinks (no symlinks any more?)
- move the old version to the olddist/<version>
- upload files to SourceForge.net and add them to new "releases" for individual platforms
- make new "releases" on SourceForge.net accessible for users (change status to "active")
- Allow automated notifications on individual SourceForge.net file release pages to be sent
- Submit darwin packages to fink
- Update WWW pages
- /html/news.fp
- /html/down/* (links to all individual files & file sizes)
- /html/download.fp (version number and list of platforms)
- /html/fpc.fp
- /html/faq.fp (things like "the latest version is ...")
- Create new fixes branch (only after a major release - ?.?.0)
- Update version number in the trunk branch (only after a major release - ?.?.0)
- /compiler/version.pas
- All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)
- Update version number in the trunk branch (only after a major release - ?.?.0)
- Update version number in the fixes branch (increase the patch to next odd number)
- /compiler/version.pas
- all Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)
- Check the WWW pages
- make sure http://www.freepascal.org contains the new version already
- read news.html
- read fpc.html
- read download.html and check links to individual files
- Send announcement to our mailing lists
- Post announcement on the community site
- Post announcement on Sourceforge.net (only "Project Administrators" may do it)
- Make sure that all unfixed issues encountered during RC testing and listed on dedicated page in Wiki are documented in bug tracker too
- Revise / update /html/future.fp after major versions (?.?.0)
- Remove unneeded RC builds from FTP