Release Protocol

This is a quick list of steps to publish new release:

  • Download latest test database and save it under SourceAFIS/Data/TestDatabase.
  • Run DatabaseAnalyzer to determine typical threshold. Update default threshold in SourceAFIS.Simple.AfisEngine. Also in java. Update score bending in FVC submission programs.
  • Build Mono version before Windows version:
    • Share folder SourceAFIS/Data/LinuxShare on Windows machine via FTP. Create FTP account sourceafis with no password on Windows machine. Grant read/write access to the shared folder. Create firewall exception.
    • Create file SourceAFIS/Data/WindowsFTP.txt in Linux checkout. The file contains single line with IP address of the Windows machine.
    • Follow Mono build instructions in the section below.
    • When the Mono build is over, folder SourceAFIS/Data/LinuxShare should contain Mono-based release ZIP. Disable FTP.
  • Pull and update working copy on Windows machine.
  • Run AfisBuilder:
    • Build AfisBuilder project in Release configuration.
    • Run AfisBuilder from within Visual Studio.
    • Check that no exception is reported.
    • Check that performance reported by DatabaseAnalyzer is OK.
  • Commit source changes introduced automatically by AfisBuilder.
  • Find ZIP package in AfisBuilder/bin/Release and MSI package in AfisBuilder/bin/Release/msi and upload them to sourceforge file release area using SFTP client.
  • Go to sourceforge web-based file manager and set MSI package as default for Windows. Set ZIP package as default for all other platforms.
  • Archive release tag in Mercurial.
  • Update web content:
  • Update relevant forum threads.
  • Post update on Twitter.
  • Submit new release to Freecode.
  • Submit SourceAFIS-FVC-*.zip and SourceAFIS-FVCISO-*.zip from AfisBuilder/bin/Release folder v to FVC-onGoing.
  • Backup WordPress files and database.

Mono / Linux

Mono build works, but it produces limited ZIP package. Release of SourceAFIS instead integrates results of Mono build into results of Windows build to produce integrated package serving all users (see above instructions for Windows). These steps are used as part of building this integrated package, but they can be also used in isolation to build Mono-only package.

  • Pull and update latest sources.
  • Download latest test database and save it under SourceAFIS/Data/TestDatabase.
  • Update version number in SourceAFIS project.
  • Build AfisBuilder project in Release configuration.
  • Open command line, go to AfisBuilder/bin/Release, and execute ./AfisBuilder.
  • Check that no exception is reported.
  • Check that performance reported by DatabaseAnalyzer is OK.
  • Commit and push source changes introduced automatically by AfisBuilder.
  • Find ZIP package in AfisBuilder/bin/Release. Note that this ZIP package is less complete than the one on Windows.
  • The ZIP package will be also copied to SourceAFIS/Data/LinuxShare on Windows if FTP was configured correctly (see Windows section above).