To get started follow Building from source
section of the README
file.
Every release tag name will follow vX.Y.Z
naming scheme, example: v0.1.0
.
All releases are tagged against the master
branch.
Conventional Commits format is required for all commits.
To run included tests and linters run:
make test
Go modules are used for managing dependecies. After adding new or removing exitsting depenencies please run
go mod tidy
to update go.mod
and go.sum
files.
UI is written using React, follow user guide for create-react-app to make changes to the UI code.
Some UI tests are using snapshots. After making changes that affect how existing components are rendered please run:
cd ui && npm test -- -u
to update all snapshots. Remember to commit those changes when making a pull request.
To build and start karma
from local branch see Running
section of the
README file.
When working with assets (templates, stylesheets and javascript files) DEBUG
make variable can be set, which will recompile binary assets in debug mode,
meaning that files from disk will be read instead of compiled in assets.
See go-bindata docs
for details. Example:
make DEBUG=true run
make DEBUG=true run-docker
Note that this is not the same as enabling debug mode for
the gin web framework which is used
internally, but enabling DEBUG
via this make variable will also enable gin
debug mode.
When running docker image via make run-docker
with DEBUG
make variable set
to true
volume mapping will be added (in read-only mode), so that karma
instance running inside the docker can read asset files from the sources
directory.