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
This commit is contained in:
Denis Vodopianov
2025-05-21 11:22:24 +02:00
committed by GitHub
parent b1b9151cd7
commit cefd2dab7a
25 changed files with 179 additions and 25 deletions
+34
View File
@@ -0,0 +1,34 @@
# Generated tool paths
tools_dir := $(shell cd $(dir $(lastword $(MAKEFILE_LIST))) && pwd)
src_dir := $(tools_dir)/src
# Due to a race condition, after initial call to `go tool` golang may report a wrong binary location pointing to the invalid `/tmp/go-buildXXX` directory
define compile_tool
$(shell \
(cd $(src_dir)/$(1) \
&& GOWORK=off go tool -n $(2) > /dev/null \
&& GOWORK=off go tool -n $(2)) | sed 's/^[[:space:]]*//g'; \
)
endef
# Tool: "bra"
bra = "$(call compile_tool,bra,github.com/unknwon/bra)"
# Tool: "cog"
cog = "$(call compile_tool,cog,github.com/grafana/cog/cmd/cli)"
# Tool: "cue"
cue = "$(call compile_tool,cue,cuelang.org/go/cmd/cue)"
# Tool: "golangci-lint"
golangci-lint = "$(call compile_tool,golangci-lint,github.com/golangci/golangci-lint/v2/cmd/golangci-lint)"
# Tool: "jb"
jb = "$(call compile_tool,jb,github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb)"
# Tool: "lefthook"
lefthook = "$(call compile_tool,lefthook,github.com/evilmartians/lefthook)"
# Tool: "swagger"
swagger = "$(call compile_tool,swagger,github.com/go-swagger/go-swagger/cmd/swagger)"