issie


Contributing

Branching

  • Create a feature branch in git.
  • Fork and clone locally.

Style Guidelines

Testing

Testing is done in the tests libraries using Expecto which is able to load in any testing framework you may need, but is strongly encouraged to keep things consistent and use Expecto tests and FsCheck for any property-based testing.

  • Add test cases where needed.
  • Tests are run as part of the build process, please ensure they pass.
  • Note that pure F# should be tested - GUI cannot easily be tested.

Documentation

Documentation is built dynamically from F# script files and markdown files using FSharp.Formatting. The Reference documentation is dynamically generated, and descriptions specified by using /// rather than // for comments, see the Formatting documentation for more information.

  • Add documentation as necessary, pages can be modified and created in the ./docsrc directory.
  • Documentation is built during the build process.
  • Consider adding examples if adding new features.
  • Markdown Syntax

Building

  • Build the solution with Visual Studio, build.cmd or build.sh.
  • All binaries will be in ./bin after being built.
  • When you're ready to commit the code use `build.cmd/sh -t "Release". This will clean up directories, stage, and build everything for release. Once you've confirmed it looks good, commit to your branch and make your PR.
  • Please note in order to build the Linux images you must have Docker installed.

Releasing

  • Create the distributables via the Dist build task, then create the delta and sig files with the CreateDiffs task. Upload all of the files related to the new version to the release.
Build process

Merging

  • Send a pull request and have it reviewed.