Skip to content

Ekatwikz/Algorithms-and-Computability

Repository files navigation

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

Releases

No releases published

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •  

Languages