System.Data.SQLite
Release Procedures
Not logged in

Release Procedures

Follow these steps to prepare a new release of System.Data.SQLite. Unless otherwise noted, all steps need to be done in the order specified.

Build x86 & x64 Binaries

  1. The binaries for all supported architectures and platforms must be built using procedures very similar to those documented in the normal build procedures.
  2. Open a normal command prompt window with "cmd.exe".
  3. Change the current directory to "<root>\Setup".
  4. Enter the following commands to build all the x86 and x64 binaries:

    SET BUILD_FULL=1
    SET BUILD_DEBUG=1
    build_all.bat
  5. Make sure everything succeeds with no errors; the console output may be checked if any errors should occur.

Test x86 & x64 Binaries

  1. The binaries for all supported architectures and platforms must be tested using procedures very similar to those documented in the normal test procedures.
  2. Open a normal command prompt window with "cmd.exe".
  3. Change the current directory to "<root>\Setup".
  4. Enter the following commands to test all the x86 or x64 binaries, depending on the processor architecture of the current machine:

    SET TEST_DEBUG=1
    test_all.bat
  5. Make sure everything succeeds with no errors; the console output may be checked if any errors should occur.
  6. Locate a machine with a processor architecture different from the one tested in the previous step and then repeat all the previous steps.

Build Windows CE Binaries

  1. Open a normal command prompt window with "cmd.exe".
  2. Change the current directory to "<root>\Setup".
  3. Enter the following command to build all the binaries available for Windows CE:

    SET BUILD_FULL=1
    SET BUILD_DEBUG=1
    build_ce_200x.bat

    This assumes that Visual Studio 2005 and/or Visual Studio 2008, "Professional" edition or "better" and the bundled Pocket PC 2003 SDK are installed.
  4. Enter the following command to build all the binaries available for Windows Embedded Compact 2013:

    SET BUILD_FULL=1
    SET BUILD_DEBUG=1
    build_ce_2013.bat

    This assumes that Visual Studio 2012, "Professional" edition or "better" and the Windows Embedded Compact 2013 Toolkit are installed.
  5. Make sure everything succeeds with no errors; the console output may be checked if any errors should occur.

Test Windows CE Binaries via Automation

  1. Instead of testing the Windows CE binaries manually as described in the next section, the following steps may be used.
  2. Open a normal command prompt window with "cmd.exe".
  3. Change the current directory to "<root>\Setup".
  4. Enter the following command to test all the binaries available for Windows CE:

    SET TEST_DEBUG=1
    test_ce_200x.bat
  5. Make sure everything succeeds with no errors; the console output may be checked if any errors should occur.

Test Windows CE Binaries Manually

  1. If the Windows CE binaries were already tested using the automation described in the previous section, skip this section.
  2. Launch Visual Studio 2005, "Professional" edition or "better" with the bundled Pocket PC 2003 SDK. As of this writing, in January 2012, Visual Studio 2010 and later will not work as they do not include the necessary built-in support for Windows CE and the .NET Compact Framework.
  3. Open the "SQLite.NET.2008.sln" solution file in the "<root>" directory.
  4. Change the active solution configuration to "Debug".
  5. Change the active solution platform to "Pocket PC 2003 (ARMV4)".
  6. Right-click the "testce" project in the Solution Explorer window and select "Set as StartUp Project".
  7. Select "Start Debugging" from the "Debug" menu.
  8. If any rebuild prompts appear (e.g. "SQLite.Interop.CE.2008", "Would you like to build it?"), select "Yes".
  9. When prompted for the device type to deploy the application to, select the "Pocket PC 2003 SE Emulator" device.
  10. Make sure all that the tests pass (i.e. they emit "SUCCESS").

Build Mono Binaries

  1. Open a normal command prompt window with "cmd.exe".
  2. Change the current directory to "<root>\Setup".
  3. Enter the following command to build all the binaries available for Mono:

    SET BUILD_FULL=
    SET BUILD_DEBUG=1
    build_mono.bat
  4. Make sure everything succeeds with no errors; the console output may be checked if any errors should occur.

Update Documentation

  1. Update the "<root>\readme.htm" file with information about all the major changes since the last released version.
  2. Copy those changes to the "<root>\Doc\Extra\Provider\version.html" and "<root>\www\news.wiki" files, reformatting as necessary to fit with the existing document conventions.
  3. Change the current directory to "<root>\Doc".
  4. Enter the following command to update all documentation that is included from upstream (e.g. from the SQLite core library, etc):

    ..\Externals\Eagle\bin\EagleShell.exe -file sync.eagle --verbose
  5. Enter the following command to update the embedded SQLite core library virtual table documentation:

    tclsh.exe vtab.tcl

    This assumes that ActiveTcl version 8.4 or later has been installed using the default settings.
  6. Make sure everything downloads with no errors; the console output may be checked if any errors should occur.

