Skip to content

Latest commit

 

History

History
69 lines (46 loc) · 2.13 KB

CONTRIBUTING.md

File metadata and controls

69 lines (46 loc) · 2.13 KB

Contributing to karma

Getting Started

To get started follow Building from source section of the README file.

Git tags and branches

Every release tag name will follow vX.Y.Z naming scheme, example: v0.1.0. All releases are tagged against the master branch.

Commit messages

Conventional Commits format is required for all commits.

Testing changes

To run included tests and linters run:

make test

Vendoring dependencies

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.

Javascript & CSS assets

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.

Running

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.