Difference between revisions of "Release Template"
From Lazarus wiki
Jump to navigationJump to searchm (util*.zip built within release, not copied from old) |
(Updates based on 2.0.4 experiences) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | === Release preparations === | ||
+ | |||
+ | # Agree on deadline for changes and date for release candidate building | ||
+ | # 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 | ||
+ | # 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 | # Check and update all .msg files | ||
## errore.msg | ## errore.msg | ||
Line 6: | Line 12: | ||
## errorr.msg | ## errorr.msg | ||
## errorrw.msg | ## errorrw.msg | ||
+ | ## errorues.msg | ||
## errores.msg | ## errores.msg | ||
− | # | + | ## errorct.msg |
− | ## | + | ## errorhe.msg |
− | ## | + | ## errorheu.msg |
+ | ## errorptd.msg | ||
+ | ## errorptw.msg | ||
+ | ## errorpli.msg | ||
+ | ## errorpl.msg | ||
+ | ## errorid.msg | ||
# Check tools | # 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 | ## 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 | ## Repackage and upload additional tools where needed | ||
− | # Update | + | # Update whatsnew.txt (/install/doc/whatsnew.txt) |
− | ## | + | # Find testers |
+ | ## Create a page in Wiki ("Testers_X.Y.Z" 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) | ||
+ | # Finish all source file updates | ||
+ | # Update version number to new release number | ||
## /install/doc/readme.txt | ## /install/doc/readme.txt | ||
− | ## / | + | ## /installer/install.dat (header) |
− | ## / | + | ## /installer/install.pas (installer version) |
− | |||
## /install/fpc.spec | ## /install/fpc.spec | ||
− | |||
− | |||
## 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 | ||
## /docs/fpc.sty (macro fpcversion) | ## /docs/fpc.sty (macro fpcversion) | ||
− | # | + | ## All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles) |
− | + | ||
− | + | === RC1 === | |
− | # Create | + | |
− | + | # 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]]) | |
− | # | + | # New directories |
− | # | + | ## Create new directories on ftp (/pub/fpc/beta/X.Y.Z-rcN and cpu-os under that) |
− | # Create and | + | ## Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions) |
− | + | # Update path and file names in /install/macosx/*.info for the new RC | |
− | + | # Add new section for the upcoming build in /install/debian/changelog | |
− | + | # Create new rc branch in SVN (release_X_Y_Z_rcN) | |
− | + | # Update version number in rc branch to X.Y.Z-rcN | |
− | ## | + | ## /compiler/version.pas |
− | # | + | # Create and upload exported fpcbuild |
− | # | + | ## fpcbuild-%{version}.zip |
− | # | + | ## fpcbuild-%{version}.tar.gz |
− | # | + | # Create and upload the documentation ([[Release engineering#Documentation building and LaTeX limits]]) |
− | ## | + | ## doc-pdf.zip |
− | |||
− | # Create and upload | ||
− | ## | ||
− | ## | ||
− | |||
− | |||
− | |||
− | # Create and upload the documentation | ||
− | ## | ||
## doc-html.zip | ## doc-html.zip | ||
− | ## doc-htm.zip | + | ## <i>doc-htm.zip</i> (not included) |
− | ## | + | ## doc-txt.zip |
− | # Create and upload source zips | + | ## doc-ps.zip |
− | # Create and upload | + | ## doc-pdf.tar.gz |
− | # | + | ## doc-html.tar.gz |
− | # Test the GO32v2 release | + | ## 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 zip files for i386-go32v2 | ||
+ | ## basic zip (just binaries) | ||
+ | ## full zip (including docs and sources) | ||
+ | # Create and upload zip files for i386-os2 | ||
+ | ## basic zip (just binaries) | ||
+ | ## full zip (including docs and sources) | ||
+ | # Create and upload installer exe for i386-win32 | ||
+ | # Create and upload tgz file for i386-freebsd | ||
+ | # Create and upload release for i386-linux ([[Release engineering#Linux]]) | ||
+ | ## tar | ||
+ | ## deb | ||
+ | ## rpm | ||
+ | # Create and upload release for powerpc-linux ([[Release engineering#Linux]]) | ||
+ | ## tar | ||
+ | # Create and upload release for powerpc-macosx | ||
+ | ## .dmg package | ||
+ | # Create and upload release for i386-macosx | ||
+ | ## .dmg package | ||
+ | ## .info files for fink | ||
+ | # Create and upload release for powerpc-macos | ||
+ | # Create and upload release for powerpc-morphos | ||
+ | # Create and upload release for powerpc-amiga | ||
+ | # Create and upload zip files for i386-netware | ||
+ | # Create and upload zip files for i386-netwlibc | ||
+ | # Create and upload release for sparc-linux ([[Release engineering#Linux]]) | ||
+ | ## tar | ||
+ | # Create and upload release for sparc-sunos | ||
+ | ## tar | ||
+ | # Create and upload release for arm-linux (cross-release) | ||
+ | ## tar | ||
+ | # Create and upload release for x86_64-linux ([[Release engineering#Linux]]) | ||
+ | ## tar | ||
+ | ## deb | ||
+ | ## rpm | ||
+ | # Get it tested | ||
+ | ## Ask dedicated testers for testing their platforms | ||
+ | ## Consider announcing availability of the new RC in fpc-devel list | ||
+ | # Test the GO32v2 release | ||
## dos???.zip installation | ## dos???.zip installation | ||
## dos???full.zip installation (over the previously installed dos???.zip to simulate updates) | ## dos???full.zip installation (over the previously installed dos???.zip to simulate updates) | ||
Line 69: | Line 115: | ||
## compile the demo file in IDE | ## compile the demo file in IDE | ||
## run the demo within the IDE (debugger) | ## run the demo within the IDE (debugger) | ||
− | # Test the OS/2 release | + | # Test the OS/2 release |
## os2???.zip installation | ## os2???.zip installation | ||
## os2???full.zip installation (over the previously installed os2???.zip to simulate updates) | ## os2???full.zip installation (over the previously installed os2???.zip to simulate updates) | ||
Line 80: | Line 126: | ||
## view documentation in IDE, traverse 2-3 pages (at least one with screenshots) | ## view documentation in IDE, traverse 2-3 pages (at least one with screenshots) | ||
## compile the demo file in IDE | ## compile the demo file in IDE | ||
− | ## run the demo within the IDE (debugger) | + | ## <i>run the demo within the IDE (debugger)</i> (not supported) |
− | # Test the Win32 release | + | # Test the Win32 release |
− | ## | + | ## Run installer |
− | |||
− | |||
## make sure readme.txt & whatsnew.txt are for the current version | ## make sure readme.txt & whatsnew.txt are for the current version | ||
− | ## run all executables in /bin/win32 | + | ## run all executables in /bin/win32 (without parameters) |
## make cycle with newly installed binaries and sources | ## make cycle with newly installed binaries and sources | ||
## run testsuite | ## run testsuite | ||
Line 94: | Line 138: | ||
## compile the demo file in IDE | ## compile the demo file in IDE | ||
## run the demo within the IDE (debugger) | ## run the demo within the IDE (debugger) | ||
− | # Test the | + | # Test release for i386-freebsd |
− | ## | + | # Test release for i386-linux |
+ | ## tar | ||
+ | ## deb | ||
+ | ## rpm | ||
+ | # Test release for powerpc-linux | ||
+ | ## tar | ||
+ | # Test release for powerpc-macosx | ||
+ | ## .dmg package | ||
+ | # Test release for i386-macosx | ||
+ | ## .dmg package | ||
+ | # Test release for powerpc-macos | ||
+ | # Test release for powerpc-morphos | ||
+ | # Test release for powerpc-amiga | ||
+ | # Test release for i386-netware | ||
+ | # Test release for i386-netwlibc | ||
+ | # Test release for sparc-linux | ||
+ | ## tar | ||
+ | # Test release for arm-linux | ||
+ | ## tar | ||
+ | # Test release for x86_64-linux | ||
+ | ## tar | ||
+ | ## deb | ||
+ | ## rpm | ||
+ | # Check PDF documentation (open all files) | ||
+ | # Check HTML documentation | ||
+ | # Check TXT documentation | ||
+ | # Read updated text files as distributed in release zip files | ||
+ | ## readme.txt | ||
+ | ## faq.txt | ||
+ | ## whatsnew.txt | ||
+ | |||
+ | === 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 | ||
+ | # New directories | ||
+ | . | ||
+ | . | ||
+ | |||
+ | === 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) | ||
+ | # New directories | ||
+ | ## Create new directories on ftp (/pub/fpc/dist/cpu-os-X.Y.Z) | ||
+ | ## Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous RC (unless updated with new versions) | ||
+ | # Update path and file names in /install/macosx/*.info for the new release | ||
+ | # Add new section for the upcoming build in /install/debian/changelog | ||
+ | # Create new release branch in SVN | ||
+ | # Update version number in release branch to the X.Y.Z | ||
+ | ## /compiler/version.pas | ||
+ | # Create and upload exported fpcbuild | ||
+ | ## fpcbuild-%{version}.zip | ||
+ | ## fpcbuild-%{version}.tar.gz | ||
+ | # Create and upload the documentation ([[Release engineering#Documentation building and LaTeX limits]]) | ||
+ | ## doc-pdf.zip | ||
+ | ## doc-html.zip | ||
+ | ## <i>doc-htm.zip</i> (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 zip files for i386-go32v2 | ||
+ | ## basic zip (just binaries) | ||
+ | ## full zip (including docs and sources) | ||
+ | # Create and upload zip files for i386-os2 | ||
+ | ## basic zip (just binaries) | ||
+ | ## full zip (including docs and sources) | ||
+ | # Create and upload installer exe for i386-win32 | ||
+ | # Create and upload tgz file for i386-freebsd | ||
+ | # Create and upload release for i386-linux ([[Release engineering#Linux]]) | ||
+ | ## tar | ||
+ | ## deb | ||
+ | ## rpm | ||
+ | # Create and upload release for powerpc-linux ([[Release engineering#Linux]]) | ||
+ | ## tar | ||
+ | # Create and upload release for powerpc-macosx | ||
+ | ## .dmg package | ||
+ | # Create and upload release for i386-macosx | ||
+ | ## .dmg package | ||
+ | # Create and upload release for powerpc-macos | ||
+ | # Create and upload release for powerpc-morphos | ||
+ | # Create and upload release for powerpc-amiga | ||
+ | # Create and upload zip files for i386-netware | ||
+ | # Create and upload zip files for i386-netwlibc | ||
+ | # Create and upload release for sparc-linux ([[Release engineering#Linux]]) | ||
+ | ## tar | ||
+ | # Create and upload release for arm-linux (cross-release) | ||
+ | ## tar - Daniel | ||
+ | # Create and upload release for x86_64-linux ([[Release engineering#Linux]]) | ||
+ | ## tar | ||
+ | ## deb | ||
+ | ## rpm | ||
+ | # Test the GO32v2 release | ||
+ | ## dos???.zip installation | ||
+ | ## dos???full.zip installation (over the previously installed dos???.zip to simulate updates) | ||
## make sure readme.txt & whatsnew.txt are for the current version | ## make sure readme.txt & whatsnew.txt are for the current version | ||
− | ## run all executables in /bin/ | + | ## run all executables in /bin/go32v2 (no params) |
## make cycle with newly installed binaries and sources | ## make cycle with newly installed binaries and sources | ||
## run testsuite | ## run testsuite | ||
Line 104: | Line 249: | ||
## view documentation in IDE, traverse 2-3 pages (at least one with screenshots) | ## view documentation in IDE, traverse 2-3 pages (at least one with screenshots) | ||
## compile the demo file in IDE | ## compile the demo file in IDE | ||
− | ## run the demo within the IDE (debugger) | + | ## <i>run the demo within the IDE (debugger)</i> (debugging in IDE currently not available/working) |
− | # Test | + | # Test the OS/2 release |
− | ## | + | ## os2???.zip installation |
+ | ## os2???full.zip installation (over the previously installed os2???.zip to simulate updates) | ||
## make sure readme.txt & whatsnew.txt are for the current version | ## make sure readme.txt & whatsnew.txt are for the current version | ||
− | ## run all executables in /bin/ | + | ## run all executables in /bin/os2 (no params) |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
## make cycle with newly installed binaries and sources | ## make cycle with newly installed binaries and sources | ||
## run testsuite | ## run testsuite | ||
Line 126: | Line 261: | ||
## view documentation in IDE, traverse 2-3 pages (at least one with screenshots) | ## view documentation in IDE, traverse 2-3 pages (at least one with screenshots) | ||
## compile the demo file in IDE | ## compile the demo file in IDE | ||
− | ## run the demo within the IDE (debugger) | + | ## <i>run the demo within the IDE (debugger)</i> (not supported) |
− | # Test | + | # Test the Win32 release |
− | ## | + | ## Run installer |
## make sure readme.txt & whatsnew.txt are for the current version | ## make sure readme.txt & whatsnew.txt are for the current version | ||
− | ## run all executables in /bin/ | + | ## run all executables in /bin/win32 (without parameters) |
## make cycle with newly installed binaries and sources | ## make cycle with newly installed binaries and sources | ||
## run testsuite | ## run testsuite | ||
Line 138: | Line 273: | ||
## compile the demo file in IDE | ## compile the demo file in IDE | ||
## run the demo within the IDE (debugger) | ## run the demo within the IDE (debugger) | ||
− | # Check PDF documentation (open all files) | + | # Test release for i386-freebsd |
− | # Check HTML documentation | + | # Test release for i386-linux |
− | # Check TXT documentation | + | ## tar |
− | # Read updated text files as distributed in release zip files | + | ## deb |
+ | ## rpm | ||
+ | # Test release for powerpc-linux | ||
+ | ## tar | ||
+ | # Test release for powerpc-macosx | ||
+ | ## .dmg package | ||
+ | # Test release for i386-macosx | ||
+ | ## .dmg package | ||
+ | # Test release for powerpc-macos | ||
+ | # Test release for powerpc-morphos | ||
+ | # Test release for powerpc-amiga | ||
+ | # Test release for i386-netware | ||
+ | # Test release for i386-netwlibc | ||
+ | # Test release for sparc-linux | ||
+ | ## tar | ||
+ | # Test release for arm-linux | ||
+ | ## tar | ||
+ | # Test release for x86_64-linux | ||
+ | ## tar | ||
+ | ## deb | ||
+ | ## rpm | ||
+ | # Check PDF documentation (open all files) | ||
+ | # Check HTML documentation | ||
+ | # Check TXT documentation | ||
+ | # Read updated text files as distributed in release zip files | ||
## readme.txt | ## readme.txt | ||
## faq.txt | ## faq.txt | ||
## whatsnew.txt | ## whatsnew.txt | ||
− | # Make new files on FTP available to wide public | + | |
− | ## | + | === 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 | ||
+ | ## <i>update symlinks</i> (no symlinks any more?) | ||
## move the old version to the olddist/<version> | ## move the old version to the olddist/<version> | ||
− | # Update WWW pages | + | ## 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/news.fp | ||
− | ## /html/ | + | ## /html/down/* (links to all individual files & file sizes) |
+ | ## /html/download.fp (version number and list of platforms) | ||
## /html/fpc.fp | ## /html/fpc.fp | ||
− | # Check the WWW pages | + | ## /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 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 | ## make sure http://www.freepascal.org contains the new version already | ||
## read news.html | ## read news.html | ||
## read fpc.html | ## read fpc.html | ||
− | ## read download.html and check | + | ## read download.html and check links to individual files |
− | # Send announcement to our mailing lists | + | # Send announcement to our mailing lists |
− | # Post announcement on the community site | + | # Post announcement on the community site |
− | # Revise / update /html/future.fp after major versions (?.?.0) | + | # 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 |
Revision as of 18:44, 1 October 2006
Release preparations
- Agree on deadline for changes and date for release candidate building
- 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
- 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 page in Wiki ("Testers_X.Y.Z" 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)
- Finish all source file updates
- Update version number to new release number
- /install/doc/readme.txt
- /installer/install.dat (header)
- /installer/install.pas (installer version)
- /install/fpc.spec
- convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt
- /docs/fpc.sty (macro fpcversion)
- All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
RC1
- 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)
- New directories
- Create new directories on ftp (/pub/fpc/beta/X.Y.Z-rcN and cpu-os under that)
- Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
- Update path and file names in /install/macosx/*.info for the new RC
- Add new section for the upcoming build in /install/debian/changelog
- Create new rc branch in SVN (release_X_Y_Z_rcN)
- Update version number in rc branch to X.Y.Z-rcN
- /compiler/version.pas
- Create and upload exported fpcbuild
- fpcbuild-%{version}.zip
- fpcbuild-%{version}.tar.gz
- Create and upload the documentation (Release engineering#Documentation building and LaTeX limits)
- 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 zip files for i386-go32v2
- basic zip (just binaries)
- full zip (including docs and sources)
- Create and upload zip files for i386-os2
- basic zip (just binaries)
- full zip (including docs and sources)
- Create and upload installer exe for i386-win32
- Create and upload tgz file for i386-freebsd
- Create and upload release for i386-linux (Release engineering#Linux)
- tar
- deb
- rpm
- Create and upload release for powerpc-linux (Release engineering#Linux)
- tar
- Create and upload release for powerpc-macosx
- .dmg package
- Create and upload release for i386-macosx
- .dmg package
- .info files for fink
- Create and upload release for powerpc-macos
- Create and upload release for powerpc-morphos
- Create and upload release for powerpc-amiga
- Create and upload zip files for i386-netware
- Create and upload zip files for i386-netwlibc
- Create and upload release for sparc-linux (Release engineering#Linux)
- tar
- Create and upload release for sparc-sunos
- tar
- Create and upload release for arm-linux (cross-release)
- tar
- Create and upload release for x86_64-linux (Release engineering#Linux)
- tar
- deb
- rpm
- Get it tested
- Ask dedicated testers for testing their platforms
- Consider announcing availability of the new RC in fpc-devel list
- Test the GO32v2 release
- dos???.zip installation
- dos???full.zip installation (over the previously installed dos???.zip to simulate updates)
- make sure readme.txt & whatsnew.txt are for the current version
- run all executables in /bin/go32v2 (no params)
- make cycle with newly installed binaries and sources
- run testsuite
- open the installed hello.pp in IDE
- make a minor change in the demo in IDE & save it
- view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
- compile the demo file in IDE
- run the demo within the IDE (debugger)
- Test the OS/2 release
- os2???.zip installation
- os2???full.zip installation (over the previously installed os2???.zip to simulate updates)
- make sure readme.txt & whatsnew.txt are for the current version
- run all executables in /bin/os2 (no params)
- make cycle with newly installed binaries and sources
- run testsuite
- open the installed hello.pp in IDE
- make a minor change in the demo in IDE & save it
- view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
- compile the demo file in IDE
- run the demo within the IDE (debugger) (not supported)
- Test the Win32 release
- Run installer
- make sure readme.txt & whatsnew.txt are for the current version
- run all executables in /bin/win32 (without parameters)
- make cycle with newly installed binaries and sources
- run testsuite
- open the installed hello.pp in IDE
- make a minor change in the demo in IDE & save it
- view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
- compile the demo file in IDE
- run the demo within the IDE (debugger)
- Test release for i386-freebsd
- Test release for i386-linux
- tar
- deb
- rpm
- Test release for powerpc-linux
- tar
- Test release for powerpc-macosx
- .dmg package
- Test release for i386-macosx
- .dmg package
- Test release for powerpc-macos
- Test release for powerpc-morphos
- Test release for powerpc-amiga
- Test release for i386-netware
- Test release for i386-netwlibc
- Test release for sparc-linux
- tar
- Test release for arm-linux
- tar
- Test release for x86_64-linux
- tar
- deb
- rpm
- Check PDF documentation (open all files)
- Check HTML documentation
- Check TXT documentation
- Read updated text files as distributed in release zip files
- readme.txt
- faq.txt
- whatsnew.txt
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
- New directories
. .
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)
- New directories
- Create new directories on ftp (/pub/fpc/dist/cpu-os-X.Y.Z)
- Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous RC (unless updated with new versions)
- Update path and file names in /install/macosx/*.info for the new release
- Add new section for the upcoming build in /install/debian/changelog
- Create new release branch in SVN
- Update version number in release branch to the X.Y.Z
- /compiler/version.pas
- Create and upload exported fpcbuild
- fpcbuild-%{version}.zip
- fpcbuild-%{version}.tar.gz
- Create and upload the documentation (Release engineering#Documentation building and LaTeX limits)
- 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 zip files for i386-go32v2
- basic zip (just binaries)
- full zip (including docs and sources)
- Create and upload zip files for i386-os2
- basic zip (just binaries)
- full zip (including docs and sources)
- Create and upload installer exe for i386-win32
- Create and upload tgz file for i386-freebsd
- Create and upload release for i386-linux (Release engineering#Linux)
- tar
- deb
- rpm
- Create and upload release for powerpc-linux (Release engineering#Linux)
- tar
- Create and upload release for powerpc-macosx
- .dmg package
- Create and upload release for i386-macosx
- .dmg package
- Create and upload release for powerpc-macos
- Create and upload release for powerpc-morphos
- Create and upload release for powerpc-amiga
- Create and upload zip files for i386-netware
- Create and upload zip files for i386-netwlibc
- Create and upload release for sparc-linux (Release engineering#Linux)
- tar
- Create and upload release for arm-linux (cross-release)
- tar - Daniel
- Create and upload release for x86_64-linux (Release engineering#Linux)
- tar
- deb
- rpm
- Test the GO32v2 release
- dos???.zip installation
- dos???full.zip installation (over the previously installed dos???.zip to simulate updates)
- make sure readme.txt & whatsnew.txt are for the current version
- run all executables in /bin/go32v2 (no params)
- make cycle with newly installed binaries and sources
- run testsuite
- open the installed hello.pp in IDE
- make a minor change in the demo in IDE & save it
- view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
- compile the demo file in IDE
- run the demo within the IDE (debugger) (debugging in IDE currently not available/working)
- Test the OS/2 release
- os2???.zip installation
- os2???full.zip installation (over the previously installed os2???.zip to simulate updates)
- make sure readme.txt & whatsnew.txt are for the current version
- run all executables in /bin/os2 (no params)
- make cycle with newly installed binaries and sources
- run testsuite
- open the installed hello.pp in IDE
- make a minor change in the demo in IDE & save it
- view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
- compile the demo file in IDE
- run the demo within the IDE (debugger) (not supported)
- Test the Win32 release
- Run installer
- make sure readme.txt & whatsnew.txt are for the current version
- run all executables in /bin/win32 (without parameters)
- make cycle with newly installed binaries and sources
- run testsuite
- open the installed hello.pp in IDE
- make a minor change in the demo in IDE & save it
- view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
- compile the demo file in IDE
- run the demo within the IDE (debugger)
- Test release for i386-freebsd
- Test release for i386-linux
- tar
- deb
- rpm
- Test release for powerpc-linux
- tar
- Test release for powerpc-macosx
- .dmg package
- Test release for i386-macosx
- .dmg package
- Test release for powerpc-macos
- Test release for powerpc-morphos
- Test release for powerpc-amiga
- Test release for i386-netware
- Test release for i386-netwlibc
- Test release for sparc-linux
- tar
- Test release for arm-linux
- tar
- Test release for x86_64-linux
- tar
- deb
- rpm
- Check PDF documentation (open all files)
- Check HTML documentation
- Check TXT documentation
- Read updated text files as distributed in release zip files
- readme.txt
- faq.txt
- whatsnew.txt
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