Clone the repo, and be sure to check out submodules:
$ git clone git@github.com:ocf/ocfweb.git
$ git submodule update --init
Either on supernova, or on your own staff VM, run make dev. The first time
will take a while, but future runs will be almost instant thanks to
pip-faster.
It will start listening on a deterministically random port (really, 8000 plus the last 3 digits of your user id) which is printed to you. You can then view the site in development.
Run make scss to build SCSS. You can also use make watch-scss to rebuild it
automatically when SCSS files change.
To run tests locally, run make test. Please don't push to master with
failing tests—Jenkins will refuse to deploy your code, and nobody will be able
to deploy until fixing it.
We use pre-commit to lint our code before commiting. While some of the rules might seem a little arbitrary, it helps keep the style consistent, and ensure annoying things like trailing whitespace don't creep in.
You can simply run pre-commit install to install the necessary git hooks;
once installed, pre-commit will run every time you commit.
Alternatively, if you'd rather not install any hooks, you can simply use make test as usual, which will also run the hooks.