Skip to content

Latest commit

 

History

History
57 lines (46 loc) · 2.43 KB

README.md

File metadata and controls

57 lines (46 loc) · 2.43 KB

Algorithms and Computability Labs

Lint Build

Our AaC groupwork repo

Prerequisites

  • make
  • some c++ compiler (just a reminder for myself 💀)
  • clang-tidy
    (Ubuntu: sudo apt install clang-tidy)
  • clang-format
    (Ubuntu: sudo apt install clang-format)
  • GNU parallel (optional)
    (Ubuntu: sudo apt install parallel)
    (NB: Not the moreutils version!)
  • graphviz (optional, but very recommended)
  • doxygen (optional)
    (Ubuntu: sudo apt install doxygen doxygen-latex)
  • latexmk (optional)
    (Ubuntu: sudo apt install latexmk texlive-science texlive-bibtex-extra texlive-latex-extra)
  • TeXstudio (optional)

Build

  • make 👍

  • If you prefer to see the guts of the build:
    make VERBOSE=1

Tests

  • make run-tests
    If they pass, the CI checks will accept too 👍

  • Again, if you prefer verbosity, you can do:
    make run-tests VERBOSE=1 TESTFLAGS="-sv high"

Lint

  • Run ./lint-helper.sh -c format and ./lint-helper.sh -c lint
    If they all say OKAY!, the CI checks will accept too 👍

  • You can also do ./lint-helper.sh -a all to try automatically fix formatting and linting issues
    beware: this will modify your code!

  • Sprinkle in some -j for a bit of parallelism if things start to feel a little sluggish

Deployment Script demo

Documentation

  • make docs
    will automatically generate ./docs/latex/refman.pdf and ./docs/html/index.html from the doxy comments
    It'd be nice if you could keep make docs final output as OKAY! as well, you only have to write some brief documentation for new function definitions
  • the CI also hosts the generated docs on gh pages
    it also uploads some other useful generated files, in the summary of the latest Build action