Historical HowToRelease, Revision 23

Windows

Ingredients

To follow the instructions in this document you will need

  1. Packaging Bulk
    1. InnoSetup (ISSC.exe should be in your PATH for this)
    2. The latest EUPHORIA package that can translate the sources you want to release.
  2. For HTML Documentation
    1. New binary of creole or sources for creole version 868ec80ac220 (available at http://scm.openeuphoria.org/hg/creole/archive/868ec80ac220.zip)
    2. New binary of eudoc or sources for eudoc version eudoc-e26448c0ead1 (available at http://scm.openeuphoria.org/hg/eudoc/archive/8dcb5944551b.zip)
  3. Binaries
    1. UPX (Executable compressor utility) in your PATH
    2. Sources for EUPHORIA either by downloading from the site (http://scm.openeuphoria.org/hg/euphoria) or through Mercurial. On release this will have the tag. If you did a clone, and this does take several hours, then you can simply update to the version you are packaging.
    3. Some combination of pre-built libraries of the tip and compilers and all of the prebuilt binaries as well if no compiler.
  4. PDF Documentation
    1. New binary of eudoc or sources for eudoc version eudoc-e26448c0ead1 (available at http://scm.openeuphoria.org/hg/eudoc)
    2. PDFLatex or a prebuilt euphoria.pdf of the tip of EUPHORIA

Steps

Let EUDIR be your existing production path of 4.0.0 and CODIR be your checkout trunk path of the 4.0 branch or 4.1 (the main trunk). CODIR must contain no local changes. Use 'hg status' and ensure there is no output. Make sure that 'hg outgoing' produces no output.

  1. CREOLE
    1. Unpack your new creole distribution into some directory CREOLE.
    2. Run 'configure' and then 'wmake' in this directory.
    3. Copy CREOLE\build\creole.exe to EUDIR\bin.
  2. EUDOC
    1. Unpack your new eudoc distribution into some directory EUDOC
    2. Run 'configure and then 'wmake' in this directory
    3. Copy EUDOC\build\eudoc.exe to EUDIR\bin
  3. Copy EUDIR\bin\*.exe, *.a, *.lib to CODIR\bin. This step gives us the tools we cannot make without other sources.
  4. WATCOM Binaries
    1. Change directory to CODIR\source and run 'configure --eubin EUDIR\bin --build ..\build --align4 --noassert --final'. You may be use --use-binary-translator but you may need an already built translator of the exact same version of that in CODIR. Now, if you have spaces in the EUDIR, you must use tilde hacks. For example if you have EUPHORIA installed under "C:\Program Files" you will have to use "C:\PROGRA~1" or something similar for that portion of the path making up EUDIR.
    2. Run WATCOM 'wmake all' in CODIR\source to make new binaries
    3. Copy CODIR\build\*.exe and *.lib to CODIR\bin
  5. Documentation to do after WATCOM binaries are built.
    1. Run 'wmake htmldoc pdfdoc' to create the documentation.
  6. Quality Check ( can do simultaneously while creating documentation )
    1. Run 'wmake test' to ensure the tests work.
    2. Inspect the html documentation and PDF documentation. Search the links for the string 'BadSig' in a good text editor. If you find one, there is something wrong with the documentation formatting.
  7. MingW Binaries
    1. Use MinGW Shell to configure again.
    2. Run './configure --eubin EUDIR/bin --build ../build --align4 --final'
    3. Run 'make library debug-library' to create the MinGW library files
    4. Copy CODIR\build\*.a to CODIR\bin
  8. Packaging
    1. Use upx to compress all of the binary files. Run 'upx *.exe' in the CODIR/bin directory.
    2. Make a pristine copy of the latest files according to your repository in CODIR/packaging/win32. Change directory to CODIR/packaging/win32. If cleanbranch doesn't yet exist, run 'hg clone ../.. cleanbranch'. If it does exist from a previous attempt you can do 'hg pull -R cleanbranch'.
    3. Get to the correct version use 'hg update -R cleanbranch -r version number or tag name'
    4. Create euphoria-4.x.y.exe with './euphoria.iss' and choose build from the Menu.
    5. Create euphoria-ow-4.x.y.exe with './euphoria-ow.iss' and choose build from the Menu.

Tests

Create tickets as you see problems come up or write them in a document if you are testing offline. Look at the ChangeLog in CODIR\docs\release. The Change Log should tell you what has been fixed. Try these things out and make sure they really are fixed.

To really test this package you should:

  1. Uninstall your production EUPHORIA or use a computer that doesn't have it.
  2. Ensure that there are no stray environment variables, registry keys left laying around from the install. If they are please eliminate them.
  3. Install your package into the clean machine to an unconventional location try 'EUFORIA' or 'C:\YOU4EEAH' or paths with spaces 'C:\E U P H O R I A'. The EUPHORIA with WATCOM installer should refuse to allow you to install to a Path with spaces on account of WATCOM not working correctly with that configuration. The EUPHORIA only package will allow you to install and once installed Euphoria should run correctly when installed to a place with or without spaces.
  4. Use your start menu and open the items that are there. Make sure they open what they are supposed to.
  5. Use Explorer to run the demos. See how they react to your environment.
  6. Run some of your EUPHORIA programs and third party programs.
  7. Check the documentation:
    1. can you open the PDF documentation?
    2. can you open the local HTML documentation? Does the Javascript search Engine work?
      1. Can you search for 'find_all' and will it give you the two options? Does clicking on them take you to their definitions?
    3. Can you open the online documentation?
    4. Can you open the other online resources?
  8. Run the UNIT tests
  9. Uninstall. Check if there is anything left over from the install. Does it clean the environment or configuration files? Does it remove its Registry keys it created? Does it remove itself from the PATH? These are what a well behaving uninstaller should do.

Search



Quick Links

User menu

Not signed in.

Misc Menu