chanzuckerberg / shasta

[MOVED] Moved to paoloshasta/shasta. De novo assembly from Oxford Nanopore reads
Other
272 stars 59 forks source link

Post release cleanup #203

Closed bagashe closed 4 years ago

bagashe commented 4 years ago

Github Actions now run three builds per commit. I'm dropping build support for Ubuntu 16, Ubuntu 18 & macOS-10.14.

  1. Ubuntu-20-04
  2. Ubuntu-20-04-minimal (See below for details)
  3. macOS-10-15

Minimal mode

I'm introducing a minimal mode for Shasta. In this mode Shasta does not have the embedded HTTP server. The Install-Prerequisites-Ubuntu.sh script now supports a --minimal flag, which results in a leaner installation of packages, as it skips installing packages necessary only for the HTTP server. It also skips installing packages necessary for Python-C++ bindings.

Code cleanup

Since we were always building Shasta with embedded HTTP server, several #ifdef SHASTA_HTTP_SERVER guards were had ended up in the wrong place. So I needed to move around some code and do a very small refactor, in order to correctly build Shasta, both with and without the embedded HTTP server. Some of the HTML code generation is still part of the the minimal build because we need it to generate AssemblySummary.html.

On x86_64, SPOA is built with CPU dispatching. On aarch64, SPOA is built without CPU dispatching. This is no longer dependent on the version of Ubuntu.

I've updated the installation script to install only the boost packages that we need - libboost-system-dev, libboost-program-options-dev, libboost-chrono-dev, libboost-graph-dev.

Test Plan

  1. Built Shasta with HTTP Server support. Assembled E Coli genome and explored it in the server. Verified that it works as before.
  2. Built Shasta without HTTP Server support. Assembled E Coli genome and tried to explore it in the server. Verified failure with an error message saying exploreAccess isn't supported.