Build Documentation

  1. Open a normal command prompt window with "cmd.exe".
  2. Change the current directory to "<root>\Doc".
  3. Enter the following command to build all the documentation in CHM format:

    tclsh.exe buildChm.tcl

    This assumes that ActiveTcl version 8.4 or later, the HTML Help Workshop, and NDoc3 have all been installed using the default settings.
  4. Make sure everything succeeds with no errors; the console output may be checked if any errors should occur.

Build Setup Release Packages

  1. Open a normal command prompt window with "cmd.exe".
  2. Change the current directory to "<root>\Setup".
  3. Enter the following commands to build all the setup packages for x86 and x64:

    SET BAKE_DEBUG=1
    bake_all.bat
  4. Make sure everything succeeds with no errors; the console output may be checked if any errors should occur.

Build x86 & x64 Binary Release Packages

  1. Open a normal command prompt window with "cmd.exe".
  2. Change the current directory to "<root>\Setup".
  3. Enter the following commands to build all the binary release packages for x86 and x64:

    SET RELEASE_DEBUG=1
    release_all.bat
  4. Make sure everything succeeds with no errors; the console output may be checked if any errors should occur.

Build x86 & x64 Static Binary Release Packages

  1. Open a normal command prompt window with "cmd.exe".
  2. Change the current directory to "<root>\Setup".
  3. Enter the following commands to build all the static binary release packages for x86 and x64:

    SET RELEASE_DEBUG=1
    release_static.bat
  4. Make sure everything succeeds with no errors; the console output may be checked if any errors should occur.

Build Windows CE Binary Release Packages

  1. Open a normal command prompt window with "cmd.exe".
  2. Change the current directory to "<root>\Setup".
  3. Enter the following commands to build all the binary release packages for Windows CE:

    SET RELEASE_DEBUG=1
    release_ce_200x.bat
  4. Enter the following commands to build all the binary release packages for Windows Embedded Compact 2013:

    SET RELEASE_DEBUG=1
    release_ce_2013.bat
  5. Make sure everything succeeds with no errors; the console output may be checked if any errors should occur.

Build Mono Release Packages

  1. Open a normal command prompt window with "cmd.exe".
  2. Change the current directory to "<root>\Setup".
  3. Enter the following commands to build all the Mono release packages:

    SET RELEASE_DEBUG=1
    release_mono.bat
  4. Make sure everything succeeds with no errors; the console output may be checked if any errors should occur.

Build Source Release Packages

  1. Open a normal command prompt window with "cmd.exe".
  2. Change the current directory to "<root>\Setup".
  3. Enter the following command to build the "standard" source release package:

    SET ARCHIVE_FULL=
    archive.bat
  4. Enter the following command to build the "full" source release package:

    SET ARCHIVE_FULL=1
    archive.bat
  5. Make sure everything succeeds with no errors; the console output may be checked if any errors should occur.

Verify All Release Packages

  1. Open a normal command prompt window with "cmd.exe".
  2. Change the current directory to "<root>\Setup".
  3. Enter the following command to build all the source release packages:

    ..\Externals\Eagle\bin\EagleShell.exe -file verify.eagle Output true

    This assumes that the Fossil, Inno Setup Unpacker, UnRAR, and UnZip binaries are available in the locations specified via the "FossilTool", "InnoUnpackTool", "UnRARTool", and "UnZipTool" environment variables, respectively.
  4. Make sure everything succeeds with no errors; the console output may be checked if any errors should occur.

    If errors are generated, the file "<root>\Setup\data\verify.lst" may need to be updated to account for the files that have been added and/or removed from the release archives since the previous release.

Build NuGet Packages

  1. Open a normal command prompt window with "cmd.exe".
  2. Change the current directory to "<root>\Setup".
  3. Enter the following command to build all the NuGet packages:

    build_nuget.bat

    This assumes that the NuGet binary is available somewhere along the PATH.
    Please refer to NuGet Documentation for further details.
  4. Make sure everything succeeds with no errors; the console output may be checked if any errors should occur.

Update Downloads Page

  1. Open a normal command prompt window with "cmd.exe".
  2. Change the current directory to "<root>\Setup".
  3. Replace the version numbers for the previous release in the local working copy of the downloads page with the new version numbers for System.Data.SQLite and the SQLite core.
  4. Enter the following command to update the sizes and hashes on the downloads page based on all the built release packages:

    tclsh.exe updateFileInfo.tcl

    This assumes that ActiveTcl version 8.4 or later has been installed using the default settings and that the Fossil binary is available somewhere along the PATH (i.e. for calculating the SHA1 hashes).
  5. Make sure everything succeeds with no errors; the console output may be checked if any errors should occur.

Publish Release

  1. Upload all the release packages to the web site.
  2. Commit pending source code changes to the Fossil repository.
  3. Tag the release in the Fossil repository.
  4. Push the NuGet packages.
    Please refer to NuGet Documentation for further details.
  5. Announce the release on the System.Data.SQLite mailing list.