Files
grafana/.citools/README.md
T
Denis Vodopianov cefd2dab7a Chore: Detaching go tools from the main Grafana workspace (#104861)
* add script for tooling

* add to make

* not to forget

* reworked go tools

* add tool installation script

* adding readme

* updating readme

* updating readme

* cleanup install.sh and makefile

* update the readme file

* cleanup scripts

* switch variables.mk to lazy evaluation

* add tools ache to gitignore

* get rid of absolute path in hte Variables.mk file

* switch to reusable function for path generation

* add debug statements

* add create cache tool dir

* add debuig statements to make file

* drop tool cache

* fix race condition n ci

* fix race condition n ci

* cleanup workspace

* add lefthook.rc to codeowners

* copy .citools folder to docker image

* switch back to main branch of grafana-build

* Add .citools to the drone builder

* fix wording in generate.sh and README.md
2025-05-21 11:22:24 +02:00

1000 B

API

Adding and Upgrading Tools

To add a new tool, execute the installation script:

install.sh <tool>

Example

The following command will add lefthook to the tracked tools if it is not already installed, or update its version:

install.sh github.com/evilmartians/lefthook@v1.11.10

Behind the scenes, the script performs a few simple steps:

  • Creates a Go module under the .citools/src/<toolname> directory to track the tool version and its dependencies.
  • Creates a reference to the tool binary in the .citools/Variables.mk file.

Using Tools in the Makefile

Our Makefile imports .citools/Variables.mk, so you can call a tool binary using standard Make syntax.

Example

run:
    $(bra) run

Using Tracked Tools Without the Makefile

If you want to use a tool outside of the Makefile, you can locate the tool binary by executing the following command:

GOWORK=off go tool -n -modfile=<path_to_modfile> <toolname>